聊天式交互改造(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:
lhl
2026-08-27 05:11:40 +08:00
parent 215c605650
commit 838a93720e
14 changed files with 1275 additions and 150 deletions
+13 -9
View File
@@ -22,7 +22,7 @@ Genesis 是一款 **Agent 开发实战赛赛道一作品**:以多 Agent 协作
## 效果总结(核心指标摘要)
- **测试**431 个单元/集成测试全绿,代码覆盖率 **99.15%**(红线 ≥99%
- **测试**522 个单元/集成测试全绿,代码覆盖率 **99.0%+**(红线 ≥99%
- **端到端**:真实 LLM 双语试运行通过(中文模板 + `--output-language zh` → 7 章;日文模板 → 7 章),程序化扫描确认正文无中日混杂
- **真实样本**:7 个脱敏样本(新规/追加改修/混合/自由记述等)驱动解析与生成验证
- **影响调查基线**:追加改修样本 total=16new=5 / modified=8 / deleted=3 / unchanged=50 / warnings=0
@@ -123,10 +123,10 @@ python scripts/run_trial.py `
**中文场景注意**:若规则文档(作成说明书/记入规则)仍为日文,`auto` 推导会倾向日文——请显式
`--output-language zh`,不要依赖 auto。
## Web 服务(交互界面,成果物 03
## Web 服务(聊天式交互,成果物 03
Genesis 提供 **FastAPI Web 服务 + 内嵌零构建前端**上传 → 解析确认 → 影响确认 → 生成 → QA → 预览/下载)
会话/文件/结果持久化到 SQLite(`data/server/`
Genesis 提供 **FastAPI Web 服务 + 内嵌零构建聊天前端**DeepSeek 式对话页面):用户用自然语言下达指令
后台自动驱动「解析 →(影响调查)→ 生成 → QA」整条工作流;影响调查完成时会先反问确认,确认后继续生成
```powershell
# 离线 Fake 引擎(无需 API key,适合演示)
@@ -136,11 +136,15 @@ python scripts/serve.py --fake
python scripts/serve.py
```
- 访问 `http://127.0.0.1:8000/` 使用页面;API 文档 `http://127.0.0.1:8000/docs`
- 主要端点:`POST /api/sessions``POST /api/sessions/{id}/files`multipart)、
`POST .../start-parse``POST .../confirm-parse``POST .../start-impact``POST .../confirm-impact`
`POST .../generate`body `{"output_language":"auto|zh|ja"}`)、`POST .../run-qa`
`GET .../result/preview|download|impact-report|qa-report`
- 访问 `http://127.0.0.1:8000/` 进入聊天页面;API 文档 `http://127.0.0.1:8000/docs`
- 聊天页面支持:📎 上传要件定义/模板/规则/既有系统 zip、自然语言指令(`生成概要设计书` / `用中文生成` /
`现在什么状态?` / `做影响调查` / `运行QA校验`)、影响确认反问(`确认,继续` / `打回`)、结果下载与预览
- 主要 API 端点:
- 会话/文件:`POST /api/sessions``POST /api/sessions/{id}/files`multiparttype=requirements/template/write_instruction/rules/existing_system
- 聊天驱动:`POST /api/chat/{id}/messages`body `{"content":"..."}`)、`GET /api/chat/{id}/messages`(历史)
- 分步端点(聊天底层复用):`POST .../start-parse``POST .../confirm-parse``POST .../start-impact`
`POST .../confirm-impact``POST .../generate`body `{"output_language":"auto|zh|ja"}`)、`POST .../run-qa`
- 结果:`GET .../result/preview|download|impact-report|qa-report`
- **既有系统**以 `.zip` 上传(追加/改修场景);不传则影响调查跳过
- 部署到公网后登记 `service_url`(格式 `http://<域名或公网IP>:<端口>`)供评审系统 B 阶段黑盒冒烟