Communitygithub.com

sultanlive/instagram-post

透過 OpenClaw、Hermes、Claude Code 或 Codex 發佈和排程 Instagram 貼文、Reels 和輪播內容。使用 1Social MCP 伺服器(OAuth 授權,無須 API 金鑰)發佈至使用者自己的 Instagram 帳戶,首先檢查 Instagram 的標題、主題標籤、長寬比和媒體規則,最多可提前 30 天排程,並回傳遞送收據。

instagram-post 是什麼?

這個技能讓 AI 代理(例如 Claude Code、Cursor 風格的 OpenClaw 或 Hermes)能直接透過 1Social MCP 伺服器發佈和排程 Instagram 內容。它處理完整的發佈工作流程:列出已連結的 Instagram 帳戶、根據平台規則(標題長度、主題標籤數量、圖片長寬比)起草內容、上傳媒體、預覽貼文以在發佈前捕捉錯誤,以及立即發佈或排程至多 30 天後。設定過程使用 OAuth 瀏覽器登入,無須手動管理 API 金鑰;支援的代理包括 OpenClaw、Hermes、Claude Code 和任何與 MCP 相容的客戶端。該技能也涵蓋進階操作,例如檢查已發佈貼文的狀態、取消排程、在 Instagram 不支援刪除時處理傳遞失敗(任何代理都無法透過 1Social 刪除 Instagram 貼文),以及將同一篇貼文同時發佈到多個網路(LinkedIn、TikTok 等)。它強調安全性:始終在發佈前要求使用者確認,使用冪等金鑰防止重複發佈,並誠實報告「unknown」結果,而不假設成功。

相容平台✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/sultanlive/1social-skills/tree/main/plugins/instagram-by-1social/skills/instagram-post

在你喜歡的 AI 中提問

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

說明文件

Instagram with 1Social

1Social 會發佈到使用者自己的 Instagram 帳戶,並回報實際送達的內容。

設定(一次性)

這些步驟用於驅動 1Social MCP 伺服器。如果 list_accounts 等工具無法使用,請先連接它。登入方式為瀏覽器中的 OAuth;無需儲存 API 金鑰。在執行這些指令前務必先詢問使用者——登入步驟會開啟一個頁面,讓使用者自行登入 1Social。

  • OpenClaw: openclaw mcp set 1social '{"url":"https://mcp.1social.dev/mcp","transport":"streamable-http","auth":"oauth"}',然後 openclaw mcp login 1social。使用 openclaw mcp doctor 1social --probe 檢查。
  • Hermes: 在 ~/.hermes/config.yaml 中新增:
    mcp_servers:
      1social:
        url: "https://mcp.1social.dev/mcp"
        auth: oauth
    
    然後執行 hermes mcp login 1social(在無頭主機上:hermes mcp login 1social --flow device)。
  • Claude Code: claude mcp add --transport http 1social https://mcp.1social.dev/mcp
  • 任何其他客戶端: https://1social.dev/mcp 列出了每個客戶端的設定方式。

