New API 自架閘道實測:一個端點管住所有 AI 金鑰

New API 開源閘道可以把你散落各處的 AI 金鑰收進一個自架端點,實測轉發、模型白名單與逐筆計費都可行,自用前把開放註冊與營運功能收好就能上線。

用 AI 摘要這篇文章:

Claude 的金鑰在編輯器設定檔裡、OpenAI 的金鑰在某個專案的環境變數裡、臨時發給同事的那組 key 到現在沒人記得收回。AI 服務用得越多,金鑰就散得越開,哪個專案花了多少錢永遠對不起來。New API 這套開源閘道處理的正是這件事:把所有上游金鑰收進一台自己管理的伺服器,對外只發放自己的金鑰,順便把每一筆呼叫的帳記清楚。

先把結論說完:如果你的 AI 金鑰超過三組,或多個專案在共用同一批金鑰,自架一套 New API 是划算的,一個晚上就能上線。要留意的是它同時照顧「自己用」與「開站做生意」兩種人,錢包、儲值、兌換碼這些營運功能都內建在裡面,自用的人要把該關的關好;授權條款也值得先看一眼,後面會講清楚。我實際把官方 Docker 映像在本機架起來,從建渠道、發金鑰、送請求到看帳本整條跑過一次,以下把過程與觀察攤開。

我實際跑了什麼:從映像到第一筆帳

部署用的是 Docker Hub 上的官方映像 calciumion/new-api,拉下來的版本是 v1.0.0-rc.30。這裡有個容易讓人疑惑的細節:專案倉庫已經搬到 QuantumNous 這個組織底下,但 Docker 映像名稱還是留在原作者的舊名字上,搜尋時別以為自己找錯了。

第一次啟動看到的安裝精靈,會先問你一個問題:這套系統要開自用模式,還是示範站模式。接著自訂管理員帳號與密碼。網路上流傳的教學文不少寫著「預設帳號 root、密碼 123456」,在目前版本已經不成立,容器啟動日誌明白寫著系統尚未初始化、沒有任何使用者,必須走完精靈才能進場。這在安全上是實打實的進步:預設弱密碼從安裝那一刻起就被取消了,而不是等你記得去改。

為了不燒任何一毛錢,我把渠道指向自己本機跑的一個 OpenAI 相容假上游,再從閘道送請求。這樣一來,轉發、白名單、計費每一層都是閘道的真實行為,只有上游回答的內容是我預先準備的。真實供應商的速度與穩定度,這篇不做任何結論,文末的限制段會再交代一次。

轉發與白名單:SDK 換一個網址就能接

New API 的核心概念只有兩個。渠道(channel)負責保管真正的上游金鑰,一個渠道對應一個上游服務;權杖(token)則是你對外發放的金鑰。應用端的改動因此小到幾乎不用改:把 base_url 指向自己的閘道、API key 換成發出來的權杖,其他程式碼照舊。

實測的結果,非串流請求與串流請求都正常,串流模式下內容照著上游的節奏逐段送達,處理邊串流邊顯示的應用沒有障礙。金鑰格式有個貼心細節:權杖本身是 48 個字元的隨機字串,沒有 sk- 前綴,但你送 sk- 開頭的金鑰它也照樣接受,會自動把前綴剝掉再比對,沿用 OpenAI SDK 的舊慣例完全不必改程式。

除了基本的聊天補全,閘道也照顧到新型態的端點。OpenAI 的 Realtime 語音對話協定走的是 WebSocket,閘道有對應的轉發處理;搜尋與 RAG 場景用的 rerank 端點也在,文件標明支援 Cohere 與 Jina 兩家。格式轉換是另一個實用能力:OpenAI 格式與 Claude 的 Messages 格式可以互轉,OpenAI 格式也能轉去 Google Gemini,這代表你的應用只寫一種 SDK,照樣能打到不同陣營的模型。管理介面裡還內建了一個 Playground 對話頁,渠道建好就能直接在瀏覽器裡試模型,不用先寫程式。

