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