# Reasonix Worker D：OnlyOffice annotation 插件 404/pageerror 噪音

你是编码 worker。你不独占代码库，可能有其他 worker 同时修改不同文件；不要回滚、覆盖或清理他人的改动。

## Project Root

`/mnt/Data1T/mnote`

## 背景

详见：

- `bugs/05-editor-mainline/process/2026-05-21-office-edit-sign-plugin-gap-review-v1.md`
- `bugs/05-editor-mainline/process/5-37-onlyoffice-annotation-plugin-noise-policy-v1.md`

OnlyOffice 自定义 annotation/custom assistant 插件可能产生 404 或 pageerror。需要确认来源，并让测试能区分“插件噪音”和“主文档打开失败”。

## Ownership

你负责：

- `bugs/05-editor-mainline/process/5-37-onlyoffice-annotation-plugin-noise-policy-v1.md`
- 如确认是 MNote 显式注入插件，可修改：
  - `rust/crates/mnote-web/src/routes/onlyoffice.rs`
  - `src/components/onlyoffice/` 下直接的自定义插件配置文件
  - 相关测试

不要修改：

- `rust/crates/mnote-web/src/ssr/pages/layout.rs`
- ACP / Hermes 相关文件
- OnlyOffice 主静态资源目录的大规模文件

## 任务

1. 搜索 annotation / custom assistant / pluginsData / autostart 来源。
2. 判断 404 是否由 MNote 显式注入插件引起。
3. 如果 MNote 显式注入且当前不依赖该插件，禁用无效注入或加开关。
4. 如果是 OnlyOffice 内部可选资源，更新 checklist 说明为 non-critical，但不能吞掉 `errorCode=-18`、WebSocket failed、主 iframe 空白等真正失败。
5. 如有必要，补测试或 smoke 文档口径。

## 验收命令

请至少运行与你修改相关的测试；优先：

```bash
cargo test -p mnote-web onlyoffice -- --test-threads=1
```

## 最终输出

在 final 中列出：

- 修改文件
- 404/pageerror 来源
- 处理策略
- 运行过的命令和结果
- 未完成项或风险
