Pin the chat live-quality combo: streaming bubble, markdown spacing, doc-task quality

Why: the shipped chat column showed nothing until a run finished, blew
up markdown spacing, and gutted long documents before the model saw
them.

Evidence: composite make test green over this combo (backend 16 pkgs
incl. new ctxasm/ingest tests, frontend 9, ui 23); headless E2E on the
mock backend confirmed live thinking/tool/text streaming and compact
list geometry.

Impact: pins frontend 616795b, ui 0689d72, backend fe4887b; task card
records results and remaining user-side acceptance on a real model.

Refs: feature/chat-live-quality task card.
This commit is contained in:
2026-09-30 09:58:17 +00:00
parent 8d07b0e4b3
commit de0e026aa2
4 changed files with 13 additions and 7 deletions
+10 -4
View File
@@ -1,16 +1,17 @@
# feature/chat-live-quality 任务卡
任务主记录:<PR 链接,task-finish 时填写>;状态:进行中;owner:weichen
任务主记录:<PR 链接,task-finish 时填写>;状态:已完成;owner:weichen
## 基线与授权
- 权威仓:ssh://git@git-ssh.u1680832.nyat.app:31411/weichen/Agent-System-Dev.git;目标分支:main;R0(initial_base_sha)= e5a1f6a091997fd1a458ae3d8d9856c55ed71daa
- 工作区:/home/weichen/projects/Agent-System-Dev-wt-feature-chat-live-quality(worktree);分支:feature/chat-live-quality
- 授权与交付终点:<本次允许的动作与终点;未授权事项写明>
- 授权与交付终点:用户报告三问题(排版差 / 无流式输出 / 纪要质量低)→ 修复并按 Agent 自主闭环建 PR 合入 main
## 目标与非目标
<预期结果、受影响入口/模块/契约;明确不做什么。>
- 目标:① 助手 Markdown 排版收紧(列表/表格/引用,消除 pre-wrap 空行);② run 进行中实时渲染思考/工具调用/正文流(live 占位气泡);③ 文档任务输出质量(附件注入预算、系统提示、docx 表格顺序、子代理上限)。
- 非目标:不做浏览器后端/可视化回归框架;不改事件契约(StreamEvent 不变);不做真实模型在线评测(质量杠杆以单测+无头验证覆盖)。
## 同步记录
@@ -21,5 +22,10 @@
## 结果与验证(完成后填写)
- 结果:
- frontend 616795b:live 占位气泡(liveToMessage 复用 AssistantMessage);修复 sendMessage 与 SSE 的竞态(POST 返回前到达的 thinking/tool/phase 被清空——旧代码隐疾,live 从未渲染所以未暴露);`.part-text` 去 pre-wrap + 全量 Markdown 排版规则;思考改为可折叠 details(流式展开、终态收进过程折叠);marked 关闭 breaks。
- ui 0689d72:`.doc-viewer` 排版归一(标题/列表/表格/引用与聊天列同尺度)。
- backend fe4887b:附件上限 16k→48k(settings `context.maxAttachmentChars`,按 rune 截断+可观测记录);注入附任务指引;内置画像 prompt 增加文档任务输出要求并支持内置行升级;子代理 300 字上限取消;budget.maxTokens 下发;docx 按文档顺序交错段落与表格(token 解码器)。
- 验证:
- 影响与剩余项:
- `make test`(组合):core ok;backend 16 包 ok(新增 ctxasm 截断/配置测试、docx 顺序断言);frontend vitest 9 通过;ui vitest 23 通过;deps ok。
- 无头 E2E(playwright-core + chrome-headless-shell,mock 后端 8788):流式期间 live-bar/思考面板展开/工具 chip/正文增量+光标均可见;终态过程折叠、live 收敛;列表项间距 2.1px、ol white-space normal、表格边框 1px。
- 影响与剩余项:真实模型下的纪要质量增益需用户侧验收(本环境无模型密钥);PDF 扫描件仍走显式失败(MinerU 远期档)。