Pin the final-reply compose across core, backend, and UI #149

Merged
weichen merged 9 commits from feature/final-reply-compose into main 2026-10-02 14:15:27 +00:00
6 changed files with 35 additions and 5 deletions
+28
View File
@@ -0,0 +1,28 @@
# feature/final-reply-compose 任务卡
任务主记录:<PR 链接,task-finish 时填写>;状态:进行中;owner:weichen
## 基线与授权
- 权威仓:ssh://git@git-ssh.u1680832.nyat.app:31411/weichen/Agent-System-Dev.git;目标分支:main;R0(initial_base_sha)= ad17b78fda8ffe206d2d0847dc49c361427ad5d2
- 工作区:/home/weichen/projects/Agent-System-Dev-wt-feature-final-reply-compose(worktree);分支:feature/final-reply-compose
- 授权与交付终点:实现终轮独立收尾并提 PR。合入由所有者执行。不改 agent-native。
## 目标与非目标
- 目标:终轮检查不再以用户口吻打回;用过工具的回合结束后,主模型另写一段直接回答用户的回复;交付物卡片在这轮结束、最终回复出现之后才显示;检查结果在过程区单独一行。
- 非目标:不改回传给模型的工具结果截断、上下文裁剪、重复调用提醒和日 token 预算。纯对话回合不经过收尾。
## 同步记录
| 节点 | sync_base_sha | tested_head_sha | checked_at |
|---|---|---|---|
| 启动 | ad17b78fda8ffe206d2d0847dc49c361427ad5d2 | ad17b78fda8ffe206d2d0847dc49c361427ad5d2 | 2026-10-02T13:23:29Z |
| 同步前验收 | ad17b78fda8ffe206d2d0847dc49c361427ad5d2 | c7932dd0a50732069e197bb95fff08ebb8669afe | 2026-10-02T13:43:37Z |
| 同步前验收 | ad17b78fda8ffe206d2d0847dc49c361427ad5d2 | 5072554b097043c8918da063f32f3867f3fcbcd7 | 2026-10-02T14:07:55Z |
## 结果与验证(完成后填写)
- 结果:Core 增加 finalizing 阶段、check 部件和 run.check。验证打回改为 system-reminder,证据按时间编号并以最后一次检查为准。runtime.composeFinal 默认开启,收尾失败时回落到草稿。前端运行中不投影交付物卡片,整理回复中作为阶段文案。收尾输出会去掉 think 块、工件编号和字节数。
- 验证:make test 通过(2026-10-02T14:06Z,worktree,frontend 13 文件 68 项、ui 11 文件 79 项)。浏览器复现 run_102f0c09ff32:阶段文案为「整理回复中」;过程区有「终轮检查通过」;最终回复单独成段,没有「您提到」、think 块、工件编号或字节数;版本发布.docx 卡片出现在这段回复之后。
- 影响与剩余项:task-sync 按文件名把同步行写进第一张卡片,本提交已改回本卡。合入顺序:Core #18,然后 Backend #49、UI #30、Frontend #36,最后 Dev #149。合入由所有者执行。
+3 -1
View File
@@ -190,11 +190,13 @@ Primary(`--primary` 反色)、Ghost(透明,hover 出表面)、Danger
助手消息在运行中按时间线逐行展开,终轮结束后折成一行。
- 运行中过程块展开,块头是中文阶段(思考中、正在编写、正在运行并计时、回复中),带 `mk-sweep`。
- 运行中过程块展开,块头是中文阶段(思考中、正在编写、正在运行并计时、回复中、整理回复中),带 `mk-sweep`。
对用户的解说按正文样式直接显示。查阅和搜索合并成一行;执行、写入、委派每次一条 ToolBlock:
编写参数时显示「编写中」和脚本尾部,运行时显示计时和输出尾部,结束后可展开看完整参数与结果。
终轮检查在过程区单独一行(通过,或未通过及原因),不写进给用户的回复。
- 终轮结束后,过程段收进 Collapsible,触发行为「已工作 X 分 Y 秒 · N 次工具调用 · N 个文件」。
用户在运行中手动折过的,结束后沿用这次选择。最终回复(终轮正文、交付物、错误)留在折叠行下面;
交付物卡片等到最终回复出来、这一轮结束后才出现,工作过程中不挂预览条。
若这次没有终轮正文,把最后一段解说提到折叠行下面,不把回复藏进过程里。
不在每一轮 `responding` 时来回折叠。同一轮同名工件只留最新一张,并注明更新次数。
- 文件卡片:图标、名称、「类型 · 大小」、右侧「预览」。正文里的 `art_` 编号若对得上工件,在正文后补一张卡片;