2.5 KiB
7-38 Page AI sidebar runtime owner split v1
创建时间:2026-05-25 状态:
process来源:design/03-rust-web/done/3-22-sidebar-tree-runtime-second-stage-split-v1.mdBatch A。 2026-05-26 更新:design/10-review/done/16-mnote-web-runtime-module-maintainability-checklist-v1.md已把 Page AI 主体迁入browser/sidebar-page-ai-runtime.js;本文件继续作为后续 AI owner 收口 checklist。
1. 背景
rust/crates/mnote-web/browser/sidebar-tree-runtime.js 曾包含大量 Page AI panel 代码:会话、消息、profile、skills、gateway health、ACP runtime、permission dialog、plan/status event、session search/resume 等。2026-05-26 的 runtime 可维护性批次已将主体迁入 browser/sidebar-page-ai-runtime.js,tree runtime 目前只保留 sidebar click/change/input 委托、少量 pageUiState.pageAi* 状态壳和触发器代理。
这些代码不是 tree/filetree runtime 的长期 owner。继续把 Page AI 面板放在 03-rust-web 的 sidebar runtime 拆分里,会让 tree shell、local folder、AI session 三条边界继续混在一起。
2. Owner 判断
- owner:
07-ai - 运行位置:当前仍可挂在 sidebar UI,但 runtime 模块应独立于 tree/filetree runtime。
- 当前目标模块:
rust/crates/mnote-web/browser/sidebar-page-ai-runtime.js - 主壳职责:只加载 asset、提供当前 document/workspace/root/bootstrap。
3. 后续执行建议
- 只读审计 Page AI panel 的状态入口:
pageUiState.pageAi*、storage、session 列表、profile/skills、permission dialog。 - 建立独立 Page AI sidebar owner runtime:
sidebar-page-ai-runtime.js。 - 从
sidebar-tree-runtime.js继续迁出 Page AI click/change/input/keydown 委托,tree runtime 只保留data-mnote-action="open-page-ai"入口。 - 将
pageUiState.pageAi*从通用 sidebar state 中下沉到 Page AI owner runtime,并保留兼容 getter/setter 或明确 bootstrap contract。 - 若
sidebar-page-ai-runtime.js继续超过 2,500 行,再按session/profile-skill/permission/conversation拆成子模块。 - 浏览器验证使用页面 AI / ACP smoke,而不是 tree/filetree smoke 替代。
4. 非目标
- 不在 03-rust-web 的 sidebar runtime 二阶段里继续扩大 Page AI 实现。
- 不在 10-review runtime 可维护性收口里继续重构 ACP/Hermes session 语义;这里只记录 owner 边界。
- 不改变 Hermes / Reasonix ACP runtime 协议。
- 不把 local-first agent 文件编辑链路改回粗粒度
mnote.page.save。