Communitygithub.com

flc1125/mote

將 Markdown 發布為具有可分享 URL 的不可變網頁。僅在用戶要求發布或分享 Markdown 文件或 AI 生成的線上內容時使用。本地預覽、閱讀與編輯不需要發布。

mote 是什麼?

此技能(Mote)專為 AI 代理設計,用於將 Markdown 內容發布為一個不可變、不可枚舉且可通過瀏覽器直接閱讀的線上頁面,並返回一個唯一的 URL。當使用者明確要求「分享」、「發布為網頁」或「生成一個連結」時,代理應觸發此技能。它特別適用於開發者的設計文檔、調研資料、會議記錄或 AI 生成的報告等內容。Mote 支援兩種主要操作路徑:MCP(模型上下文協議)工具與 CLI 指令。MCP 工具可在對話中無縫發布 Markdown 字串或本地 Markdown 檔案(自動處理圖片上傳)。CLI 則提供更靈活的檔案發布方式。此技能會嚴格避免處理包含密碼、API 密鑰或企業機密的內容,因為 Mote 的 URL 本身即為存取憑證,且目前不提供使用者側的刪除功能。發布後的文檔即為不可變資產,任何修改都需要重新發布以產生新的 URL。它還具備清晰的限制和錯誤處理機制,例如檔案大小限制(Markdown ≤ 2 MiB,圖片 ≤ 10 MiB)、不支援 SVG 圖片、以及明確的錯誤訊息引導。此技能適用於 Claude Code、Cursor 及其他支援 MCP 的代理平台。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/flc1125/mote/tree/main/skills/mote

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

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(已安裝且已設定鑑權時可用)

  1. 已有檔案直接發布原檔案。對話內容沒有本地圖片時,可寫入暫存檔案;有本地圖片時,將 Markdown 與所需圖片放入保持相對路徑關係的暫存目錄,再透過 CLI 或本地 publish_markdown_file 發布。圖片相對於 Markdown 檔案所在目錄解析,不是相對於終端工作目錄;不要只把 Markdown 移到 /tmp。
  2. 執行:
mote <file.md> --json
  1. 解析 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 後重試。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相關技能