模型白名單是我認為自用場景裡最有價值的一層。我把測試權杖設成只能使用兩個指定模型,然後故意改打不在清單上的 gpt-4o,閘道直接回覆 This token has no access to model gpt-4o,連同請求識別碼一起附上,請求根本沒有機會碰到上游。這代表你可以放心發受限權杖給小專案、工讀生或外部合作者,不用擔心對方拿去打最貴的模型。模型清單端點也只會列出渠道上實際掛載的模型,不會把上游的整包目錄洩出去。

渠道管理頁還有個內建測試按鈕,一鍵對渠道打一次真實請求並記錄回應時間。我的假上游回 58 毫秒,卡片上直接亮綠字。大量接渠道之前先按一下,馬上知道哪個上游有問題,不用等應用端噴錯才回來查。此外每個渠道可以設定優先順序、權重與失敗自動重試,同一個模型掛多個上游時,閘道會按權重分流、壞了自動換下一個,這正是把金鑰收斂起來之後才能做到的調度。

New API 渠道管理頁的渠道卡片,顯示內建測試通過與 58 毫秒回應時間Pin
渠道卡片會顯示內建測試的結果與回應時間,綠字代表這個上游目前活著。

能掛的上游種類也夠廣。原始碼裡的轉接器目錄有 40 個,從 OpenAI(含 Azure 線路)、Claude、Gemini 這些國際大廠,到 DeepSeek、智譜、騰訊、火山引擎這些中國服務,再到 OpenRouter、Perplexity 這類聚合平台都包。對自架者更實用的是 Ollama 也在清單裡:跑在自己電腦上的開源模型,照樣能掛進同一個端點、共用同一套帳本,雲端模型與本機模型在應用端看起來就只是兩個模型名稱。

每一筆呼叫都有帳:把 0.0045 美元對出來

計費是這套系統最扎實的部分。預設換算是 500,000 點額度等於 1 美元,我打了三次請求,每次 12 個輸入 token 加 8 個輸出 token,模型的計費倍率是 37.5,於是每次扣 750 點額度。帳本頁顯示的三次合計 0.0045 美元,跟手算完全一致:

對帳項目數值
換算基準500,000 點額度 = 1 美元
單次用量12 個輸入 token + 8 個輸出 token
計費倍率37.5
單次扣減750 點額度 = 0.0015 美元
三次合計0.0045 美元,與帳本頁一致

帳本不是只有總數。每一列紀錄都有走了哪個渠道、是否串流、輸入輸出 token 各多少、請求識別碼,連第一個回應位元組花了幾毫秒都記下來,管理頁頂端還有每分鐘請求數與每分鐘 token 數的即時統計。額度也可以綁在權杖上:我測試時順手給權杖設了上限,扣到見底就自動停用,等於每支對外發的金鑰都有自己的預算,超支不會蔓延到別支。對團隊來說這代表成本分攤不再靠感覺:哪個專案這個月暴衝、哪個權杖被誰拿去狂打,都有數字可以回溯,概覽頁甚至留了串接 Uptime Kuma 監控的區塊,要把服務狀態一起顧起來也有位置放。

New API 使用日誌頁,繁體中文介面,逐列列出每次呼叫的模型、token 用量與渠道Pin
使用日誌頁把每次呼叫的模型、串流與 token 用量逐列記下,頂部還有即時統計。

同一套軟體,兩種人生

安裝精靈開場那個「自用還是開站」的選擇,其實說明了這套系統的出身。它是從 One API 這個老牌開源閘道深度分支出來的專案,而那個生態系裡也有人拿同類軟體經營付費的 API 轉售站。所以你會在設定頁看到錢包、線上儲值、Stripe 與易支付串接、兌換碼、訂閱方案這些功能,它們是給站長用的,自用的人可以全部無視,但有幾件事建議主動收好。

要收的三件事:關掉開放註冊,自用模式裝完之後註冊頁預設還是開著的,任何路人都能來申請帳號;改掉資料庫預設密碼,官方 compose 範例裡寫的是 123456,範本註解自己都標了警告;管理介面不要直接裸曝在對外網路上,起碼掛個反向代理加基本驗證。另外像是 Discord、GitHub、LinuxDO、Telegram、OIDC 這些第三方登入,預設全部是關閉狀態,要用了才去申請 client 自己接,這對自用反而是好事,少一堆沒關緊的門。

