# 策展 · X (Twitter) 🔥

> 作者：White (@holaaWhite) · 平台：X (Twitter) · 日期：2026-03-16

> 原始來源：https://x.com/holaaWhite/status/2031337068241309935

## 中文摘要

開發者用 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 失效。

## 標籤

CLI, 開源專案, Rust, Twitter
