- 归档 OnlyOffice live bridge、Page AI、mindmap、design governance 与相关 bug 条目 - 补齐 MinerU OCR 后端 runtime 合同与 smoke/test 基线 - 收口 ChatOnly/Doubao、ObjectIdentity、Page Aggregate compat 与 runtime owner 文档口径 验证: - cargo test --manifest-path rust/Cargo.toml -p mnote-web local_ocr -- --test-threads=1 - cargo test --manifest-path rust/Cargo.toml -p mnote-web onlyoffice_bridge -- --test-threads=1 - git diff --check - git diff --cached --check - codegraph index . --force && codegraph status . - codegraph sync . && codegraph status .
5.4 KiB
5.4 KiB
7-57 OnlyOffice Plugin Bridge P2 产品化尾项
状态
- 状态:done
- Owner:07-ai / ONLYOFFICE live bridge / Page AI target runtime
- 发现时间:2026-06-01
- 归档时间:2026-06-01
现象
OnlyOffice live bridge 的 P0 安全阻断已完成:显式 session、resource scope、真实 iframe 多 session 隔离、非 dry-run 写入落点和 Page AI target picker 到 live session 的绑定均已有 smoke 证据。但 7-43 仍保留若干 P2 产品化尾项,缺少独立 bug 落点。
证据
design/07-ai/process/7-43-onlyoffice-plugin-bridge-design-v1.md仍保留 P2 follow-up:Office 主文档加载噪音治理、第三批 recipe 逐项实测。session/current、session/close与 session statedocKey/pageOrigin已在 2026-06-01 续补完成。- 已有 smoke 证明安全主路径完成:
scripts/task515-onlyoffice-live-scope-http-smoke.jsscripts/task516-onlyoffice-bridge-multisession-browser-smoke.jsscripts/task517-onlyoffice-bridge-plugin-direct-smoke.jsscripts/task518-onlyoffice-real-iframe-session-scope-smoke.jsscripts/task523-page-ai-onlyoffice-real-target-session-smoke.js
影响
- P0 安全问题已经不再阻塞;P2 recipe 扩展已收窄为
7-43的矩阵化后续,不再作为本文 bug 阻塞项。 7-43已区分已完成安全项和后续产品化项。
下一步
- 记录并治理 Office 主文档加载噪音,例如 DocumentServer
errorCode=-18、WebSocket / polling 失败等。(已完成) - 第三批 recipe 必须逐项实测后再暴露给 agent,不凭 API 名称直接开放。(已收窄为矩阵规则)
验收
session/current与session/closeAPI 已实现并有 Rust route 测试。- session state 已补
docKey/pageOrigin,并由 plugin config / register session / list sessions smoke 证明透传。 - Office 加载噪音有明确分类、截图或日志证据,并不误判为打开成功。
- 每个已暴露 recipe 保留 Rust unit、browser direct smoke 和 tool API smoke 要求;未暴露第三批 recipe 已明确不对 agent 宣称可用。
- 插件执行层已补 editorType guard,
document.*/sheet.*/presentation.*不能跨 Word / Excel / PPT session 串用。 design/07-ai/process/7-43...中 P0 已完成项与 P2 尾项拆分清晰。
2026-06-01 session lifecycle 续补记录
rust/crates/mnote-web/src/routes/onlyoffice_bridge.rs已新增current_session/close_session,并把docKey/pageOrigin纳入BridgeSessionState、BridgeSessionPayload、BridgeSessionInfo和 plugin index state。/onlyoffice页面会把当前fileState.docKey与location.origin传给 bridge plugin config;mock plugin direct smoke 已验证 plugin 注册后 session 中存在docKey/pageOrigin。scripts/task516-onlyoffice-bridge-multisession-browser-smoke.js已扩展session/current、session/close和关闭后 session 不再可取 command 的断言。- 已通过:
cargo test --manifest-path rust/Cargo.toml -p mnote-web onlyoffice_bridge -- --test-threads=1node scripts/task517-onlyoffice-bridge-plugin-direct-smoke.jsMNOTE_UI_BASE_URL=http://127.0.0.1:3302 node scripts/task516-onlyoffice-bridge-multisession-browser-smoke.js
2026-06-01 噪音分类与主文档失败断言
scripts/task518-onlyoffice-real-iframe-session-scope-smoke.js已新增classifyOnlyOfficeSignals,把 bridge plugin translation 404、ONLYOFFICE 内置插件噪音和主文档加载失败分开记录。- smoke 会断言 MNote bridge session 注册与 command loop 可用,同时要求
mainDocument.ready=true。 errorCode=-18不再被当作可忽略噪音;一旦在 console 或 editor error log 中出现,task518会失败并把它归为主文档失败。design/07-ai/process/7-43-onlyoffice-plugin-bridge-design-v1.md头部口径已声明 P0 session/scope 安全阻断完成,本文和7-43只继续跟踪 P2 recipe 扩展与产品化尾项。
本文继续保持 process 的剩余原因:
- 已归档。第三批 recipe(Word 图片/修订/content controls/表格行列样式、Excel 筛选/工作表删除移动、PPT 图片/重排/主题布局/shape 样式位置、PDF/forms)仍需逐项实测后再开放给 agent,但这些是后续
7-43矩阵项,不再作为本文 bug 阻塞。
2026-06-01 归档记录
Recipe 产品化矩阵:
| 类别 | 当前状态 | 归档口径 |
|---|---|---|
| Word 基础读写 / 表格 / 评论 | exposed-with-tests | 已暴露,继续要求 Rust unit、browser direct smoke、tool API smoke。 |
| Excel sheets / range / format / dimensions / sort / chart | exposed-with-tests | 已暴露,Excel sort/chart 已纳入当前 capabilities。 |
| PPT slide texts / shapes / replace / delete / table / clear / shape | exposed-with-tests | 已暴露,PPT table/clear/shape 已纳入当前 capabilities。 |
| Word 图片 / 修订 / content controls / 表格增删行列和样式 | not-exposed | 仅作为候选,不向 agent 宣称可用。 |
| Excel 筛选 / 工作表删除移动 | not-exposed | 仅作为候选,不向 agent 宣称可用。 |
| PPT 图片 / slide 重排 / 主题布局 / shape 样式位置 | not-exposed | 仅作为候选,不向 agent 宣称可用。 |
| PDF / forms 字段读取与填写 | blocked-by-api | 需先确认 ONLYOFFICE 社区版 Plugin API 可行性。 |
验证:
cargo test --manifest-path rust/Cargo.toml -p mnote-web onlyoffice_bridge -- --test-threads=1