Files
mnote/.codex/reasonix-tasks/hermes-acp-tool-location-open-action.md
T
lix-2026 eba1010191 fix local office resource editing
- add local-folder OnlyOffice sign/callback writeback and edit-tab handling

- align main resource tabs, attachment edit menu, slash isolation, and filetree context behavior

- record Sidex/Hermes gap reviews and Reasonix task checklists
2026-05-21 05:40:06 +08:00

56 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Reasonix 任务:ACP tool locations 与打开动作
Project root: `/mnt/Data1T/mnote`
你不是唯一在代码库中工作的 agent。不要回滚、覆盖或整理与你任务无关的改动;不要提交 git;不要修改 `.gitignore``.codegraph/``auth-console.txt``auth-network.txt`
## 背景
Codex 已写 review`design/10-review/process/13-hermes-vscode-plugin-gap-review-v1.md`
本任务对应 checklist`design/07-ai/process/7-32-acp-tool-location-and-open-action-checklist-v1.md`
参考实现:`reference-code/hermes-vscode-main/src/protocol.ts` 会解析 `tool_call.locations[].path``src/chatPanel.ts` 在 read/edit tool 完成后打开对应 editor。
## Ownership
允许直接修改:
- `rust/crates/mnote-web/src/acp_types.rs`
- `rust/crates/mnote-web/src/acp_session_manager.rs`
- `rust/crates/mnote-web/src/acp_bridge.rs`
- `rust/crates/mnote-web/src/ssr/pages/layout.rs` 中 tool card 展示 / 打开动作小范围代码
- 相关 Rust 测试或必要 smoke
- `design/07-ai/process/7-32-acp-tool-location-and-open-action-checklist-v1.md` 的执行记录
注意:`layout.rs` 可能被其他 worker 改动。请避免大范围重排,只接线 tool locations 展示和 open action。
## 目标
保留 ACP tool `locations[]`,并在 Page AI tool card 中显示和打开。默认打开到 MNote 主编辑器资源 tab / 现有 file open resolver,不默认新浏览器窗口。
## 具体要求
1. `SessionUpdate::ToolCall` 解析 `locations: [{ path }]`
2. `AcpSessionEvent::ToolCall` 携带 locations。
3. `acp_bridge` SSE `tool.started` 包含 locations。
4. 前端 tool card 保存并显示 locations。
5. read/edit tool completed 时提供打开动作;优先复用现有主编辑器资源 tab 或已有 file open 函数。
6. 补测试覆盖 parse + SSE + 前端字符串断言。
## 验收命令
请至少运行:
```bash
cd /mnt/Data1T/mnote/rust && cargo test -p mnote-web acp_tool -- --test-threads=1
cd /mnt/Data1T/mnote/rust && cargo test -p mnote-web page_ai_uses_backend_acp_session_runtime_store -- --test-threads=1
```
## 最终回复格式
- 修改文件列表
- 关键实现说明
- 实际运行的验证命令和结果
- 未完成项 / 风险