diff --git a/.task/feature-final-reply-compose.md b/.task/feature-final-reply-compose.md new file mode 100644 index 00000000..dd1fb2cb --- /dev/null +++ b/.task/feature-final-reply-compose.md @@ -0,0 +1,28 @@ +# feature/final-reply-compose 任务卡 + +任务主记录:;状态:进行中;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。合入由所有者执行。 diff --git a/DESIGN.md b/DESIGN.md index 11045b46..50f9ade2 100644 --- a/DESIGN.md +++ b/DESIGN.md @@ -190,11 +190,13 @@ Primary(`--primary` 反色)、Ghost(透明,hover 出表面)、Danger 助手消息在运行中按时间线逐行展开,终轮结束后折成一行。 -- 运行中过程块展开,块头是中文阶段(思考中、正在编写、正在运行并计时、回复中),带 `mk-sweep`。 +- 运行中过程块展开,块头是中文阶段(思考中、正在编写、正在运行并计时、回复中、整理回复中),带 `mk-sweep`。 对用户的解说按正文样式直接显示。查阅和搜索合并成一行;执行、写入、委派每次一条 ToolBlock: 编写参数时显示「编写中」和脚本尾部,运行时显示计时和输出尾部,结束后可展开看完整参数与结果。 + 终轮检查在过程区单独一行(通过,或未通过及原因),不写进给用户的回复。 - 终轮结束后,过程段收进 Collapsible,触发行为「已工作 X 分 Y 秒 · N 次工具调用 · N 个文件」。 用户在运行中手动折过的,结束后沿用这次选择。最终回复(终轮正文、交付物、错误)留在折叠行下面; + 交付物卡片等到最终回复出来、这一轮结束后才出现,工作过程中不挂预览条。 若这次没有终轮正文,把最后一段解说提到折叠行下面,不把回复藏进过程里。 不在每一轮 `responding` 时来回折叠。同一轮同名工件只留最新一张,并注明更新次数。 - 文件卡片:图标、名称、「类型 · 大小」、右侧「预览」。正文里的 `art_` 编号若对得上工件,在正文后补一张卡片; diff --git a/modules/backend b/modules/backend index cd74434b..46d5f7b6 160000 --- a/modules/backend +++ b/modules/backend @@ -1 +1 @@ -Subproject commit cd74434b4f0f1226042e261737e7ca21ca0807ca +Subproject commit 46d5f7b66830167ccf00b5d6d9cd0e73ad62e47d diff --git a/modules/core b/modules/core index f08a4a90..7c66075e 160000 --- a/modules/core +++ b/modules/core @@ -1 +1 @@ -Subproject commit f08a4a90c63525401671231e262fd6c45e9c1bff +Subproject commit 7c66075ee9caa9f990d6d6ad7619f7af8d9040e8 diff --git a/modules/frontend b/modules/frontend index eca1665d..794c3e16 160000 --- a/modules/frontend +++ b/modules/frontend @@ -1 +1 @@ -Subproject commit eca1665d9157d14461518fb2cf5a7d8d6fb5a489 +Subproject commit 794c3e165721d374948fa5d7fde843f0c92105a1 diff --git a/modules/ui b/modules/ui index d0e82805..b4a4fc1b 160000 --- a/modules/ui +++ b/modules/ui @@ -1 +1 @@ -Subproject commit d0e828051b73638138ba39adc052c160d18a69b3 +Subproject commit b4a4fc1b5f4d9aaefe142d44aae015cc73f97ab6