用途
本技能面向需要向 Outline Wiki 工作区写入内容的场景,负责创建与编辑文档,并处理图片附件、@mention、评论、Collection 管理、移动/删除/归档文档等扩展写操作。它是 outline-wiki-* 家族中写能力最重的一个,包含核心写能力(创建、编辑)与扩展写能力(图片附件、@mention、评论、Collection 管理、移动/删除文档),并附带风格映射与风格 checklist。读与搜由 outline-wiki-search 负责,MCP 配置由 outline-wiki-setup 负责。
何时使用
- 用户要求创建、写、编辑、改、更新、推、上传、publish、同步或拷贝一篇文档到 Outline。
- 文档含图,或需要把图传到 Outline、给文档插图。
- 需要 @某人、评论、移动、删除、归档或整理 Outline 文档。
- 需要管理 Outline Collection(新建、改描述等)。
- 写新文档或大幅改写已有文档(含图、含 mermaid、含 attachment 引用)。
- 跑完 gemini-paper-summary 等上游工具后,要把生成的本地 markdown 与 figures 推到 Outline。
何时不使用
- 搜或读 Outline 文档,走 outline-wiki-search。
- 配置 Outline MCP(首次接入、重启后看不到、401),走 outline-wiki-setup。
- 使用其他 wiki/知识库产品(Notion、Confluence、Obsidian、GitHub Wiki)。
- 分享、导出、权限调整(官方 MCP 文档未列、server 通常也未暴露),走 Outline UI 或直接调 REST API。
- 需要彩色高亮等 Markdown 表达不出来的富文本特性,走 UI 或 REST API 并附 proseMirrorDoc 参数。
主要能力
核心能力:
- 创建:在指定 Collection 下新建文档,可传父文档 ID 创建子页。典型参数含 title、content、collection_id、parent_document_id。
- 编辑:修改已有文档标题或 Markdown 正文。典型参数含 id、title、content、editMode(replace/append/prepend/patch)。
扩展能力(官方文档未明列,但当前 server 及多数 self-hosted 部署实际暴露,使用前需 tools/list 确认):
- 图片/文件附件:create_attachment 注册元数据,再 curl 上传二进制,最后在 Markdown 中引用 attachment URL。
- @mention:list_users 查成员,配合 @Display Name 语法。
- 评论:create_comment / list_comments / update_comment / delete_comment,支持嵌套回复与 resolve/unresolve。
- Collection 管理:list_collections、list_collection_documents、create_collection、update_collection、delete_collection。
- 移动/删除文档:move_document、delete_document(默认进 trash,30 天内可恢复;可 archive=true 直接归档)。
使用方式
标准流程:
- 核实配置与工具:确认 outline 相关 MCP 工具已注册;调 tools/list 取实际工具清单与参数 schema。
- 理解意图:把自然语言指令映射到核心或扩展能力。
- 先搜后写:创建/编辑前先用 outline-wiki-search 查重或定位目标文档;图片场景先确认 attachment 通道可用。
- 执行操作:调用对应工具;写新文档或大幅改写时,正文首块写 OKF yaml 元数据块(硬门槛 type,推荐 description/tags/created/updated 与可选 x-outline;title 走 Outline 字段,不写 okf_version),标题从 ## 起不跳级。
- 图片场景走三步:create_attachment → curl 上传 → Markdown 引用 attachment URL。
- 破坏性操作(delete、move_document、delete_collection)先确认。
- 验证结果并报告。
图片附件三步流程(每张图独立走一遍):
- 调 create_attachment(name, contentType, size) 获取 uploadUrl 与表单字段。
- 用 curl 把本地文件 POST 到 uploadUrl(/api/files.create),逐字回传 form 字段(Cache-Control、Content-Type、key、acl、maxUploadSize、_csrf),附 file=@<path>;响应 success:true 才算成功。
- 在 Markdown 中写 ,attachment.url 形如 /api/attachments.redirect?id=<uuid>。
认证使用 outline MCP 配置里的 API key(Authorization: Bearer <key>),与 MCP server 同一把 key。
风格基线
- OKF 元数据块:正文首块 ```yaml,硬门槛 type;推荐 description/tags/created/updated/x-outline。
- OKF title 走 Outline 原生 title 字段,不进 yaml 块;单篇文档不写 okf_version。
- 标题层级用 #/##/###,正文不要 H1。
- Bullet marker 用 *(不用 - 或 +)。
- 高亮用 ==text==。
- 代码块语言必填;Shell 提示符用 $> 后接空格。
- 图片用 attachment 引用;@mention 用 mention://user/<userId>。
- Mermaid 标识符用 ```mermaidjs。
- 中文叙述 + 英文术语混排;行宽遵守 .markdownlint.jsonc MD013。
适用场景
- 在 Outline 工作区创建或更新文档。
- 把含图文档(论文笔记、架构图等)推送到 Outline。
- 管理 Collection、评论、@mention、移动/删除/归档文档。
- 与 outline-wiki-search 配合形成“先搜后写”流程。
限制
- 不处理非 Outline Wiki 的知识库。
- 不在 MCP 未启用时操作。
- 不支持分享、导出、权限调整。
- 不支持彩色高亮(Markdown 写不出来,create_document/update_document 不接收原始 ProseMirror 节点)。
- 不绕过 tools/list 凭印象调用工具。
- 不在 server 端生成/撤销 API Key。
- 已知坑:mcp update_document 的 text 字段在某些场景会吞换行(首行表格三行被压成一行);patch 模式 findText 过短会追加而非替换。整篇重写建议改用 REST API POST /api/documents.update。
- 图片附件若缺 curl 上传步骤,attachment 记录存在但内容为 0 字节,文档嵌图后显示破图。