X Api Skill:用官方 API 在 X 上發推

前言

給 X(Twitter)做程序化發推,常見做法是抓 cookie 走 bird CLI 這類工具。這條路能跑,但 cookie 會過期,發得頻繁還會撞上機器人檢測和限速,穩定性全看平臺臉色。下面是一套把發推搬到官方 API 上的 Skill,認證走 OAuth 1.0a 用戶上下文,繞開 cookie 方案的限制。

這是什麼

X Api 是一個發推 Skill,座標 @clawhub_lobstergeneralintelligence/x-api,由 lobstergeneralintelligence 維護,上游託管在 ClawHub,版本 v0.1.0,許可證 MIT-0,ClawHub 安全審計結果爲 Pass。它解決的問題只有一個:用官方 API 穩定發推。SkillHub 上該 Skill 的分類標註爲 content-creation,顯示評分 100000、下載 15075、安裝 1984。

核心功能

只做發推,這一點要先說清楚。Skill 的官方說明裏寫得明確:讀取時間線、搜索、監控這類操作不要走本 Skill,交給 bird CLI。所以下面列出的能力是文檔中實際覆蓋的範圍。

1、單條發推。支持多行文本,成功返回推文 URL。
2、OAuth 1.0a 認證。使用 Consumer Key/Secret 加 Access Token/Secret 四元組,走用戶上下文簽名,這是發推必需的。
3、憑據配置兩種方式。環境變量或本地配置文件,二者取其一即可。

這裏要交代一處資料衝突:該 Skill 的線索描述提到 OAuth 2.0 Bearer Token、推文串、讀取時間線、搜索、限流退避與 429/403 處理,但在 ClawHub 官方頁面和 SkillHub 頁面上都查不到對應內容,官方頁面反而建議讀取改用 bird CLI。這些能力不寫進本文,需要時自行到官方地址覈對。

安裝與啓用

安裝走 OpenClaw 的 skills 命令,ClawHub 頁面給出的是這一條。ClawHub 同時列出了 npx skills 作爲 CLI 方式。Cursor、Codex CLI、Claude Code 是否有對應安裝方式,官方頁面沒有說明,這裏不寫。

openclaw skills install @lobstergeneralintelligence/x-api

安裝後依賴一個 npm 包,需要全局安裝。這是發推腳本底層調用的客戶端庫。

npm install -g twitter-api-v2

配置憑據

發推前要先拿到官方憑據。打開 X Developer Portal 的 dashboard,新建 Project 和 App,把 App 權限設爲 Read and Write(只有讀權限時會返回 401),然後在 Keys and tokens 頁取四樣東西。

API Key (Consumer Key)
API Key Secret (Consumer Secret)
Access Token
Access Token Secret

憑據有兩種放法。第一種是環境變量。

export X_API_KEY="your-api-key"
export X_API_SECRET="your-api-secret"
export X_ACCESS_TOKEN="your-access-token"
export X_ACCESS_SECRET="your-access-token-secret"

第二種是配置文件,路徑固定在 ~/.clawdbot/secrets/x-api.json,字段名與上面四樣對應。

{
  "consumerKey": "your-api-key",
  "consumerSecret": "your-api-secret",
  "accessToken": "your-access-token",
  "accessTokenSecret": "your-access-token-secret"
}

兩種任選其一。憑證不要硬編碼進腳本或提交進倉庫,泄露後到 Developer Portal 重新生成 Access Token。

典型用法

裝好依賴、配好憑據之後直接發推。命令形式是 x-post 後接正文。

x-post "Your tweet text here"

如果命令不在 PATH 裏,用腳本全路徑調用。

node /path/to/skills/x-api/scripts/x-post.mjs "Your tweet text here"

多行文本同樣支持,用換行分隔即可。

x-post "Line one

Line two

Line three"

成功時返回推文 URL。

限額與常見報錯

發推是計費操作,免費檔每月 1,500 條,前提是 X Developer Portal 裏有 credits;Basic 檔每月 100 美元,限額更高。三個常見報錯的處理方式如下。

1、402 Credits Depleted:到 Developer Portal 的 Dashboard 裏補充 credits。
2、401 Unauthorized:先確認 App 權限設成了 Read and Write,然後重新生成 Access Token。
3、No credentials found:說明環境變量沒設、配置文件也沒建,按上面任一方式補上。

讀取怎麼辦

需要讀時間線、讀提及、搜索、看某個賬號的推文或讀單條推文時,用 bird CLI,官方說明裏給出的命令如下。

bird home            # 時間線
bird mentions        # 提及
bird search "query"  # 搜索
bird user-tweets @handle  # 某賬號的推文
bird read <tweet-url>      # 單條推文

這樣分工的理由是成本:讀操作走免費的 CLI,寫操作走官方 API,兩邊都不浪費 credits。

適用場景與注意

適合需要可靠發推的場景:定時發內容、腳本批量發佈、把發推接進現有自動化流程。不適合把它當讀寫一體的客戶端用,讀側要另配 bird CLI。

注意三點。一是免費檔 1,500 條/月的額度要按發佈頻率覈算,超了會直接 402。二是憑據必須留在環境變量或 ~/.clawdbot/secrets/ 下,不要寫進代碼倉庫。三是 App 權限要一次設成 Read and Write,只給讀權限的話發推會失敗。

結尾

這套 Skill 的價值在於把發推從 cookie 依賴裏摘出來,認證和限流都由官方 API 負責。它只覆蓋發推,讀側需要和 bird CLI 搭配使用。官方地址:https://www.skillhub.cn/skills/clawhub_lobstergeneralintelligence/x-api ,上游倉庫:https://clawhub.ai/lobstergeneralintelligence/x-api 。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