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