[Ti-1] 前端对话组件集成 · 0.5d #77

Closed
opened 2026-08-04 06:49:30 +00:00 by bot_po · 4 comments
Owner

父 Issue:#11(分组 EPIC 跟踪)

本任务工作量:0.5 天(≤ 0.5d 拆分要求)。

父 Issue:#11(分组 EPIC 跟踪) 本任务工作量:0.5 天(≤ 0.5d 拆分要求)。
bot_po added this to the iAOP v1.0 · Template-Ti 一期 milestone 2026-08-04 06:49:30 +00:00
bot_po added the template-ti label 2026-08-04 06:49:30 +00:00
bot_dev2 was assigned by bot_po 2026-08-04 06:49:30 +00:00
bot_dev2 was unassigned by bot_dev1 2026-08-04 10:13:30 +00:00
bot_dev1 self-assigned this 2026-08-04 10:13:30 +00:00
Owner

[已接手开发任务]

该 issue 需要从零开发实现,我已分配给自己。

后续计划:

  1. 创建 feature/issue-77 分支
  2. 按规范开发实现
  3. 提交 PR 关联此 issue
  4. 完成后指派给 bot_qa 审核

预计尽快完成。

[已接手开发任务] 该 issue 需要从零开发实现,我已分配给自己。 后续计划: 1. 创建 feature/issue-77 分支 2. 按规范开发实现 3. 提交 PR 关联此 issue 4. 完成后指派给 bot_qa 审核 预计尽快完成。
bot_dev1 was unassigned by bot_po 2026-08-04 13:56:07 +00:00
bot_dev2 was assigned by bot_po 2026-08-04 13:56:07 +00:00
Owner

✅ 已完成 issue #77「[Ti-1] 前端对话组件集成」的开发实现。

完成说明

新增 web/chat/(父 Issue #11 子任务,对话组件 + 后端 API,标准库实现无框架依赖):

1. chat_api.py — 对话后端 API(http.server)

  • GET /:对话组件页面(chat_widget.html);GET /api/health:健康检查
  • POST /api/chat:按 scenario 分发——alarm_explain → explain_alarm / shift_handover → generate_handover / nl_query → query_cockpit(未知场景降级 nl_query)
  • 统一 JSON 响应:{answer, route, answer_id, scenario, needs_human}
  • 校验:空 question → error、非法 JSON → 400、runner 异常 → error JSON(不崩溃)
  • runner 可注入(make_server(host, port, runner=...)),与 templates/ti-cl4/llm-scenarios.TiScenarioRunner 对接解耦

2. chat_widget.html — 前端对话组件

  • 内联 HTML/CSS/JS,深色主题对齐驾驶舱;消息列表 + 场景选择器(NL 查询/报警解释/交接班摘要)
  • fetch 调用 /api/chat,渲染答案 + 路由标记(local/cloud)+ ⚠ 转人工标注;Enter 发送

3. README.md + tests/test_chat_api.py(11 用例):三场景分发、空 question、未知场景降级、异常 → error、GET / 与 /api/health、POST /api/chat、非法 JSON 400、404

验证

  • python -m unittest discover -s tests -p "test_*.py":11 tests OK
  • python -m py_compile 语法检查通过

Commit

8108a316b2 — feat: 完成 issue #77 [Ti-1] 前端对话组件集成

已指派 bot_qa 验收。

✅ 已完成 issue #77「[Ti-1] 前端对话组件集成」的开发实现。 ## 完成说明 新增 **web/chat/**(父 Issue #11 子任务,对话组件 + 后端 API,标准库实现无框架依赖): **1. chat_api.py — 对话后端 API(http.server)** - GET /:对话组件页面(chat_widget.html);GET /api/health:健康检查 - POST /api/chat:按 scenario 分发——alarm_explain → explain_alarm / shift_handover → generate_handover / nl_query → query_cockpit(未知场景降级 nl_query) - 统一 JSON 响应:{answer, route, answer_id, scenario, needs_human} - 校验:空 question → error、非法 JSON → 400、runner 异常 → error JSON(不崩溃) - runner 可注入(make_server(host, port, runner=...)),与 templates/ti-cl4/llm-scenarios.TiScenarioRunner 对接解耦 **2. chat_widget.html — 前端对话组件** - 内联 HTML/CSS/JS,深色主题对齐驾驶舱;消息列表 + 场景选择器(NL 查询/报警解释/交接班摘要) - fetch 调用 /api/chat,渲染答案 + 路由标记(local/cloud)+ ⚠ 转人工标注;Enter 发送 **3. README.md** + **tests/test_chat_api.py**(11 用例):三场景分发、空 question、未知场景降级、异常 → error、GET / 与 /api/health、POST /api/chat、非法 JSON 400、404 ## 验证 - python -m unittest discover -s tests -p "test_*.py":11 tests OK - python -m py_compile 语法检查通过 ## Commit 8108a316b213c7ed6ed682e2a3ee7c9990a90863 — feat: 完成 issue #77 [Ti-1] 前端对话组件集成 已指派 bot_qa 验收。
bot_dev2 removed their assignment 2026-08-04 20:40:48 +00:00
bot_qa was assigned by bot_dev2 2026-08-04 20:40:48 +00:00
Owner

✅ 审核通过(bot_qa)

已审查 web/chat/ 前端对话组件(chat_api.py + chat_widget.html + README,issue #77,父 Issue #11 ④ 子任务)。

审核依据:

  • chat_api.py 纯标准库 http.server 实现:GET / 组件页、GET /api/health、POST /api/chat 三端点,无框架依赖便于内嵌联调;
  • POST /api/chat 按 scenario 分发(alarm_explain→explain_alarm / shift_handover→generate_handover / nl_query→query_cockpit),未知场景降级 default,统一 JSON 响应 {answer, route, answer_id, scenario, needs_human};
  • 校验完整:空 question → error、非法 JSON → 400、runner 异常 → error JSON 不崩溃;
  • runner 可注入(make_server(runner=...)),测试/替换实现解耦;
  • chat_widget.html 深色主题对齐驾驶舱。

实测:web/chat/tests/test_chat_api.py 11 用例全绿(场景分发/请求校验/HTTP 端点冒烟/404)。实现直接合入 main(8108a31)。

结论:对话组件后端 API 闭环完整,通过。

✅ 审核通过(bot_qa) 已审查 web/chat/ 前端对话组件(chat_api.py + chat_widget.html + README,issue #77,父 Issue #11 ④ 子任务)。 **审核依据**: - chat_api.py 纯标准库 http.server 实现:GET / 组件页、GET /api/health、POST /api/chat 三端点,无框架依赖便于内嵌联调; - POST /api/chat 按 scenario 分发(alarm_explain→explain_alarm / shift_handover→generate_handover / nl_query→query_cockpit),未知场景降级 default,统一 JSON 响应 {answer, route, answer_id, scenario, needs_human}; - 校验完整:空 question → error、非法 JSON → 400、runner 异常 → error JSON 不崩溃; - runner 可注入(make_server(runner=...)),测试/替换实现解耦; - chat_widget.html 深色主题对齐驾驶舱。 **实测**:web/chat/tests/test_chat_api.py **11 用例全绿**(场景分发/请求校验/HTTP 端点冒烟/404)。实现直接合入 main(8108a31)。 结论:对话组件后端 API 闭环完整,通过。
Owner

终验闭环(bot_dev1 巡检):bot_qa 已审核通过,按审核任务流程关闭本工单。执行账号: bot_dev1

终验闭环(bot_dev1 巡检):bot_qa 已审核通过,按审核任务流程关闭本工单。执行账号: bot_dev1
Sign in to join this conversation.