From 457f3169ca894b3559435e870d0dfd3cda288874 Mon Sep 17 00:00:00 2001 From: weichen Date: Wed, 30 Sep 2026 16:17:43 +0000 Subject: [PATCH 1/5] Record the task card for feature-file-preview-caps --- .task/feature-file-preview-caps.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 .task/feature-file-preview-caps.md diff --git a/.task/feature-file-preview-caps.md b/.task/feature-file-preview-caps.md new file mode 100644 index 00000000..d5b33b28 --- /dev/null +++ b/.task/feature-file-preview-caps.md @@ -0,0 +1,25 @@ +# feature/file-preview-caps 任务卡 + +任务主记录:;状态:进行中;owner:weichen + +## 基线与授权 + +- 权威仓:ssh://git@git-ssh.u1680832.nyat.app:31411/weichen/Agent-System-Dev.git;目标分支:main;R0(initial_base_sha)= 548ca2b3f1326f298b44cd4b6c94ef7e9d7bdaf8 +- 工作区:/home/weichen/projects/Agent-System-Dev-wt-feature-file-preview-caps(worktree);分支:feature/file-preview-caps +- 授权与交付终点:<本次允许的动作与终点;未授权事项写明> + +## 目标与非目标 + +<预期结果、受影响入口/模块/契约;明确不做什么。> + +## 同步记录 + +| 节点 | sync_base_sha | tested_head_sha | checked_at | +|---|---|---|---| +| 启动 | 548ca2b3f1326f298b44cd4b6c94ef7e9d7bdaf8 | 548ca2b3f1326f298b44cd4b6c94ef7e9d7bdaf8 | 2026-09-30T16:17:43Z | + +## 结果与验证(完成后填写) + +- 结果: +- 验证: +- 影响与剩余项: From 8d0b80adacd33c668d1116e2ef59f8b7f744b979 Mon Sep 17 00:00:00 2001 From: weichen Date: Wed, 30 Sep 2026 17:00:46 +0000 Subject: [PATCH 2/5] Fill the task card results with verification evidence --- .task/feature-file-preview-caps.md | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/.task/feature-file-preview-caps.md b/.task/feature-file-preview-caps.md index d5b33b28..90e2ec8c 100644 --- a/.task/feature-file-preview-caps.md +++ b/.task/feature-file-preview-caps.md @@ -6,11 +6,16 @@ - 权威仓:ssh://git@git-ssh.u1680832.nyat.app:31411/weichen/Agent-System-Dev.git;目标分支:main;R0(initial_base_sha)= 548ca2b3f1326f298b44cd4b6c94ef7e9d7bdaf8 - 工作区:/home/weichen/projects/Agent-System-Dev-wt-feature-file-preview-caps(worktree);分支:feature/file-preview-caps -- 授权与交付终点:<本次允许的动作与终点;未授权事项写明> +- 授权与交付终点:实施已裁定的预览方案(D1 引入 Office 依赖、D2 pptx 全保真、D3 OG 卡+可选内嵌、D4 右栏+弹窗双落位、D5 fs 仅配置开关)+ 删除入口回退(保留能力)+ fs 工具族实现不提供;实现+验证+PR 合入 main+gitlink 推进+卡闭合。 ## 目标与非目标 -<预期结果、受影响入口/模块/契约;明确不做什么。> +目标(方案 docs/proposals/2026-09-30-file-preview-and-reserved-capabilities.md §3–§4): +1. @ui FilePreview 能力组件:格式矩阵分派 + 无依赖渲染器(md/图片/pdf/代码行号/数据等宽/二进制卡)+ Office loader 注入槽 + 插件 registerFilePreview + LinkPreviewCard。 +2. backend:GET /api/url-preview(SSRF 拨号时点校验 + 缓存 + 净化错误);fs 工具族(fs_read/write/list,Hidden + runtime.fsTools 门禁 + // 沙箱 + 穿越负例全拒 + 写文件登记工件);ToolDesc.Hidden。 +3. frontend:四个预览依赖(动态 import 懒加载);DocViewer 收敛为 FilePreview 容器;右栏"预览"页签(railPreview 双落位);chip/面板行右栏预览动作;**删除按钮回退**(api.deleteArtifact 与后端端点保留,UI 不暴露)。 + +非目标:Office 在线编辑;语法高亮(highlight.js 另行裁定);服务端格式转换;fs 的 shell/exec 类操作;URL 预览的正文抓取(仅元数据)。 ## 同步记录 @@ -18,8 +23,17 @@ |---|---|---|---| | 启动 | 548ca2b3f1326f298b44cd4b6c94ef7e9d7bdaf8 | 548ca2b3f1326f298b44cd4b6c94ef7e9d7bdaf8 | 2026-09-30T16:17:43Z | -## 结果与验证(完成后填写) +## 结果与验证 -- 结果: +- 结果(子仓提交,均基于各自 main 顶端): + - core 4d29301 ToolDesc.Hidden;ui fb76239 FilePreview 能力组件(45 tests);backend 6d4ccfd url-preview + fs 工具族;frontend 594d151 装配+双落位+删除回退(33 tests)。 + - D2 备选条款触发记录:pptx2html@0.3.4 module 入口 `./txml` 大小写错配(Linux 打包必炸),改用 pptx-preview@1.0.7(init(dom).preview(arrayBuffer) 全保真),已带证据写入 frontend 提交。 - 验证: + - 各仓:core/backend/frontend/ui 全绿(go test ./...;vitest ui 45 + frontend 33;tsc 干净;构建产物确认主入口仅 +12KB,xlsx 430KB/pptx 1.2MB/jszip 98KB 为首次预览才加载的独立 chunk)。 + - make test(Dev 组合)全绿。 + - 服务端负例(严格实例,无放行标志):/api/tools 无 fs_ 工具;url-preview 对 127.0.0.1/10.0.0.1/192.168.1.1 均回"目标地址被安全策略拒绝",javascript: 回"仅支持 http/https"。 + - 头链 Playwright 15/15(7 样例矩阵:csv/go 行号/png/pdf iframe/docx mammoth 正文/xlsx 双 sheet+pptx-preview stage;面板无删除按钮、7 行右栏预览动作;右栏预览页签激活+内容渲染+关弹层保留;chip 双动作)。 - 影响与剩余项: + - fs 工具默认不可见不可调(runtime.fsTools 未开);开启方式为配置/环境(设置页无开关,D5)。 + - 删除能力保留于 API(DELETE /api/artifacts/{id}),UI 无入口;将来暴露可加管理开关。 + - 代码预览无语法高亮;pptx 依赖较重(1.2MB chunk,仅首次预览 pptx 时加载)——如不可接受可回退大纲级(需再裁定)。 From 792c24f1ccaa2b63759622ebd813e9e7ded264b7 Mon Sep 17 00:00:00 2001 From: weichen Date: Wed, 30 Sep 2026 17:10:37 +0000 Subject: [PATCH 3/5] Point the task gitlinks at the preview-capability branches --- deps/agent-command | 2 +- deps/agent-intent | 2 +- deps/agent-native | 2 +- deps/agent-squad | 2 +- deps/error-code-system | 2 +- deps/logging-system | 2 +- modules/backend | 2 +- modules/core | 2 +- modules/documents | 2 +- modules/frontend | 2 +- modules/ui | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/deps/agent-command b/deps/agent-command index 67d6c624..cc1ad774 160000 --- a/deps/agent-command +++ b/deps/agent-command @@ -1 +1 @@ -Subproject commit 67d6c6245d3c1c5c4b234e13029ff95a543beb18 +Subproject commit cc1ad7749816afe129f81bcf0732d0ca7c789d10 diff --git a/deps/agent-intent b/deps/agent-intent index 5d5d99e7..1dbbe814 160000 --- a/deps/agent-intent +++ b/deps/agent-intent @@ -1 +1 @@ -Subproject commit 5d5d99e737beb9751f09f5a96a33bd0ab27737d8 +Subproject commit 1dbbe8149c561b36282bf781e61a06d1284be3a1 diff --git a/deps/agent-native b/deps/agent-native index 39be6485..228daa3f 160000 --- a/deps/agent-native +++ b/deps/agent-native @@ -1 +1 @@ -Subproject commit 39be6485314cc8cb8eebe18cccaa06ff8cf87bde +Subproject commit 228daa3ff5ec174752052c2a826d76571fb63a09 diff --git a/deps/agent-squad b/deps/agent-squad index 946e8d55..1aa548ff 160000 --- a/deps/agent-squad +++ b/deps/agent-squad @@ -1 +1 @@ -Subproject commit 946e8d55381ad54e70d4a0d6e7dea50c6abf330e +Subproject commit 1aa548ff147876eb0e80413ee361213853a940b3 diff --git a/deps/error-code-system b/deps/error-code-system index 9e99b526..a3ee67bb 160000 --- a/deps/error-code-system +++ b/deps/error-code-system @@ -1 +1 @@ -Subproject commit 9e99b52611449c0ce7f35527b9b95fe55701f892 +Subproject commit a3ee67bba269e1276c14e22c026171ecf2cf6190 diff --git a/deps/logging-system b/deps/logging-system index da5c33eb..49b5d8be 160000 --- a/deps/logging-system +++ b/deps/logging-system @@ -1 +1 @@ -Subproject commit da5c33eb25a88b5ad5c88999d1a119f6f5b3af24 +Subproject commit 49b5d8be604d05e4246dffa0d10fa1c2b7ad45d7 diff --git a/modules/backend b/modules/backend index daddac8e..c0baa342 160000 --- a/modules/backend +++ b/modules/backend @@ -1 +1 @@ -Subproject commit daddac8e472d9dc6e263ba706499962bd22d1361 +Subproject commit c0baa342fcd69c267d5bbd3cdb46bc7ddc744b4b diff --git a/modules/core b/modules/core index cafd9a54..6bdc4f2a 160000 --- a/modules/core +++ b/modules/core @@ -1 +1 @@ -Subproject commit cafd9a54e5f23ae1744750f1e6e97e0a505f8d81 +Subproject commit 6bdc4f2adaf967fd03894019798c279715518e97 diff --git a/modules/documents b/modules/documents index cb700cf4..1f3e7ab4 160000 --- a/modules/documents +++ b/modules/documents @@ -1 +1 @@ -Subproject commit cb700cf40b86d7ba9c3d4623b6c8e9ac3166dbe0 +Subproject commit 1f3e7ab4419b81dc79004134c8325eb67945b343 diff --git a/modules/frontend b/modules/frontend index 6752b788..89bfa83c 160000 --- a/modules/frontend +++ b/modules/frontend @@ -1 +1 @@ -Subproject commit 6752b788b9557abbaa4e63aac568fa1697877d2a +Subproject commit 89bfa83cae2d88d1647607e42939fba1ab6d5b25 diff --git a/modules/ui b/modules/ui index efd87f97..b0ee51bf 160000 --- a/modules/ui +++ b/modules/ui @@ -1 +1 @@ -Subproject commit efd87f9766b2c55b7a2c165e97de74f4e3845347 +Subproject commit b0ee51bf506a0905408dd102fa21ad6b3a7abf69 From b526b1fd21cd48e4a204013a77f2e98ca59c8941 Mon Sep 17 00:00:00 2001 From: weichen Date: Wed, 30 Sep 2026 17:19:17 +0000 Subject: [PATCH 4/5] Record the sync checkpoint --- .task/feature-duplication-lesson-records.md | 1 + 1 file changed, 1 insertion(+) diff --git a/.task/feature-duplication-lesson-records.md b/.task/feature-duplication-lesson-records.md index 0dbeb565..a664f94f 100644 --- a/.task/feature-duplication-lesson-records.md +++ b/.task/feature-duplication-lesson-records.md @@ -51,3 +51,4 @@ | 同步前验收 | 0b0540e2d251ed6bee77e63fb1ed174dda3ddd41 | 888aa9471c0a6f6917eef1d4801e87b5c411cf6a | 2026-09-30T16:47:54Z | | 同步前验收 | 9f2a7fb4b806bb63f43c3ee759bdbb1ab1f97720 | 21a92441dce7787b8c3eaeaf731aad9a58215836 | 2026-09-30T16:49:57Z | | 同步前验收 | bb7f541d42dc6bd2609e59fed6760f22ed5c213e | dcb5bc0f727b5ceaf95b73b5ea514e63d9a89ae0 | 2026-09-30T17:17:46Z | +| 同步前验收 | 978dc80817e7240f0a45a390ed2a6334041e84dd | 4eec51a954c1271729a3659544eb891f0181d8c2 | 2026-09-30T17:19:17Z | From f958bfb326c7dae646fb1dd6dabc5faf2d63221d Mon Sep 17 00:00:00 2001 From: weichen Date: Wed, 30 Sep 2026 17:20:41 +0000 Subject: [PATCH 5/5] Pin the preview-capability module combination --- modules/backend | 2 +- modules/core | 2 +- modules/documents | 2 +- modules/frontend | 2 +- modules/ui | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/backend b/modules/backend index c0baa342..028a0ac0 160000 --- a/modules/backend +++ b/modules/backend @@ -1 +1 @@ -Subproject commit c0baa342fcd69c267d5bbd3cdb46bc7ddc744b4b +Subproject commit 028a0ac0ec775949faec96e438a40bec020bd707 diff --git a/modules/core b/modules/core index 6bdc4f2a..90b57477 160000 --- a/modules/core +++ b/modules/core @@ -1 +1 @@ -Subproject commit 6bdc4f2adaf967fd03894019798c279715518e97 +Subproject commit 90b57477bb49b3a9e62131560aa6c9a4532f19b4 diff --git a/modules/documents b/modules/documents index 1f3e7ab4..cb700cf4 160000 --- a/modules/documents +++ b/modules/documents @@ -1 +1 @@ -Subproject commit 1f3e7ab4419b81dc79004134c8325eb67945b343 +Subproject commit cb700cf40b86d7ba9c3d4623b6c8e9ac3166dbe0 diff --git a/modules/frontend b/modules/frontend index 89bfa83c..c5e93568 160000 --- a/modules/frontend +++ b/modules/frontend @@ -1 +1 @@ -Subproject commit 89bfa83cae2d88d1647607e42939fba1ab6d5b25 +Subproject commit c5e93568a5475ef4817d2ca5f3dbe3202d1a796c diff --git a/modules/ui b/modules/ui index b0ee51bf..b6be6e89 160000 --- a/modules/ui +++ b/modules/ui @@ -1 +1 @@ -Subproject commit b0ee51bf506a0905408dd102fa21ad6b3a7abf69 +Subproject commit b6be6e89ef97e6688f6dcf234e3e9102ad90ca67