GitHub 火線榜

GitHub 火線榜 · 倉庫檔案

aimod-cc/Agent2API

本地反向代理 + OpenAI 兼容 AI 网关:复用桌面客户端登录态,一个 base_url 调用十余家模型额度 · Local OpenAI-compatible gateway for AI coding clients — WorkBuddy, Raccoon, CatPaw, AutoClaw, Qoder, Cline, Accio, ZCode, CodeArts, Trae and more. (簡介來自倉庫自身文件。)

資料截至 October 23aimod-cc

最好成績

#99

黑馬榜 · 被埋沒的爆發候選

1.3K

累計 Star

318

Fork 總數

2

近 30 天在榜天數

把上榜徽章放進你的 README · aimod-cc/Agent2API[![把上榜徽章放進你的 README](https://git.vaiox.xyz/api/badge/aimod-cc/Agent2API.svg)](https://git.vaiox.xyz/zh-TW/repo/aimod-cc/Agent2API)

專案文件

Agent2API

把多家 AI 桌面客戶端的登入狀態,變成一個本地 OpenAI 相容 API 閘道

简体中文 | English | 繁體中文 | 日本語 | 한국어 | Português (BR)

license release docker pulls stars platform

✨ 核心特性 • 💬 社群與支援 • 🤝 支援的供應商 • 🚀 快速開始 • 🐳 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 感謝 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 或任何其它執行環境。

  1. 首次啟動即在應用程式行程內啟動本機閘道(連接埠 3065)並開啟主視窗;若偵測到舊版本的資料目錄或資料檔案,會彈窗提示遷移,依指引操作即可。
  2. 點「帳號」頁的「新增帳號」,選供應商後依彈窗提示完成登入或填寫憑證即可(方式以彈窗為準:網頁登入 / 手機驗證碼 / 貼上憑證 / 匯入本機登入狀態)。
  3. 把 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 部署

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 天活躍熱力圖:

報表概覽:統計卡片、Top 帳號 / 供應商、模型與供應商用量環圈圖

趨勢:24 小時快取命中率(折線)與 Token 消耗(面積)雙軸同圖,底部依天 Token 長條圖:

報表趨勢:快取命中率與 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" 的原因。

⭐ Star History

Star History Chart

下載最新版 • 問題回饋

如果這個專案對你有幫助,歡迎點一個 ⭐️ Star!

當前上榜

  • 99

    黑馬榜 · 被埋沒的爆發候選

    1.3K 星 · 318 fork · 星星 / 天

    黑馬 →

近 30 天勢頭

累計 Star 走勢

名次走勢

← 回到榜單