Mote — Markdown in, URL out
Mote 把 Markdown 发布为不可变、不可枚举、浏览器可读的在线页面,返回一个 URL。本 Skill 只指导何时以及如何使用 Mote;发布协议由 CLI / MCP 实现,不要自己实现上传逻辑。
何时使用
满足以下任一意图时使用 Mote:
- 「把这份 Markdown / 报告 / 文档分享出去」「发成网页 / 链接」
- 明确要求把设计文档、调研材料、会议记录或 README 变成在线链接
- 要求把你刚生成的报告/分析结果发布为网页
仅阅读、编辑 Markdown 或在本地浏览器预览时,不发布到 Mote。
不要使用:
- 内容包含密码、API Key、私钥等凭证,或企业机密——Mote 的 URL 即访问凭证,知道链接即可阅读,当前不提供用户侧删除入口
- 需要修改已发布内容——Mote 文档不可变;改内容必须重新发布得到新 URL
如何发布
先检查是否引用本地图片,再按已配置的工具选择路径。尊重用户指定的实例;已有自托管配置时,不强制切换到公共实例 https://mote.pub。
路径 A:MCP 工具(如果 mote MCP server 已连接)
- 内容在对话中且没有本地图片 → 调用
publish_markdown,传markdown(可选name,如report.md)。本地和远程的这个工具都不收集本地图片,只保留远程图片 URL。 - 本地 Markdown 文件 → 仅本地 stdio 提供
publish_markdown_file,传path(本地图片自动上传、按内容去重);远程只有publish_markdown,需要本地文件/图片时使用已配置的 CLI,不把路径传给远程工具。
路径 B:CLI(已安装且已配置鉴权时可用)
- 已有文件直接发布原文件。对话内容没有本地图片时,可写入临时文件;有本地图片时,将 Markdown 与所需图片放入保持相对路径关系的临时目录,再通过 CLI 或本地
publish_markdown_file发布。图片相对于 Markdown 文件所在目录解析,不是相对于终端工作目录;不要只把 Markdown 移到/tmp。 - 执行:
mote <file.md> --json
- 解析 stdout 的 JSON:
{ "id": "...", "url": "..." }
CLI 会自动处理 Markdown 和受支持 HTML 中的本地图片引用、路径校验、上传和内容去重;远程图片保留原 URL,不会下载打包。只有图片会随文档上传,指向其他本地 Markdown 文件的链接不会自动发布目标文件。
内容兼容性
- 支持常用 Markdown、表格、任务列表、脚注、GitHub 风格 Alerts,以及指定语言的代码高亮。
- 数学公式支持 TeX 子集;
mermaid代码块支持六类静态图表子集,每篇最多尝试渲染四个图表。无效、不支持或超出预算的内容可能显示为源码,发布成功不代表所有扩展语法均已渲染。 - HTML 仅允许安全子集,不执行脚本、MDX 或交互嵌入。不支持上传或直接嵌入原始 SVG;Mote 生成的图表 SVG 经独立清理,可以显示。
- 发布复杂公式或图表后,检查实际页面的公式、连线、标签和图片;未经检查,不声称渲染效果已验证。
需要详细语法或限制时,查看兼容性说明及在线案例。自托管实例的支持范围取决于部署版本。
如何处理返回的 URL
- 原样把 URL 返回给用户,不要截断、不要改写;
- 一句话说明即可,例如「已发布:」;
- 页面设置了禁止搜索引擎索引的指令,这不是访问控制或绝对不被收录的保证;可访问性取决于实例和存储持续运行;
- 如果用户后续要求「更新这个页面」:说明已存储的 Markdown 和已上传资产不可变,重新发布会得到新 URL;Viewer 更新可能改变呈现效果,远程图片依赖来源站点。
限制(发布前自检)
- Markdown ≤ 2 MiB;单张图片 ≤ 10 MiB;上传资产 ≤ 50;整个包 ≤ 20 MiB。1 MiB = 1,048,576 字节,CLI 按内容去重后计数,远程图片不计入
- 图片格式:png / jpeg / webp / gif / avif(不支持 SVG)
- 超出限制时如实告诉用户哪一项超限,不要自行删减内容
常见错误
- 登录失效:引导用户针对同一实例完成交互登录;用户已明确要求协助登录时,按授权范围继续。不因发布失败擅自发起浏览器登录、不读取其他客户端的凭据、不切换回旧 token。具体步骤见鉴权说明;
no publish token configured:确认实例的鉴权模式。静态模式需要实例管理员提供 token;Access 实例需要 OAuth 登录或显式机器模式,不能把 Cloudflare 管理 API token 当发布密钥;不自行生成凭据;- 机器模式:需要显式
MOTE_AUTH_MODE=service及目标匹配的MOTE_SERVICE_API_URL、MOTE_SERVICE_CLIENT_ID、MOTE_SERVICE_CLIENT_SECRET。缺失或无效时停止,不用用户登录态替代; - 超时、5xx 或结果未知:不自动重试发布,可能已经生成不可变文档;先核对结果,再由用户决定是否重新发布;
asset not found: <path>:Markdown 引用的本地图片不存在,提醒用户检查相对路径;unsupported image type:引用了 SVG 等不支持格式,建议用户转换为 png/webp 后重试。