|
| 1 | +# lark-doc 操作矩阵 |
| 2 | + |
| 3 | +先用本矩阵把用户意图映射到命令、必读 reference 和关键注意事项,再执行命令。所有操作都默认先读 [`../../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、权限、安全规则、全局参数和路径限制。 |
| 4 | + |
| 5 | +## 用户意图到操作路径 |
| 6 | + |
| 7 | +| 用户意图 | 首选命令 | 必读 reference | 可选 reference | 注意事项 | |
| 8 | +|-|-|-|-|-| |
| 9 | +| 浏览、总结或摘取文档内容 | `docs +fetch --api-version v2` | [`lark-doc-fetch.md`](lark-doc-fetch.md) | [`lark-doc-md.md`](lark-doc-md.md) | 只读/摘要默认 `--detail simple`;大文档优先用 `--scope outline/section/range/keyword` 局部读取 | |
| 10 | +| 获取 block 直达链接或定位锚点 | `docs +fetch --api-version v2 --detail with-ids` | [`lark-doc-fetch.md`](lark-doc-fetch.md) | | 拼接格式为 `文档基础 URL#block_id`;没有 block id 时先局部 fetch | |
| 11 | +| 创建短文档 | `docs +create --api-version v2` | [`lark-doc-create.md`](lark-doc-create.md), [`lark-doc-xml.md`](lark-doc-xml.md) 或 [`lark-doc-md.md`](lark-doc-md.md) | [`style/lark-doc-style.md`](style/lark-doc-style.md) | 默认 XML;用户提供 `.md` 或明确要求 Markdown 时用 Markdown | |
| 12 | +| 创建较长文档 | `docs +create --api-version v2` 建骨架,再 `docs +update --command block_insert_after` 分段 | [`lark-doc-create.md`](lark-doc-create.md), [`lark-doc-update.md`](lark-doc-update.md), [`style/lark-doc-create-workflow.md`](style/lark-doc-create-workflow.md), [`lark-doc-xml.md`](lark-doc-xml.md) | [`style/lark-doc-style.md`](style/lark-doc-style.md), [`lark-doc-whiteboard.md`](lark-doc-whiteboard.md) | 先建标题骨架,再按章节 block id 分段写入;避免把超长正文一次塞进 `--content` | |
| 13 | +| 简单旧文本到新文本替换 | `docs +update --api-version v2 --command str_replace` | [`lark-doc-update.md`](lark-doc-update.md), [`lark-doc-xml.md`](lark-doc-xml.md) 或 [`lark-doc-md.md`](lark-doc-md.md) | | XML 模式只支持行内匹配;跨段/跨 block 使用 block 级操作或 Markdown 模式 | |
| 14 | +| 精准 block 级插入、替换、删除、移动或复制 | `docs +fetch` 定位 block id,再 `docs +update --command block_*` | [`lark-doc-fetch.md`](lark-doc-fetch.md), [`lark-doc-update.md`](lark-doc-update.md), [`lark-doc-xml.md`](lark-doc-xml.md) | [`style/lark-doc-update-workflow.md`](style/lark-doc-update-workflow.md) | 优先局部 fetch;连续写操作必须遵守 block id 生命周期,受影响 ID 不要复用 | |
| 15 | +| 改写、润色、补充或重排已有文档 | `docs +fetch` 局部读取,再 `docs +update` 精准修改 | [`lark-doc-fetch.md`](lark-doc-fetch.md), [`lark-doc-update.md`](lark-doc-update.md), [`style/lark-doc-update-workflow.md`](style/lark-doc-update-workflow.md), [`lark-doc-xml.md`](lark-doc-xml.md) | [`style/lark-doc-style.md`](style/lark-doc-style.md), [`lark-doc-whiteboard.md`](lark-doc-whiteboard.md) | 精准手术优于全文覆盖;保留原文中的 @人、@文档、图片、附件、画板、sheet、bitable、synced_reference 等 token 和属性 | |
| 16 | +| 用户明确要求全文重建 | `docs +update --api-version v2 --command overwrite` | [`lark-doc-update.md`](lark-doc-update.md), [`lark-doc-xml.md`](lark-doc-xml.md) 或 [`lark-doc-md.md`](lark-doc-md.md) | [`style/lark-doc-update-workflow.md`](style/lark-doc-update-workflow.md) | `overwrite` 会清空文档后重写,可能丢失图片、评论等;只在用户明确要改整篇时使用 | |
| 17 | +| 追加整段内容到文档末尾 | `docs +update --api-version v2 --command append` | [`lark-doc-update.md`](lark-doc-update.md), [`lark-doc-xml.md`](lark-doc-xml.md) 或 [`lark-doc-md.md`](lark-doc-md.md) | | `append` 等价于末尾插入,不适合逐章填充;逐章写入用 `block_insert_after` | |
| 18 | +| 插入正文图片或附件 | `docs +media-insert` | [`lark-doc-media-insert.md`](lark-doc-media-insert.md) | [`lark-doc-fetch.md`](lark-doc-fetch.md) | 用户指定剪切板就用 `--from-clipboard`,指定路径就用 `--file`;不要把正文素材命令用于封面 | |
| 19 | +| 预览正文图片或附件素材 | `docs +media-preview` | [`lark-doc-media-preview.md`](lark-doc-media-preview.md) | [`lark-doc-fetch.md`](lark-doc-fetch.md) | 只想查看/预览时优先 preview;目标是画板缩略图时不要用 preview | |
| 20 | +| 下载正文图片、附件或画板缩略图 | `docs +media-download` | [`lark-doc-media-download.md`](lark-doc-media-download.md) | [`lark-doc-fetch.md`](lark-doc-fetch.md) | 明确“下载素材”或目标是 `<whiteboard>` 时使用;画板缩略图加 `--type whiteboard` | |
| 21 | +| 下载、更新或删除文档封面图 | `docs +resource-download/+resource-update/+resource-delete --type cover` | [`lark-doc-resource-cover.md`](lark-doc-resource-cover.md) | | 封面是文档级 resource/meta,不是正文 `<img>`;不要走 `+media-*` | |
| 22 | +| 新增 Mermaid 画板 | `docs +update` 写入 `<whiteboard type="mermaid">...</whiteboard>` | [`lark-doc-whiteboard.md`](lark-doc-whiteboard.md), [`lark-doc-xml.md`](lark-doc-xml.md) | [`style/lark-doc-style.md`](style/lark-doc-style.md) | Mermaid 图由主 Agent 直接插入,无需读取 `lark-whiteboard` | |
| 23 | +| 新增 SVG 画板 | `docs +update` 写入 `<whiteboard type="svg">完整 SVG</whiteboard>` | [`lark-doc-whiteboard.md`](lark-doc-whiteboard.md), [`lark-doc-xml.md`](lark-doc-xml.md) | [`style/lark-doc-style.md`](style/lark-doc-style.md) | SVG 插入隔离到 SubAgent;SVG 必须自包含,不引用外部资源 | |
| 24 | +| 更新已有画板 | `docs +fetch` 获取 `<whiteboard token="...">`,再 `docs +whiteboard-update` 或 `whiteboard +update` | [`lark-doc-whiteboard.md`](lark-doc-whiteboard.md), [`../../lark-whiteboard/SKILL.md`](../../lark-whiteboard/SKILL.md) | | `docs +update` 不能直接编辑已有画板内容;复杂更新按 lark-whiteboard 流程写入 | |
| 25 | +| 文档中出现嵌入 sheet / bitable / cite doc | `docs +fetch` 提取 token 后切 skill | [`lark-doc-fetch.md`](lark-doc-fetch.md) | [`../lark-sheets/SKILL.md`](../../lark-sheets/SKILL.md), [`../lark-base/SKILL.md`](../../lark-base/SKILL.md) | 必须主动提取 token 并下钻读取内部数据,不能只呈现标签本身 | |
| 26 | +| 文档中出现 `vc-transcribe-tab` | `docs +fetch` 提取 `vc-node-id` 后切 `lark-note` | [`lark-doc-fetch.md`](lark-doc-fetch.md) | [`../lark-note/SKILL.md`](../../lark-note/SKILL.md) | `vc-node-id` 即 note_id,先 `note +detail --note-id <vc-node-id>` | |
| 27 | +| 文档评论、评论回复或 reaction | 切到 `lark-drive` | [`../../lark-drive/SKILL.md`](../../lark-drive/SKILL.md) | | 不属于本 skill 的正文编辑能力 | |
| 28 | + |
| 29 | +## 格式选择 |
| 30 | + |
| 31 | +- **创建 / 导入场景**:XML 和 Markdown 都可以。用户提供 `.md` 本地文件、或明确说“导入 Markdown”时直接用 Markdown;否则默认 XML。 |
| 32 | +- **精准编辑场景**:`str_replace` / `block_insert_after` / `block_replace` / `block_delete` / `block_move_after` 等局部精修优先 XML。 |
| 33 | +- **Markdown 限制**:Markdown 不携带 block ID,也无样式。需要按 block ID 定位时,先用 `docs +fetch --detail with-ids` 局部获取目标段落。 |
| 34 | +- **富 block**:callout、grid、table、whiteboard 等结构化表达由内容和用户意图决定;不要为了“丰富”强行套用固定结构。 |
| 35 | + |
| 36 | +## 校验要点 |
| 37 | + |
| 38 | +- 写操作后,如继续 block 级操作,按 [`lark-doc-update.md`](lark-doc-update.md) 的“Block ID 生命周期”判断是否需要重新 fetch。 |
| 39 | +- `overwrite` / `block_replace` / `block_delete` 后不要复用受影响旧 ID。 |
| 40 | +- 插入 / 复制新块后,要操作新块必须重新 fetch 获取新 block ID。 |
| 41 | +- 正文素材走 `+media-*`;文档封面走 `+resource-* --type cover`。 |
| 42 | + |
| 43 | +## 参考 |
| 44 | + |
| 45 | +- [`lark-doc-command-index.md`](lark-doc-command-index.md) — docs 命令语义索引 |
| 46 | +- [`lark-doc-fetch.md`](lark-doc-fetch.md) — 读取正文 |
| 47 | +- [`lark-doc-create.md`](lark-doc-create.md) — 创建文档 |
| 48 | +- [`lark-doc-update.md`](lark-doc-update.md) — 更新正文 |
| 49 | +- [`lark-doc-resource-cover.md`](lark-doc-resource-cover.md) — 封面资源 |
| 50 | +- [`lark-doc-whiteboard.md`](lark-doc-whiteboard.md) — 文档与画板协作 |
0 commit comments