介绍
Doc Agent Extension 将「浏览器选区定位」与「本地官方 CLI 执行」打通:在钉钉文档 / 飞书 / Notion 页面像 VSCode 元素选择器一样拾取要改的地方,由本地官方 CLI(dws / lark-cli / ntn)实际执行变更。
它解决什么问题
早期方案把编辑能力耦合在页内 MCP 链路里,存在几个痛点:
- 与具体文档宿主(we-word)强耦合,跨端复制成本高;
- 多维表等结构化编辑能力弱;
- 变更逻辑散落在页内脚本,难以审计与回滚。
新方案(内部代号「方案 A」)把职责拆干净:
- 浏览器只做定位——产出一个可复现的
SelectionContext(provider / surface / doc / target / snapshot)。 - 变更全部走官方 CLI——由本地 Gateway 以白名单、
shell:false的方式调用官方命令行,再经官方 OpenAPI 落到文档 / 多维表。
核心理念
| 原则 | 含义 |
|---|---|
| 浏览器不执行变更 | 页面侧只负责选区拾取与结果高亮,不接触凭据 |
| 官方 CLI 唯一执行者 | 所有写操作经 dws / lark-cli / ntn 完成,天然复用官方鉴权 |
| 钉钉优先 | 先打通钉钉「文字 + 多维表」,飞书 / Notion 适配器已就绪、按端灰度 |
| 可一键回切 | 保留旧的页内 MCP 链路,通过开关随时回滚(见执行模式) |
两种执行模式
- Direct(确定性编辑):直接套用 CLI 模板,适合「把这段文字改成 X」这类明确目标。
- Agent(自然语言):让本地
qodercli推理后再调用 CLI,适合「按季度汇总这张表」这类需要理解的任务。