使用者需要一個 1Social 帳戶。新帳戶從免費試用開始;試用後的發佈需要付費方案 (https://1social.dev/pricing)。

工作流程

  1. 尋找帳戶。 呼叫 list_accounts。它會回傳已連結的頻道及其 ID、每個網路的即時限制、方案以及剩餘的每月配額。如果沒有連結的 Instagram 帳戶,請告知使用者前往 https://1social.dev/app 連結一個帳戶——連結需要在瀏覽器中操作,無法從聊天中完成。如果 list_accounts 回報的限制與此技能所述不同,請以 list_accounts 為準。
  2. 為網路起草內容。 按照以下規則撰寫貼文。一篇貼文由多個 segments 組成;每個 segment 是 { text, mediaIds? }。
  3. 附加媒體。
    • 使用者在聊天中附加了檔案 → 放入 media。
    • 您有公開的 https 連結 → 放入 mediaUrls。
    • 您只有磁碟上的檔案(OpenClaw、Hermes、Claude Code、Codex 或其他 CLI 代理)→ 呼叫 upload_media 並按照其說明中的上傳步驟進行操作,然後將回傳的 publicUrl 放入 mediaUrls。localhost 網址永遠無法運作。在此之前,請向使用者明確顯示您將上傳哪些檔案,並等待確認:上傳後會立即獲得一個公開連結,之後拒絕貼文並不會刪除該檔案。
  4. 預覽。 使用頻道 ID 和草稿呼叫 preview_post。這是免費的,不會發佈任何內容。修正它報告的每個問題,然後再次預覽。
  5. 向使用者確認。 顯示最終文字、發佈目標帳戶、媒體以及發佈時間。發佈是公開的,而且某些網路無法刪除貼文,因此請等待明確的同意。
  6. 發佈或排程。 呼叫 publish_post。scheduledAt: null 表示立即發佈;UTC ISO-8601 時間戳記(例如 2026-11-03T07:00:00Z)則用於排程(未來時間,最多提前 30 天)。自行將使用者的本地時間轉換為 UTC,如果使用者只說時間而沒有指定時區,請詢問是哪個時區。設定一個 idempotencyKey(一個用於此草稿的穩定字串,長度 8–128 個字元),以防止重複呼叫導致發佈兩次。
  7. 誠實回報。 結果是每個網路的收據。請如實回報每個網路的結果。unknown 表示 1Social 確實無法判斷貼文是否已發出——請如實告知,絕不要稱之為成功或失敗。

Instagram 規則

  • 每篇貼文都需要一張圖片或一段影片。只有標題會被拒絕——在起草前請先向使用者索取媒體。
  • 標題限制:2,200 個字元。最多 30 個主題標籤;3–5 個相關的主題標籤通常比一大堆標籤效果更好。
  • 圖片長寬比必須介於 4:5(直向)和 1.91:1(橫向)之間。正方形 1:1 是安全的。寬幅橫幅會被 Instagram 以「長寬比」錯誤拒絕。
  • PNG 和 JPEG 皆可使用。
  • 無分段:如果草稿包含多個 segments,1Social 會將它們合併成一個標題。請改寫成一個標題。
  • 標題中的連結在 Instagram 上無法點擊。如果使用者想要流量,建議改用「個人檔案中的連結」這類用語,而非直接貼上網址。
  • 已發佈的 Instagram 貼文無法透過 1Social 刪除——Instagram 沒有提供用於刪除的 API。在發佈前請確保使用者對標題感到滿意。

寫作技巧

  • 在前 125 個字元內抓住目光——這些內容會在「更多」之前顯示。
  • 將主題標籤放在標題的最後,並以換行符號分隔。

同時發佈到其他網路

同一個 1Social 帳戶可以一次將一篇貼文發佈到 Instagram、TikTok、LinkedIn、X、Threads、Facebook 粉絲專頁、YouTube Shorts 和 Bluesky:從 list_accounts 中列出多個頻道 ID。preview_post 會針對所有選取的網路檢查草稿。

發佈後

  • 檢查狀態: list_posts(提供 postId 以查詢單一貼文)。其中包含網路回報的儲存參與度指標。
  • 變更已排程的貼文: update_post。僅在貼文發出前有效。
  • 取消排程: cancel_post。對於尚未發佈的貼文,請使用此功能,而非 delete_post。
  • 刪除已發佈的貼文: delete_post,僅在使用者確認後執行。請逐一回報每個網路實際下架的內容:Instagram、TikTok、Threads 和 YouTube 的貼文會保持上線,只有使用者可以移除它們。
  • 傳遞失敗: retry_delivery 會重試一個網路,並再次消耗配額。對於永久性失敗(例如連結已撤銷)會拒絕執行——此時使用者必須在 https://1social.dev/app 重新連結。
  • 傳遞狀態為 unknown: 請使用者查看該網路。只有在使用者告知您貼文是否已上線後,才能呼叫 confirm_delivery 並輸入他們的答案。絕不要猜測,也絕不要在未經詢問的情況下使用 force 參數呼叫 retry_delivery——這可能會發佈第二份副本。

相關技能