Skip to content

Commit c2dfd4b

Browse files
zeweihanclaude
andauthored
docs(ai): AI_ARCHITECTURE.md 同步 wps_* 别名已移除(PR#189) (#190)
* fix(ai): 活跃文档上下文识别——开着的文档不再被 list/open 重新发现 用户在编辑器里开着文档说"帮我修订一下",模型却先 doc_list_project_files 再 doc_open_file 去猜目标。根因有二: 1. system_prompt.md 使用规范第 1 条写死"修改前先用 doc_open_file 打开文档", 全文没有"当前活跃文档已打开"的概念,模型是照章办事; 2. ContextAssemblerService 的 <active_document> 注入措辞被动(只说定位参考 时可用),且正文读取失败时整块静默跳过,模型完全感知不到活跃文档。 修复: - 注入文案明确"该文档已在编辑器中打开,doc_* 工具直接作用于它,无需 doc_list_project_files / doc_open_file";正文读不到也保留 id/name 标识; - system_prompt.md 规范第 1 条改为"优先用当前活跃文档",仅编辑其他文档 时才先打开; - 新增 ContextAssemblerServiceTest 三条断言覆盖上述行为。 后端全量 280 测试通过。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * chore(ai): WPS 灰度别名到期移除与后端去 WPS 化规范清理 Phase 2.5(PR#87)的 wps_*→doc_* 工具名别名约定 ≥0.6.0 移除,现已 0.7.9, 灰度到期,本次清理: - ToolRegistry:删除 29 条 wps_* 别名(保留 search_laws→search_web); 旧名分发将收到"未知工具"反馈,模型按系统提示自纠为 doc_*; - 测试:别名灰度测试改为移除守护(wps_* 不再命中、别名表无 wps_ 条目); - 回放夹具/冒烟 prompt:wps_find_replace → doc_find_replace; - AgentStreamHandler:内部标识符去 WPS 化(onEditorStream/editorStreamBuffer 等),SSE 事件名 wps_stream_data 为前后端契约保持不变; - PptxTools/FileTools:过时的"WPS 编辑器"注释、@tool 描述与用户面文案 改为"文档编辑器",内部方法 modifyWithWpsApi→modifyWithEditorApi。 明确保留(均为契约或存量数据,另行专项处理): - SSE action/事件名与路由:wps_open_file / wps_reload_file / wps_command / wps_stream_data / /api/ai/agent/wps-result(docs/ai_agent_dev.md §2.2); - ProjectFile.wpsFileId 及 DB 列、API JSON 字段(前端广泛引用+存量数据); - 存储路径前缀 wps-files/(存量磁盘目录); - FileTools 返回 JSON key wps_file_id(LLM 面输出与老对话历史一致性)。 后端全量 278 测试通过。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * docs(ai): AI_ARCHITECTURE.md 同步 wps_* 别名已移除(PR#189) §3 别名清单与 Phase 3 待办中的"移除不早于 0.6.0"约定已兑现, 文档改为记录移除事实与移除后行为,避免与代码矛盾。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
1 parent cf59f4b commit c2dfd4b

1 file changed

Lines changed: 6 additions & 5 deletions

File tree

docs/AI_ARCHITECTURE.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,11 @@ LLM 面的 30 个文档编辑工具 `wps_*` 更名为 `doc_*`(宿主类 `WpsTo
5151
`WpsActionService``EditorBridgeService``WpsResultController``EditorResultController`),
5252
`pptx_*` 不变。
5353

54-
- **别名清单**:全部 30 条 `wps_*` → 同名 `doc_*`(如 `wps_find_replace``doc_find_replace`),
55-
另有历史别名 `search_laws``search_web`。完整列表见 `ToolRegistry.TOOL_NAME_ALIASES`
56-
- **保留期**`wps_*` 别名自 0.4.x 引入,**至少保留两个发布版本,移除不早于 0.6.0**
57-
移除前需确认线上老对话历史中旧名调用率足够低。
54+
- **别名清单**:Phase 2.5 曾登记全部 `wps_*` → 同名 `doc_*` 别名(自 0.4.x),约定
55+
≥0.6.0 后移除;**已于 0.7.9 后(PR#189)到期移除**。现存别名仅 `search_laws``search_web`
56+
`ToolRegistry.TOOL_NAME_ALIASES`
57+
- **移除后行为**:模型输出 `wps_*` 旧名会收到"未知工具"反馈并按系统提示自纠为 `doc_*`
58+
(系统提示中只有 `doc_*` 名),无静默失败。
5859
- 数据库历史消息中的旧工具名只影响展示(displayName 兜底"工具执行"),不做数据迁移。
5960

6061
### 编辑器前后端契约(Phase 2.5 保持旧名)
@@ -178,7 +179,7 @@ AgentOrchestrator 仅 3 行挂载点(字段 + activateForTurn + visibleTools
178179
摘旧名;**合并前必须在 Electron 桌面端真机实测文档打开、查找替换、流式写入三条链路**
179180
随迁移一并清理:前端零散 WPS 遗留(`VariablePanel.getWps` prop、
180181
`ChatInterface.vue` `wps-tip-*` CSS 类、`ProjectFile.wpsFileId` 字段语义梳理);
181-
`wps_*` 工具名别名移除仍受版本门槛约束(不早于 0.6.0,见 §3「工具命名与别名」)。
182+
`wps_*` 工具名别名已按门槛于 0.7.9 后移除(PR#189,见 §3「工具命名与别名」)。
182183
- [ ] **插件进程级运行时沙箱**:v2 权限校验是分发层的诚实声明模型,插件代码仍与宿主同进程;
183184
真正强制 file/network 隔离需进程级沙箱(独立进程 + IPC 或 SecurityManager 替代方案)。
184185

0 commit comments

Comments
 (0)