Files
mnote/design/07-ai/done/7-70-page-ai-pi-lab-native-openhub-like-ui-checklist-v1.md
T

52 lines
4.1 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.
# 7-70 Page AI Pi Lab 原生 OpenHub-like UI Checklist v1
状态:doneUI spike + P2 Pi tool bridge 回归)
Owner07-ai / mnote-web / page-ai-runtime
日期:2026-07-04
## 1. 验收项
- [x] OpenHub 继续保持默认 Page AI 主线。
- [x] Pi Lab 默认显示独立 `π` 悬浮按钮,不以 `MNOTE_PAGE_AI_PI_LAB=1` 作为显示前置条件。
- [x] `MNOTE_PAGE_AI_PI_LAB` 保留为强制关闭开关,默认值为开启。
- [x] Pi Lab 点击后打开独立 MNote-native drawer。
- [x] Pi Lab 不挂载到 `[data-testid="wolai-page-ai-drawer"]`
- [x] Pi Lab 不 iframe 第二个完整应用。
- [x] Pi Lab 不复用 OpenHub provider tab、按钮或 iframe 页面。
- [x] topbar 显示 Pi Lab、session/runtime status、model、close/minimize。
- [x] context strip 显示当前页、选区、allowed roots、LightRAG、changed files。
- [x] message timeline 显示 user / assistant / system、streaming、aborted。
- [x] provider thinking 不进入 visible final answerreasoning 仍默认隐藏。
- [x] tool/receipt rail 显示 tool status、deny reason、receipt、file version、diff summary、citation count。
- [x] composer 支持多行输入、当前页/选区/LightRAG 快捷按钮、send、abort。
- [x] diagnostics 默认折叠,不挤占首屏。
- [x] MNote-owned tools 保留,不开放 Pi 原始 `bash/read/write/edit`
- [x] allowed roots 越界读写在 UI 中显示 denied 和 deny reason,并写 receipt。
- [x] LightRAG 仍是唯一默认 knowledge providerPi 只通过 MNote facade 查询。
- [x] patch 响应保持 watcher refresh / `polling=false` contract。
- [x] Pi 默认模型继续为 Omniroute `freefirst`
- [x] static smoke119 checks)、api endpoint smoke、mock/API smoke、RPC API smoke、browser smoke、cargo check、CodeGraph sync/status 已运行。
- [x] 真实 Pi RPC + Omniroute/freefirst UI 截图回归已补:`tmp/page-ai-pi-lab-rpc-browser-real-7-71.png`
- [x] 真实 `/documents/local-md:*` 文档页默认注入独立 Pi Lab `π` 入口:`tmp/page-ai-pi-lab-rpc-browser-p1-7-71c.png`
- [x] Pi Lab start session 绑定当前 root/page/title。
- [x] “当前页”快捷按钮调用 `mnote.current_page.read` 并读取当前 Markdown。
- [x] “选区”快捷按钮读取 tiptap live selection snapshot 并注入 composer。
- [x] `.md` patch 后通过 local-folder event bus / document refresh 更新当前 `.ProseMirror`,未新增高频轮询。
- [x] 修复 P1 审查发现的任意 Cookie 认证绕过、跨用户 session 查询、selection tool host snapshot 标识、`tool_receipt.write` 空操作和 pagePath smoke 误报。
- [x] Pi RPC subprocess 通过 per-session extension 注册 MNote-owned custom tools。
- [x] 真实 Pi 主动调用 `mnote_current_page_read`,并经 `/api/page-ai/pi/tool-call-bridge` 回到 MNote `mnote.current_page.read` 的 API smoke 已通过。
- [x] bridge token 使用 OS 随机源生成,不序列化到 session JSON,不写入 extension 文件。
- [x] bridge endpoint 拒绝非 running sessionaborted/error session 不能继续通过 bridge 调 tool。
- [x] session TTL、最大 session 数、start/send/tool rate limit 和过期 session 目录清理已补。
- [x] P2 真实浏览器截图已补:`tmp/page-ai-pi-lab-rpc-browser-p2-visible-reply-7-70.png`,并断言 assistant bubble 本身包含真实 Pi 回复。
- [x] Pi Lab UI 已按 OpenHub-like 方向收敛:设置、上下文、tools、receipts 默认折叠,主对话区优先,模型选择入口保留。
- [x] OpenHub-like 折叠 UI 截图已补:`tmp/page-ai-pi-lab-openhub-like-ui-collapsed-v2-7-70.png`
- [x] Pi Lab UI 已按 OpenHub 平台式首屏二次收敛:大标题、水平工具栏、白色对话卡片、居中空状态示例、底部大输入框与 Build/Plan/model/budget 控制条;截图:`tmp/page-ai-pi-lab-openhub-platform-empty-v4-7-70.png`
## 2. 下一阶段
- [ ] Turso/libSQL 正式 receipt 表。
- [ ] in-process `AgentSession` / Node sidecar SDK 方案评估,用于替代当前 RPC subprocess + extension bridge spike。
- [ ] production Pi binary 显式配置和版本锁定。
- [ ] session resume / retry / history drawer 产品化。