把多家 AI 桌面客戶端的登入狀態,變成一個本地 OpenAI 相容 API 閘道
简体中文 | English | 繁體中文 | 日本語 | 한국어 | Português (BR)
✨ 核心特性 • 💬 社群與支援 • 🤝 支援的供應商 • 🚀 快速開始 • 🐳 Docker 部署 • 📸 介面預覽 • 🔧 開發與建置 • 📜 使用聲明
Agent2API 把多家 AI 桌面客戶端裡已登入的帳號接到一起,共用一套 OpenAI 相容介面。任何支援自訂 base_url 的客戶端,填上 http://127.0.0.1:3065/v1 就能直接呼叫這些帳號的模型額度 —— 不需要上游 API Key,也不需要改客戶端。
- 🔌 OpenAI 相容 —— 客戶端填上
base_url就能用,Chat / Responses / Messages 三種協定都支援 - 🏪 內建 17 家供應商 —— WorkBuddy、小浣熊、CatPaw、Qoder、Trae 等開箱即用,也支援自訂供應商
- 🔁 憑證自動續期 —— Token 到期自動換新,臨期憑證可批次刷新,模型目錄也不會過期
- 🪂 多帳號輪轉 —— 依優先順序排隊,429 自動換帳號,限額冷卻期內不空等
- 🛡️ 出口代理 —— 每個帳號可配獨立出口,出站指紋按官方客戶端偽裝
- 🔑 閘道安全 —— 多把閘道 Key 可分權、登入有人機驗證,沒配 Key 時預設拒絕請求
- 📊 請求報表 —— 請求量、成功率、Token 消耗一覽,還有快取命中率與 365 天熱力圖
- ⏰ 排程任務 —— 自動簽到、憑證維護、模型目錄重新整理,開關與間隔在同一頁管理
- 💰 餘額與用量 —— 帳號列內直接看餘額與用量,支援跨帳號並行查詢
- 🖥️ 兩種部署 —— 桌面端常駐托盤、免裝 Node;Docker 版面板與閘道同連接埠,介面六語
![]() |
感謝 ProxyLane 贊助了本專案!ProxyLane 提供 AI 帳號專用的原生靜態住宅 IP(Static Residential ISP):IP 來自真實家庭寬頻營運商,Scamalytics 低詐欺評分,每個 IP 獨享,不限流量,$3.90 起。在「網路代理」頁給每個帳號配一個出口即可。首次購買使用優惠碼 AGENT2API25 享 75 折。 |
- QQ 群:Agent2API 交流群,群號
1127656296(在 QQ 裡搜尋群號即可加入);使用疑難與問題回饋都在這裡。 - 💖 贊助:如果 Agent2API 幫到了你,歡迎請作者喝杯咖啡;贊助完全自願,不解鎖任何功能。
- 🤝 贊助 / 商務合作:想贊助本專案,或想讓你的產品出現在這裡?寄信到 541675139@qq.com。
支援情況一覽(✓ 支援 · ✗ 不支援 · — 無此概念):
| 平台 | LLM 請求 | Token 自動續期 | 模型清單 | 餘額查詢 | 簽到 | 領取類 |
|---|---|---|---|---|---|---|
| WorkBuddy 中國版 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| WorkBuddy 國際版 | ✓ | ✓ | ✓ | ✓ | ✗ | — |
| 小浣熊 | ✓ | ✓ | ✓ | ✓ | ✓ | — |
| CatPaw | ✓ | ✗ | ✓ | ✓ | ✗ | — |
| AutoClaw(中國版 / 國際版) | ✓ | ✓ | ✓ | ✓ | ✓ | — |
| Qoder | ✓ | ✓ | ✓ | ✓ | ✓ | — |
| Cline(Free / Pass) | ✓ | ✓ | ✓ | ✓ | — | — |
| Accio(國際版 / 中國版) | ✓ | ✓ | ✓ | ✓ | — | — |
| ZCode(中國版 / 國際版) | ✓ | ✗ | ✗ | ✓ | — | ✓ |
| CodeArts | ✓ | ✓ | ✓ | ✓ | — | ✓ |
| Trae | ✓ | ✓ | ✓ | ✓ | — | — |
| Loomy(訊飛) | ✓ | ✗ | ✓ | ✓ | ✓ | — |
| KukuAI(百度文庫) | ✓ | ✗ | ✓ | ✓ | ✓ | — |
| MonkeyCode(長亭科技,中國版 / 國際版) | ✓ | ✗ | ✓ | — | — | — |
| Command Code | ✓ | ✗ | ✓ | — | — | — |
| Antigravity(Google,Gemini) | ✓ | ✓ | ✓ | — | — | — |
| OfficeAce(華為雲果辦 / OfficeClaw) | ✓ | ✓ | ✓ | ✓ | ✓ | — |
| 自訂供應商 | ✓ | — | ✓ | — | — | — |
註:模型清單的 ✓ 表示支援遠端自動拉取,部分平台另有內建靜態清單備援;ZCode 僅有內建靜態清單。Token 續期欄 ✗ 表示該平台沒有可用的續期介面(帳號在有效期內不受影響)。Qoder 簽到僅中國版可用。
/v1/chat/completions、/v1/responses、/v1/messages(含 count_tokens)與 /v1/models 對所有平台一視同仁;模型對應、全域優先順序佇列、429 降級、出口代理、出站指紋脫敏與請求報表同樣對全平台通用。
本專案僅供學習與交流使用。 它以非官方客戶端形態重用你自己帳號的登入狀態,可能不符合上游服務的使用條款,風險(含帳號被風控、封鎖)自負;禁止商用或繞過計費。詳見使用聲明與 LICENSE。
本專案與各上游廠商及其官方產品均無關(名單見使用聲明);介面形態來自對各家客戶端通訊的觀察,上游隨時可能調整。
從 Releases 下載安裝包(NSIS,簡體中文,預設裝到 C:\Program Files\Agent2API,安裝時需要管理員授權),安裝後啟動即可,無需安裝 Node 或任何其它執行環境。
- 首次啟動即在應用程式行程內啟動本機閘道(連接埠 3065)並開啟主視窗;若偵測到舊版本的資料目錄或資料檔案,會彈窗提示遷移,依指引操作即可。
- 點「帳號」頁的「新增帳號」,選供應商後依彈窗提示完成登入或填寫憑證即可(方式以彈窗為準:網頁登入 / 手機驗證碼 / 貼上憑證 / 匯入本機登入狀態)。
- 把 OpenAI 客戶端的
base_url填成http://127.0.0.1:3065/v1,api_key隨便填(例如sk-local,未啟用鑑權時伺服器端不校驗)。
關閉視窗預設最小化到系統匣,閘道繼續在背景轉發;徹底結束請在系統匣圖示按右鍵選「結束」。
閘道起來後,用 curl 確認連線性(model 填 GET /v1/models 裡任一實際存在的名字):
curl http://127.0.0.1:3065/health
curl http://127.0.0.1:3065/v1/models
curl http://127.0.0.1:3065/v1/chat/completions \
-H 'Content-Type: application/json' \
-d '{"model":"deepseek-v4.1-flash","messages":[{"role":"user","content":"你好"}],"stream":true}'客戶端接入範例(Python SDK):
from openai import OpenAI
client = OpenAI(base_url="http://127.0.0.1:3065/v1", api_key="sk-local")
resp = client.chat.completions.create(
model="deepseek-v4.1-flash", # 清單裡有哪家就是哪家,見 GET /v1/models
messages=[{"role": "user", "content": "你好"}],
)
print(resp.choices[0].message.content)瀏覽器裡的頁面(自建 Web UI 等)用 fetch 直連會被跨來源預檢拒絕——閘道預設不回應 CORS,預檢落到 API Key 校驗上得 401。兩種解法:① 設定頁「安全 → 閘道跨來源存取」開啟(來源 *;此時任何網頁都能借本機閘道打上游,建議同時設定「閘道 Key」);② 頁面與閘道同來源——本地靜態服務託管頁面並把 /v1 反向代理到 127.0.0.1:3065。
預設只監聽 127.0.0.1。開啟「設定 → 一般 → 區域網路存取」後改聽所有網路介面卡,區域網路裝置把 API 位址指向本機 IP 即可共用(介面會給出完整位址)。出於安全,開啟前必須註冊面板管理員:管理介面要求管理員工作階段或閘道 Key,無可用 Key 時轉發介面同樣拒絕服務(開啟流程會自動補一把「預設」Key);也可選擇同時開放網頁面板(預設關閉)。變更重新啟動後生效。
docker run -d --name agent2api --restart unless-stopped \
-p 3065:3065 -v ./data:/data \
aimodcc/agent2api:latest瀏覽器開啟 http://<主機>:3065,首次進入會引導註冊管理員帳號;登入後在「閘道 Key」頁建立一把 API Key 給客戶端用 —— http://<主機>:3065/v1 即 OpenAI 相容端點(未建立 Key 前拒絕轉發)。所有狀態(SQLite 資料庫 / 設定 / 日誌)都落在 ./data 一個卷裡。
compose 使用者(amd64 / arm64 都有映像):
services:
agent2api:
image: aimodcc/agent2api:latest
container_name: agent2api
restart: unless-stopped
ports:
- "3065:3065"
volumes:
- ./data:/data環境變數(都可選):
| 變數 | 說明 |
|---|---|
AGENT2API_ADMIN_USER + AGENT2API_ADMIN_PASSWORD |
預置管理員帳號密碼(密碼明文填,啟動時自動轉雜湊);不填走面板註冊 |
AGENT2API_PANEL_PORT |
面板分連接埠:設定後面板(介面 + /api/*)單獨監聽該連接埠,公網只映射主連接埠即可把管理面留在內網(面板連接埠綁定迴環位址,寫 127.0.0.1:3066:3066) |
AGENT2API_HOST / AGENT2API_PROXY_PORT |
監聽位址(預設 0.0.0.0)/ 連接埠(預設 3065) |
AGENT2API_ALLOW_NO_KEY |
設 1 關閉 fail-closed(未設 Key 也放行 /v1,僅限純內網) |
AGENT2API_CAPTCHA_ENABLED |
登入頁人機驗證元件:預設 1 開啟,0 關閉 |
AGENT2API_SELF_UPDATE |
容器內的更新入口:預設 1 開啟(面板可「下載並更新」);設 0 關閉,只走手動升級 |
WORKBUDDY_UPDATE_REPO + WORKBUDDY_UPDATE_API_BASE |
進階:把「檢查更新 / 下載更新」換成自建源。前者換儲存庫(預設跟上游 aimod-cc/agent2api,fork 後可改),後者換 API 根(預設 https://api.github.com,需返回與 GitHub 同形的 release JSON)。配了自建源後,下載白名單只額外放行該源自己的網域(按源的 scheme:配 http:// 就允許明文下載,僅建議本地演練 / 內網映像用) |
從原始碼建置:複製本專案後 docker compose up -d --build(映像裡只有閘道與面板,不含 Rust 工具鏈)。
網頁端功能差異(源於「沒有本機桌面客戶端」):網頁登入(WorkBuddy / Qoder / Cline)、手機驗證碼、貼上憑證完全可用;需要本機回呼的網頁登入(AutoClaw / CatPaw / Accio / CodeArts / Trae)與「匯入本機登入狀態」不可用,請改用貼上憑證。
新增帳號:
概覽:請求數 / 成功率 / Token 總量 / Top 模型與帳號、供應商排名,附用量環圈圖與 365 天活躍熱力圖:
趨勢:24 小時快取命中率(折線)與 Token 消耗(面積)雙軸同圖,底部依天 Token 長條圖:
- Rust >= 1.77 與 Tauri 2 工具鏈(編譯桌面端本體;Windows 上還需 WebView2 執行環境)
- Node.js >= 18.17(僅用來執行
npm run tauri:*與前端建置腳本,桌面端執行時不依賴 Node)
npm run tauri:install # 安裝桌面端依賴(等價 npm --prefix desktop-tauri install)
npm run tauri:dev # 開發模式調起桌面端(自動熱重載)
npm run tauri:build # 建置桌面端安裝包
npm run build:icon # 產生圖示來源圖(改圖示設計後執行,再跑 tauri icon)打包產物為 target/release/bundle/nsis/Agent2API_<版本>_x64-setup.exe(目前約 3.0 MB;src-tauri/.cargo/config.toml 把 cargo 的 target-dir 指到了專案根的 target/)。
本專案是一個用於學習 HTTP 反向代理、SSE 串流透傳、多上游協定適配與桌面端打包(Tauri)等技術主題的實踐專案,僅供個人學習與研究使用。它不是官方產品,與騰訊公司及 WorkBuddy / CodeBuddy、美團及 CatPaw、商湯及小浣熊、智譜及 AutoClaw / autoglm、阿里巴巴及 Qoder / Accio、華為雲及 CodeArts / OfficeAce、字節跳動及 Trae、科大訊飛及 Loomy、百度文庫及 KukuAI、長亭科技及 MonkeyCode、Command Code、Google 及 Antigravity 均無任何關聯,未獲得其授權、認可或贊助。
本專案實作的是本地反向代理:在你自己的機器上重用你自己帳號的登入狀態,把請求轉發到官方上游閘道。它不破解、不繞過任何付費或權限校驗,使用的額度始終來自你自己帳號本就擁有的配額。但需要明確的是,這種「以非官方客戶端形態重用登入狀態」的轉發方式,可能不符合上游服務的使用者條款或使用約定;是否使用、由此產生的一切後果(包括但不限於帳號被限流、被風控、被凍結或封鎖),均由使用者自行承擔。
禁止將本專案用於任何商業用途、二次分發牟利、批次帳號營運、繞過上游計費或配額限制、或其他違反當地法律法規的活動。如需在生產環境或商業場景中呼叫相關模型服務,請使用官方管道與官方 API。
本專案會把帳號憑證(accessToken / refreshToken 等)以明文形式保存在本機設定目錄(預設 ~/.agent2api/)中,匯出功能產生的檔案同樣包含明文憑證。請自行妥善保管,切勿提交到公開倉庫、上傳到雲端硬碟或分享給他人。因憑證洩露造成的損失由使用者自行承擔。
本專案依「現狀」提供,作者不對其可用性、穩定性、安全性或對特定用途的適用性作任何承諾。上游介面隨時可能變更,本專案可能隨時失效而不再維護。完整條款見 LICENSE。本專案中的介面形態、協定欄位等資訊來自對各官方客戶端公開網路通訊的觀察與整理,相關商標與服務的權利歸其各自所有者;若權利方認為本專案存在不當之處,請聯絡作者,將及時調整或刪除。
本專案基於 MIT License,可自由使用、修改與分發,須保留版權聲明。
需要留意的是:LICENSE 正文之後附有一份使用聲明,其中第 3 條在 MIT 之上追加了限制(禁止商業用途、禁止二次分發牟利、禁止批次帳號營運)。因此本專案不是純粹的 MIT 專案——MIT 條款與使用聲明共同構成完整的授權與使用約定,兩者對同一行為給出不同結論時以更嚴格的一方為準。這也是 Cargo.toml 用 license-file 指向 LICENSE、而不宣告 SPDX "MIT" 的原因。







