聊天式交互改造(Web UI 升级)
- 前端由分步表单页升级为 DeepSeek 式聊天页(static/chat.html)
- 新增 chat 包:意图识别(intent.py)+ ChatAgent(agent.py)自动驱动
解析→影响→生成→QA 整条工作流,影响确认节点反问、错误分支兜底
- store.py 扩展 pending_intent 字段与 chat_messages 表
- app.py 新增 POST/GET /api/chat/{sid}/messages,GET / 返回聊天页
- README/design.md 同步聊天模式说明;测试 4 文件覆盖
- 全量 pytest 522 passed / 99.03%,覆盖率红线达标
This commit is contained in:
@@ -1871,3 +1871,20 @@ Document(注入后 Word 文档)
|
||||
- **与 api-design 的偏差(诚实标注)**:v1 采用**进程内同步执行**(非"异步启动+轮询");
|
||||
既有系统以 zip 上传;WebSocket 事件通道未实现(v1 范围外)。样本规模小,同步可接受。
|
||||
- 测试:`tests/test_server_store.py` / `test_server_service.py` / `test_server_api.py`(TestClient 全链路)
|
||||
|
||||
### 12.6 聊天式交互改造(2026-08,Web UI 升级)
|
||||
|
||||
将 Web 前端由分步表单页(`static/index.html`)升级为 **DeepSeek 式聊天页**(`static/chat.html`):
|
||||
用户用自然语言下达指令,后台 `ChatAgent` 自动驱动「解析 →(影响调查)→ 生成 → QA」整条工作流。
|
||||
|
||||
新增模块:
|
||||
- `src/genesis/chat/intent.py` — 意图识别:`INTENT_SCHEMA`(动作 = parse/impact/generate/qa/status/confirm/reject/unknown)
|
||||
与 `parse_intent_fake`(规则兜底)/ `parse_intent_llm`(真实模式,引擎 `chat_structured` 结构化抽取)
|
||||
- `src/genesis/chat/agent.py` — `ChatAgent.handle_message`:
|
||||
- 处于 `awaiting_impact_confirm` 时,将用户回复作为**确认节点**(确认/打回)处理
|
||||
- 否则解析意图并分发;`generate` 自动推进前置步骤(解析→确认→影响→反问),影响完成先反问、记住 pending 意图
|
||||
- 错误分支(解析/生成/QA/影响确认失败)均以友好回复兜底,绝不抛出未捕获异常
|
||||
- `store.py` 扩展:会话增 `pending_intent` 字段;新增 `chat_messages` 表与 `add_message`/`list_messages`
|
||||
- `app.py` 新增 `POST /api/chat/{sid}/messages`、`GET /api/chat/{sid}/messages`;`GET /` 改为返回聊天页
|
||||
- 测试:`tests/test_chat_intent.py` / `tests/test_chat_agent.py` / `tests/test_server_chat_api.py`(TestClient 全链路)
|
||||
- 真实黑盒冒烟建议:用 `python scripts/serve.py` 部署后,从聊天页用中文下达「上传了文件,生成概要设计书」并确认影响即可走通全程。
|
||||
|
||||
Reference in New Issue
Block a user