X Post
自動化、抗機器人偵測的 X (Twitter) 發佈工具鏈,透過 Chrome DevTools Protocol (CDP) 操控真實 Chrome 瀏覽器實例。
執行環境需求 (前置檢查)
在執行任何腳本之前,請確認環境依賴已滿足 → references/runtime-setup.md。
必要檢查清單:
- 已安裝 Bun 執行環境 (
bun --version) - 已安裝 Google Chrome 或 Chromium (或已設定
X_BROWSER_CHROME_PATH) - 首次執行:在開啟的 Chrome 視窗中登入 X (session 會儲存至
~/.local/share/x-browser-profile) - 若要進行影片翻譯:需安裝
yt-dlp、ffmpeg和whisper-cli
如果缺少任何必要工具,請立即停止並通知使用者。
功能與導航地圖
根據發佈任務選擇合適的工作流程:
| 內容類型 | 腳本路徑 | 詳細說明與參考文件 |
|---|---|---|
| 文字與圖片 | scripts/x-browser.ts | 單張/多張圖片貼文與討論串 → references/regular-posts.md |
| 影片貼文 | scripts/x-video.ts | 影片上傳與轉碼監控 → references/video-posts.md |
| 引用推文 | scripts/x-quote.ts | 引用現有推文並加上評論 → references/quote-tweets.md |
| 長篇文章 | scripts/x-article.ts | 包含內嵌圖片的 Markdown 文章 → references/articles.md |
| 影片翻譯 | scripts/x-translate-video.ts | 字幕提取、翻譯與燒錄 → references/video-translation.md |
| 通用分發 | bin/x-post.js | Claude、Marketplace、npx、Skills.sh 及所有代理 → references/distribution.md |
| 問題排除 | N/A | 常見錯誤解決方案 → references/troubleshooting.md |
1. 一般貼文 (文字、圖片與討論串)
發佈標準推文,最多可包含 4 張圖片與回覆串。
# 預覽模式 (驗證撰寫框並保持視窗開啟 30 秒)
bun scripts/x-browser.ts "探索反重力代理自動化!" --image ./screenshot.png
# 發佈貼文並附加圖片與回覆
bun scripts/x-browser.ts "宣佈我們的新開源版本!" \
--image ./banner.png \
--reply "在此查看儲存庫:https://github.com/org/repo" \
--submit
- 詳細說明、圖片規格與多則推文鏈接 →
references/regular-posts.md
2. 影片貼文
發佈影片 (MP4、MOV、WebM),具備自動上傳與轉碼輪詢功能。
# 預覽影片上傳
bun scripts/x-video.ts --video ./demo.mp4 "觀看完整架構解說"
# 發佈影片並在回覆中附上來源引用
bun scripts/x-video.ts --video ./demo.mp4 \
"自動編碼循環基準測試" \
--reply "已在 SWE-bench 驗證資料集上進行基準測試。" \
--submit
- 時長限制、格式與上傳狀態 →
references/video-posts.md
3. 引用推文
引用現有公開推文並加上自訂評論,同時保留來源歸屬。
# 預覽引用推文
bun scripts/x-quote.ts https://x.com/username/status/1234567890 "關於 LLM 代理的重要觀點!"
# 直接發佈引用推文
bun scripts/x-quote.ts https://x.com/username/status/1234567890 "強烈同意此分析。" --submit
- 網址正規化與選單選擇器 →
references/quote-tweets.md
4. 長篇 X 文章 (Markdown)
將包含標題、列表、區塊引用、封面圖片與內嵌圖片的 Markdown 文件轉換為 X 文章 (需要 X Premium)。
# 預覽格式化文章草稿
bun scripts/x-article.ts ./article.md --cover ./cover.png
# 直接發佈文章
bun scripts/x-article.ts ./article.md --submit
- Frontmatter 語法與圖片佔位符機制 →
references/articles.md
5. 影片翻譯與字幕工作流程
下載外語影片推文,透過 Whisper 轉錄音訊,產生可編輯的翻譯檔案,燒錄樣式化字幕,並在發佈時附上來源歸屬。
# 步驟 1:輸入網址並建立翻譯草稿 (/tmp/x-translate/<id>/translation.md)
bun scripts/x-translate-video.ts https://x.com/username/status/1234567890 --target-lang English
# 步驟 2:編輯 /tmp/x-translate/<id>/translation.md,更新翻譯內容與 SRT
# 步驟 3:燒錄字幕並預覽
bun scripts/x-translate-video.ts --confirm /tmp/x-translate/<id>/translation.md
# 步驟 4:燒錄字幕並發佈
bun scripts/x-translate-video.ts --confirm /tmp/x-translate/<id>/translation.md --submit
- 完整流程與 FFmpeg 字幕樣式設定 →
references/video-translation.md
執行原則與安全性
- 始終先預覽:在開發或手動審查期間,執行不帶
--submit的指令。 - 持續性設定檔:所有腳本共用
~/.local/share/x-browser-profile,因此只需認證一次。 - 原生按鍵派送:媒體資產使用硬體層級的貼上模擬 (
copy-to-clipboard.ts+paste-from-clipboard.ts) 以避免 CDP 合成事件阻擋。 - 問題解決:若遇到登入超時、剪貼簿權限或 CDP 連線錯誤 →
references/troubleshooting.md。