9.7 KiB
一個指令,開往 10 個平台。
小紅書 · 抖音 · TikTok · 嗶哩嗶哩 · 快手 · 微博 · 閒魚 · 淘寶 · 京東 · X
即將上車:Instagram · YouTube · Facebook · 知乎 · 微信公眾號 · 今日頭條 · 得物 · 拼多多 · 美團 · 大眾點評
每個平台都有自己的一套 API、簽章、登入方式和資料格式。catbus 把它們裝進同一輛車:同一套指令、同一種 JSON、同一個登入狀態目錄。換平台,只需要換一個詞。
✨ catbus 是什麼
catbus(貓巴士)是一個命令列工具,用統一的語法呼叫 10 個中國大陸及國際主流平台的 web 端功能:搜尋、詳細資料、留言、使用者、推薦動態、下載、發佈、私訊、直播彈幕……
catbus xhs item search 露营 --sort latest
catbus douyin item search 露营 --sort latest
catbus bilibili item search 露营 --sort latest
catbus x item search camping --sort latest
四個平台,四條幾乎一樣的指令,輸出同一種結構的 JSON。筆記、作品、影片、推文一律叫 item,搜尋一律叫 search,按讚一律叫 like。學一次,十個平台都會用。
🚀 為什麼選 catbus
🧭 同義同名意義相同的功能,在所有平台上都用同一個指令、同一組參數、同一種輸出。就算用了平台原生的叫法( |
📦 只需要 Node不需要 Python、編譯器或任何系統相依套件。原生相依套件全部附有預先編譯的版本,涵蓋 Windows、macOS、Linux 的 x64 / arm64(含 musl),8 個目標系統都在 CI 上逐一進行冒煙測試。 |
🤖 為 AI Agent 而生stdout 只有 JSON,結束代碼穩定,錯誤訊息裡直接附上下一步該執行的指令; |
🔐 登入狀態只留在你的電腦上QR Code 掃描、簡訊、cookie 匯入都支援,憑證依 平台 × 端 × 帳號 隔離存放在 |
🧪 與上游逐位元組一致每個請求的 URL、header 順序、cookie、body 和簽章,都在固定的亂數與時鐘下和上游實作逐位元組比對。560+ 份比對資料、940+ 個離線測試,守住每一次修改。 |
🛡️ 瀏覽器等級的網路堆疊與真正的 Chrome 一致的 TLS / HTTP2 指紋,上游簽章 JS 原封不動地在沙盒中執行,滑塊、點選驗證碼則用本機的 ONNX 與 OpenCV 自動辨識。 |
📊 一些數字
| 🚌 平台 | ⌨️ 已實作指令 | 🧪 比對資料 | ✅ 離線測試 | 💻 目標系統 |
|---|---|---|---|---|
| 10 | 300+ | 560+ | 940+ | 8 |
🏗️ 架構
- 一個註冊表驅動一切:指令解析、四層
--help、catbus platforms、能力矩陣 都由同一份註冊表產生,永遠不會互相矛盾。 - 一個平台,一組檔案:
client負責工作階段與簽章,api與上游方法一一對應,normalize把原始資料轉成統一的型別,resolve讓 ID、連結、分享短網址、me都能當作參數。 - 可擴充:規範為 app / pc 端預留了位置;非 JS 的上游將透過 provider 協定接入。
🤖 為 AI Agent 而生
catbus 從第一天起,就是依照「被程式呼叫」來設計的:
catbus platforms douyin | jq '.data.commands[] | select(.status=="implemented") | .resource + " " + .action'
- 自我描述:每個平台、每條指令的登入需求、實作狀態、上游支援程度,一條指令就能查到。
- 可預期:成功和失敗都是同一種信封
{ ok, data, page, error };error.hint直接給出下一步的指令。 - 能接力:所有輸出物件都帶有
id和url,上一條指令的結果可以直接餵給下一條。 - 有分寸:危險操作必須明確加上
-y,發佈時可以設為僅自己可見,遇到風控會明確回報RISK_CONTROL,不會偷偷重試。
一行指令把 catbus 技能裝進 Claude Code、Cursor、Codex 等 Agent:
npx skills add cv-cat/catbus
技能按需載入:總綱只有一頁,碰到哪個平台、做哪類事(採集、發布、直播私訊、排錯)才讀對應的子檔案,並且內建安全紅線——登入交給你、寫入操作先確認、發布預設僅自己可見、遇到風控就停。
⚡ 30 秒上車
npm i -g catbus-cli
catbus doctor # 檢查環境
catbus bilibili auth login # 掃描 QR Code 登入
catbus bilibili item search 猫 --limit 20
也可以用 Docker 或從原始碼安裝,完整步驟請見 快速上手。
📚 文件
以下文件目前僅提供簡體中文版。
| 🚀 快速上手 | 從安裝到匯出第一批資料 |
| 🔑 登入 · ⚙️ 設定 · 🐳 Docker | 掃碼 / cookie、多帳號、代理伺服器、容器 |
| 📤 輸出與錯誤處理 | 信封、正規化型別、分頁、結束代碼 |
| 🧭 各平台說明 · 🗂️ 能力矩陣 | 每個平台支援什麼、參數怎麼傳 |
| 🧪 範例腳本 | 跨平台搜尋、匯出留言、備份作品、錄製直播彈幕 |
| 📐 AGENTS.md | catbus 的規範本身 |
| ❓ 常見問題 | 為什麼要登入、遇到風控怎麼辦…… |
🤝 參與貢獻
歡迎 issue 和 PR:新平台、新指令、平台 API 變動、文件改進都可以。開始之前請先讀一下 CONTRIBUTING.md 和 AGENTS.md(規範先行,請求必須有比對測試)。安全性問題請依照 SECURITY.md 私下回報。
📈 Star 趨勢
🍔 交流群
如果你對爬蟲和 AI Agent 感興趣,歡迎加入群聊一起討論~
ps:群滿或 QR code 過期時,請開 issue,或透過微信 / QQ 提醒
| group-1 | group-2 | group-3 | group-4 (2000 人 QQ 群) |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
⚠️ 免責聲明
- 本專案僅供學習與研究使用,請勿用於商業用途或任何違法用途。
- 使用時請遵守各平台的使用者協議與服務條款,以及你所在地的法律規範;不要蒐集、散布他人的隱私資料,不要對平台造成過大的請求壓力。
- 自動化操作可能觸發平台風控,導致驗證碼、流量限制,甚至帳號遭到停權。因使用本專案而產生的一切後果,均由使用者自行承擔。
- 本專案與上述任何平台均無關聯,也未獲得其授權或認可。各平台名稱與商標歸其各自所有者所有。



