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

4.1 KiB
Raw Blame History

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. 验收项

  • 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 answerreasoning 仍默认隐藏。
  • 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 providerPi 只通过 MNote facade 查询。
  • patch 响应保持 watcher refresh / polling=false contract。
  • Pi 默认模型继续为 Omniroute freefirst
  • static smoke119 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。
  • .md patch 后通过 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 回到 MNote mnote.current_page.read 的 API smoke 已通过。
  • bridge token 使用 OS 随机源生成,不序列化到 session JSON,不写入 extension 文件。
  • bridge endpoint 拒绝非 running sessionaborted/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 产品化。