Merge pull request 'Deliver part-order fidelity, artifact downloads, file management, and the settings shell fix' (#71) from feature/chat-order-artifact-files into main
ci / test (push) Failing after 31s
ci / test (push) Failing after 31s
This commit was merged in pull request #71.
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
# feature/chat-order-artifact-files 任务卡
|
||||
|
||||
任务主记录:Dev PR(本卡随分支合入,PR 见 Git 远端 feature/chat-order-artifact-files → main);状态:已完成;owner:weichen
|
||||
|
||||
## 基线与授权
|
||||
|
||||
- 权威仓:ssh://git@git-ssh.u1680832.nyat.app:31411/weichen/Agent-System-Dev.git;目标分支:main;R0(initial_base_sha)= ffda6d33eabb23c9be5bac221529367d771c5f7b
|
||||
- 工作区:/home/weichen/projects/Agent-System-Dev-wt-feature-chat-order-artifact-files(worktree);分支:feature/chat-order-artifact-files
|
||||
- 授权与交付终点:用户四项反馈的修复(消息顺序保真 / 下载通道 / 工件文件管理 / 设置界面布局),实现+验证+PR 合入 main + gitlink 推进 + 卡闭合。
|
||||
|
||||
## 目标与非目标
|
||||
|
||||
用户反馈(2026-09-30,附用户设置界面截图):
|
||||
1. 会议纪要 docx 任务中"工具调用的位置和实际的位置不符,助手输出显示的顺序没有保持"——根因:Conversation.tsx 按 `p.process` 布尔把一条消息的 parts 二分重排(过程全前置);live 流式同病(固定模板序)且 live 期间无工件 chip。
|
||||
2. "整理好的内容,没有下载通道"——后端无 Content-Disposition/MIME 回退;chip 无下载;DocViewer 弹层套弹层。
|
||||
3. "工作区中的文件应该能浏览、显示、下载、回看"——ArtifactsPanel 仅 图标+名+kind 裸列表;收件箱结果卡 doc-ref 点不开(无 docBridge)。
|
||||
4. "用户设置界面设计有问题"——根因:SettingsShell 根挂 `.modal.ui-settings-shell`,宿主 styles.css 后加载以同特异性覆盖(column/860px)压坏左右布局;设置行未用 @ui SettingRow;保存按钮随内容滚动。
|
||||
|
||||
非目标:docx 在线预览(无新依赖原则,下载为主);新增 fs 类工具/工作区目录("工作区文件"即 artifacts);live 事件协议改动。
|
||||
|
||||
## 修复要点(四仓)
|
||||
|
||||
- modules/ui:`.modal.ui-settings-shell` 复合选择器(0,2,0)免疫加载顺序;SettingsShell 增 `actions` 固定底栏 + `.ui-settings-scroll` 滚动区;ActivityCardView/InboxList 透传 `docBridge`;Icon 增 file/image/download/trash/eye;SettingRow label/desc 放宽 ReactNode。
|
||||
- modules/backend:`artifactContent` 始终回 Content-Disposition(默认 inline,`?download=1` → attachment;RFC 5987 filename* + ASCII 兜底);`contentTypeOf` 增 Office/PDF/CSV/MD 扩展名显式表 + mime.TypeByExtension 回退。
|
||||
- modules/frontend:`messageparts.ts` 新增 `groupParts`(连续过程部件就地聚块,渲染顺序=落库顺序)+ humanSize/artifactIcon;AssistantMessage 按块序渲染;LiveState.parts 按事件到达序维护(含 artifact.created 即时上 chip);工件 chip = 图标+打开+下载;ArtifactsPanel = 搜索+kind 过滤+上传+行内 预览/下载/删除(确认);DocViewer 单层 OverlayHost(pdf iframe / csv·json 等宽 / 二进制信息卡+下载 CTA);SettingsModal 迁移 SettingRow+actions 底栏;InboxList 接 docBridge。
|
||||
- modules/documents:本卡 + 提案补记(渲染顺序=落库顺序 约定)。
|
||||
|
||||
## 同步记录
|
||||
|
||||
| 节点 | sync_base_sha | tested_head_sha | checked_at |
|
||||
|---|---|---|---|
|
||||
| 启动 | ffda6d33eabb23c9be5bac221529367d771c5f7b | ffda6d33eabb23c9be5bac221529367d771c5f7b | 2026-09-30T14:54:07Z |
|
||||
| 同步前验收 | ffda6d33eabb23c9be5bac221529367d771c5f7b | 76e255342b24e34f1b344784c87f5b076c6b8557 | 2026-09-30T15:18:27Z |
|
||||
| 合入前(子仓变基至 cross-session-reading 合入后的 main 并全套重验) | ca84888… | e6fdc5b… | 2026-09-30T15:35:00Z |
|
||||
|
||||
## 结果与验证
|
||||
|
||||
- 结果(四子仓 PR 均已合入 main;Dev gitlink 推进):
|
||||
- UI https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-UI/pulls/14(merged)
|
||||
- Backend https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Backend/pulls/19(merged)
|
||||
- Frontend https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Frontend/pulls/15(merged)
|
||||
- Documents https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Documents/pulls/22(merged)
|
||||
- 验证:
|
||||
- `make precheck`(READY,R0=ffda6d33ea);`make task-sync`(synced,15:18:27Z)。
|
||||
- `make test`(Dev 组合,gitlink 推进后):core ok、backend 全包 ok(含 disposition/MIME 新测)、frontend vitest 20 passed、ui tsc + 37 passed、agent-command ok。
|
||||
- 头链(Playwright + 缓存 Chromium,mock 后端 + SQLite 直插交错 parts 探针消息)12/12:
|
||||
消息 DOM 序 = text → process-collapse(含 knowledge_search) → text → artifact-chip;
|
||||
设置外壳 computed flex-direction=row、侧栏/主区并排、actions 底栏含"保存设置";
|
||||
`?download=1` → attachment + RFC5987 中文名、默认 inline;工件面板 工具栏/过滤/上传/行内下载齐全。
|
||||
- 影响与剩余项:
|
||||
- docx 在线预览未做(下载为主;pdf 已内嵌预览)——如需 docx 预览需引入新依赖,另行裁定。
|
||||
- live 流式顺序为到达序投影,与顺序执行的工具调用一致;并行工具执行的顺序语义需后端先定义。
|
||||
- Mimosa 钩子在个别 commit 报 scanner_no_output(按兼容策略继续);未宣称安全结论。
|
||||
| 同步前验收 | 816b40e8f74d27218c2ed321dc88007fd298bed3 | 26230bcea061c71f71ff7c124b3a91d7a0656140 | 2026-09-30T15:27:57Z |
|
||||
+1
-1
Submodule modules/backend updated: cb7f79d652...239cf76461
+1
-1
Submodule modules/documents updated: bf0988b2b2...5882448237
+1
-1
Submodule modules/frontend updated: 9c87953877...fb219e04a3
+1
-1
Submodule modules/ui updated: c7564791f8...efa6c69248
Reference in New Issue
Block a user