開發者用 Rust 編寫了一個完整的推特命令行工具「x-cli」,將推特的主要功能整合為單一二進位執行檔
開發者用 Rust 編寫了一個完整的推特命令行工具「x-cli」,將推特的主要功能整合為單一二進位執行檔,支援所有核心操作。
功能完整性: 這個工具的核心特色是功能完整性。在讀取操作方面,使用者可以:
- 瀏覽首頁時間線
- 查看特定使用者的推文和回覆
- 檢視粉絲及關注列表
- 搜尋推文和查看推文詳情
寫操作同樣全面,包括:
- 發推、回覆、引用轉推
- 點贊、取消點贊
- 轉推、取消轉推
- 關注和取消關注
這意味著該工具並非只是簡單的瀏覽器,而是一個完整的推特客戶端替代方案。
精簡輸出格式: 輸出格式採用精簡 JSON,自動提取關鍵字段並移除 GraphQL 原始包裝,資料量相比原始 API 回應減少約 98%。舉例來說,推文輸出包含推文 ID、URL、文本、建立時間、語言、作者資訊及統計數據(瀏覽次數、點贊、轉推、回覆、引用和收藏),使用者資訊則涵蓋帳號 ID、暱稱、名稱、描述、粉絲數、關注數和推文計數。
多種認證方案: 認證機制提供多種方案,針對不同使用場景:
- 最簡單的方法是在本地電腦使用瀏覽器登入時直接透過 Chrome 或 Firefox 進行認證
- 對於 Agent 部署在雲端而本地電腦有瀏覽器登入的情況,工具提供從 DevTools 的 Network 標籤複製完整 Cookie 字符串的方法,再從中提取 auth_token 和 ct0
- 對於僅有手機且推特登入在移動端的使用者,有三種獲取方式:在手機瀏覽器輸入 JavaScript 命令讀取 cookie、使用 Android Chrome 的 DevTools 遠端調試,或透過網路抓包工具截獲請求頭中的完整 Cookie 值
寫操作限制: 一個重要的實作細節是寫操作必須提供完整 cookie(credentials.json 中的 extra_cookies 字段),否則會報告 226 錯誤,提示「looks like automated behavior」。只提供 auth_token 加 ct0 無法成功執行發推、回覆或引用轉推。相比之下,讀操作不受此限制。這反映出推特對自動化行為的防禦機制相當嚴格。
緊湊模式與進階操作: 工具還支援「緊湊模式」,使用者可加上 -c 標記減少輸出,只保留關鍵字段,適合與大語言模型或管道工具配合使用。命令可與 jq 結合進行進階操作,例如提取推文文本、按點贊數排序推文、根據互動次數篩選結果或提取特定使用者的粉絲數。
技術實現細節: 技術實現採用 rquest(支援 Chrome TLS 指紋)和 reqwest(備用)雙 HTTP 客戶端,自動提取 x-client-transaction-id,API 邏輯參考 heimdall 專案。安裝方式彈性,支援:
- 一鍵自動安裝腳本(自動偵測系統和架構)
- 手動下載特定平台的編譯版本
- 從原始碼使用 Rust 工具鏈編譯
故障排除指引: 故障排除文件指出,認證失敗時執行認證命令,226 錯誤需從瀏覽器 Network 標籤複製完整 Cookie,404 錯誤則可透過刪除交易快取檔案解決。憑證檔案應設定 600 權限確保安全,auth_token 有效期通常數月,修改推特密碼會使所有 token 失效。
用 rust 写了个 x-cli 工具,包括相关的 skill
— White (@holaaWhite) March 10, 2026
实现推特所有的相关的操作,浏览时间线、搜索、点赞、收藏、发推、转发、引用推文等
赶紧丢给你的小龙虾 🦞 用起来
https://t.co/MduKzoB3eH pic.twitter.com/aSzlaUgE1M