自用模式也有實際差異,最明顯的是模型清單的行為:自用模式下沒有設定單價的模型照樣列出來給你用,營運模式則預設藏起來,避免計費沒有依據。同一套軟體,兩種身分看到的寬鬆度不一樣,這個設計比一刀切聰明。

授權條款與營運主體,自架前該知道的事

授權是 AGPL-3.0,外加一條追加條款:修改版必須在關於頁或頁尾保留 Frontend design and development by New API contributors. 的署名與原專案連結,並清楚標明自己改了哪些地方。自己架自己用,實務上不會感覺到它的存在;但若拿去改造後對外提供服務,開放修改後原始碼與保留署名的義務就會跟著來,這是 AGPL 的設計,商業化前值得找法務看過。

專案本身的體量與活躍度都夠:倉庫目前約 4.7 萬顆星、五百多個版本,最近的版本節奏是六天出五版,Docker 映像累計被拉取約 280 萬次。對照它的上游 One API,3.6 萬顆星、今年 1 月之後就沒有再推送,這個分支已經明顯超過它的源頭,選這個分支、不選原版的理由很具體:原版停更,這邊還在一週多版持續修。

營運主體方面,官網頁尾掛著浙江省的 ICP 備案編號,開發團隊在中國。自架的好處是金鑰與日誌都留在你自己的機器上,不出任何門;但生態上游在中國這件事,對資料主權特別敏感的組織可以先知道再決定。國際化倒是做得不錯,介面內建七種語言包含繁體中文,說明文件完整,部署文件除了 Docker 還提供 1Panel、寶塔面板的圖形化安裝路線。順帶一提,官網首頁的行銷數字比實況舊了一截,寫著 4 萬顆星出頭,實際已經 4.7 萬,引用時以倉庫的即時數字為準。

這篇沒測到的,以及誰來互補

我的假上游能驗證的是閘道自己的行為:轉發、白名單、計費、日誌,這些都是真的。真實供應商的速度、穩定度與計費口徑,這篇沒有測,也不假裝有意見。想驗證上游開出的條件有沒有兌現,可以搭配開源工具 LLM API Test,從瀏覽器直接實測延遲、吞吐與模型真偽,兩套工具一個管帳、一個驗貨。

生產級部署也沒碰。多節點叢集、Redis 快取、獨立日誌資料庫這些文件上都有,但單機加 SQLite 對個人或小團隊已經足夠,先跑起來最重要。同類的開源閘道例如 LiteLLM 也很有名,這篇沒有做對稱實測,就不替它們排名。用途上倒是值得分清楚:Free Claude Code 那類模型路由器解決的是幫你切換模型供應商,New API 解決的是金鑰收斂與成本帳本,兩件事可以並存,不少人的用法是前面掛路由、後面掛閘道。如果你的需求其實是多個資料 API 而不是模型 API,例如同花順金融資料 API 那種餵給 AI Agent 的行情源,金鑰收斂與用量對帳的思路完全通用。

誰該自架,誰先不用

該自架的人:金鑰超過三組、多專案共用、需要對帳的小團隊,以及想把共用金鑰換成可隨時回收的受限權杖的人。白名單加一鍵停權,光這兩件事就值得。

先不用的人:只有一組金鑰、一個工具的個人使用者,多一層閘道只是多一個要照顧的服務,等金鑰開始散了再來。完全不熟 Docker 的人,可以走官方文件的面板安裝路線在本機試裝,玩一晚再決定。

第一步很輕:起一個容器、SQLite 就夠、關掉註冊、把最常用的一兩個工具的 base_url 換過來,跑一週看帳本,再決定要不要認真養它。最後一條紅線寫在官方說明文件最醒目的位置,也值得放在結尾:上游金鑰必須合法取得,使用要遵守上游服務條款。拿這套系統轉售他人的模型存取權,既踩上游條款也踩法規,那條路不在這篇的討論範圍裡。

Sliven 褚崇名
Sliven 褚崇名

每日分享科技新知、免費資源以及 WordPress、虛擬主機相關主題,任何問題歡迎在科技月球下方留言,或是發送 Email 至 [email protected] 與我聯繫。

文章: 1081

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


Share to...