Approval-Correlation: 0543bb321a84cb936bc0ac4988615840
Plan-SHA256: 437a85f68d151ed4db780511812834041cfec5e7cf021fb77e238d5a6196e6fb
Base-SHA: 256be64ac7
2.4 KiB
2.4 KiB
프로젝트 스캐폴드 요구사항
범위
Python 3.11 이상과 표준 pyproject.toml을 사용하는 Textual 기반 TUI 초기 스캐폴드를 제공한다.
기능 요구사항
chat-tui콘솔 명령과python -m chat_tui실행을 지원한다.- Textual 화면에 사용자 입력창과 대화 영역을 표시한다.
- 사용자가 입력을 제출하면 입력값을
trim한 뒤 비어 있지 않은 사용자 메시지를 제출 순서대로 대화 영역에 누적한다. - 유효한 사용자 메시지 제출 후 고정된 다섯 개 응답 목록에서 표준 난수 선택으로 하나의 응답을 결정한다.
- 선택한 응답을 해당 사용자 메시지 바로 뒤에 별도의 대화 항목으로 표시한다.
- 유효한 입력 처리 뒤 입력창을 비운다.
- 빈 입력 또는 공백만 포함한 입력은 사용자 메시지와 응답을 대화 기록에 추가하지 않는다.
Escape또는Ctrl+Q로 애플리케이션 종료를 요청할 수 있다.- 입력 누적, 응답 선택과 표시, 공백 입력 무시, 입력창 초기화 및 종료 동작을 자동 테스트로 검증한다.
고정 응답 목록
응답은 다음 다섯 문구 중 하나를 사용한다.
- 안녕하세요! 무엇을 도와드릴까요?
- 그것은 제가 처리하기 불가능합니다.
- 맡겨만 주세요.
- 지금 처리 중입니다.
- 작업을 완료하였습니다.
응답 선택에는 표준 라이브러리의 난수 선택 기능을 사용하며, 외부 서비스나 LLM은 호출하지 않는다.
제외 범위
LLM 연동, 외부 API 호출, 인증, 영구 대화 기록 저장, 사용자별 응답 기록, 응답 목록 편집, 사용자 입력에 따른 맞춤형 응답 생성은 구현하지 않는다.
수용 기준
- Python 3.11 이상 환경에서 의존성을 설치할 수 있다.
- TUI가 실행되고 입력창에 포커스가 배치된다.
- 두 번 이상 제출한 입력이
trim된 값으로 제출 순서대로 표시된다. - 각 유효한 사용자 메시지 바로 뒤에 고정 목록에서 선택된 응답이 표시된다.
- 자동 테스트에서 난수 선택 결과를 제어하고 선택 호출 및 표시 순서를 검증할 수 있다.
- 빈 입력과 공백만 포함한 입력은 사용자 메시지, 응답 및 응답 선택 결과를 남기지 않는다.
- 유효한 입력 제출 뒤 입력창이 비워진다.
Escape및Ctrl+Q가 애플리케이션 종료를 요청한다.