Zeabur AI Hub 暫停服務了?改用 BazaarLink,一行 base URL 無縫接手
Zeabur AI Hub 暫停服務中。BazaarLink 是台灣的 OpenAI 相容 AI API 入口,一把金鑰呼叫 GPT、Claude、Gemini,改一行 base URL 即可搬遷,並支援每專案獨立金鑰、花費上限與統一發票。
Zeabur AI Hub 目前暫停服務
Zeabur 的 AI Hub 目前暫停服務中。如果你原本透過它呼叫 GPT、Claude、Gemini 等模型,現在需要一個能直接接手的入口——BazaarLink 可以無縫取代:同樣是 OpenAI 相容 API、同樣一把金鑰呼叫多家模型,程式碼只要改一行 base URL;而且多了 AI Hub 沒有的東西:每專案獨立金鑰、每把金鑰的花費上限、多模型自動容錯,以及台灣公司的統一發票。
這篇文章直接講怎麼搬過來,順便把金鑰治理一次做對。
搬遷前先定三個原則
原則一:不要把原廠 API 金鑰直接放進部署平台。 OpenAI、Anthropic 這類原廠金鑰通常預設是「無上限」的——只要有效,攻擊者可以無限制地用你的帳號打 API,直到你發現帳單異常為止。金鑰本身沒有內建的花費煞車,一旦外洩,唯一能做的就是事後止血,損失已經發生。
原則二:每個專案、每個部署環境,都該用獨立的金鑰。 如果所有專案共用同一把原廠金鑰,一個環境外洩,等於全部專案的額度都曝險,你也很難從帳單異常反推是哪個環境出了問題。獨立金鑰不只是安全考量,也是成本歸屬的基本盤——沒有獨立金鑰,你甚至不知道哪個服務燒了多少錢。
原則三:每把金鑰都該有花費上限。 這是最容易被忽略、但效果最直接的一道防線。金鑰外洩幾乎無法百分之百避免(憑證外洩、程式碼誤 commit、第三方平台被入侵,任何一環都可能出事),但如果每把金鑰本身就設了每日或每月的花費上限,外洩造成的最大損失就被鎖死在一個你可以接受的數字,而不是「無上限帳單」。
這三個原則的共同邏輯是:不要相信單一防線,把「金鑰外洩」當成一定會發生的事來設計系統,而不是靠運氣避免它。
用 BazaarLink 落實這三個原則
BazaarLink(bazaarlink.ai)是一個 OpenAI 相容的 AI API 中繼服務:你的程式碼不用重寫,只要把 base_url 換成 BazaarLink 的端點,就能透過同一組 API 呼叫 GPT、Claude、Gemini、Qwen、DeepSeek 等多家模型,而不需要在自己的系統裡直接持有每一家原廠的金鑰。
第一步:換 base URL
原本呼叫 OpenAI 相容 API 的程式碼,只要把 base_url/baseURL 改成 BazaarLink 的端點即可:
from openai import OpenAI
client = OpenAI(
base_url="https://bazaarlink.ai/api/v1",
api_key="sk-bl-YOUR_API_KEY",
)
completion = client.chat.completions.create(
model="anthropic/claude-sonnet-4.6",
messages=[{"role": "user", "content": "幫我摘要這份會議記錄"}],
)
print(completion.choices[0].message.content)
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://bazaarlink.ai/api/v1",
apiKey: "sk-bl-YOUR_API_KEY",
});
const completion = await client.chat.completions.create({
model: "openai/gpt-5.6-luna",
messages: [{ role: "user", content: "幫我摘要這份會議記錄" }],
});
這樣一來你根本不需要持有各家原廠金鑰——模型端的憑證由 BazaarLink 集中管理。你部署到 Zeabur、Vercel 或任何平台上的環境變數,放的都是 BazaarLink 發給你的專案金鑰(sk-bl- 開頭),不是 OpenAI/Anthropic 的原廠金鑰。
第二步:每個專案建一把獨立金鑰、設花費上限
BazaarLink 的金鑰管理 API 支援替每把金鑰命名、設定花費上限與重置週期,建立時需要用你帳號的管理型金鑰呼叫:
curl https://bazaarlink.ai/api/v1/keys \
-H "Authorization: Bearer sk-bl-YOUR_MANAGEMENT_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "side-project-staging",
"limit": 20,
"limit_reset": "monthly"
}'
這把新產生的金鑰,就是這次要放進 Zeabur(或其他部署平台)環境變數的那一把。它跟其他專案的金鑰完全獨立,每月最多只會燒到 20 美元——就算這把金鑰真的外洩,攻擊者能造成的損失也被鎖在你設定的上限內,不會變成無上限帳單。
第三步:打開自動容錯(failover,目前為 Beta)
多模型中繼的另一個附加價值是容錯:當主要模型的供應商發生 5xx 錯誤、逾時或被限流時,BazaarLink 可以自動改用你指定的備援模型重試,不需要改你的程式碼:
{
"model": "openai/gpt-5.6-luna",
"messages": [{"role": "user", "content": "..."}],
"extra_body": {
"models": ["anthropic/claude-sonnet-4.6", "google/gemini-3.7-flash"]
}
}
回應會帶一個標頭告訴你這次請求實際是哪個模型服務的,方便你事後追查。這個功能目前是 Beta,用在正式環境前建議先自行驗證行為是否符合你的服務等級要求。
順手拿到的:用量報表
因為所有模型呼叫都經過同一個中繼層,BazaarLink 可以依模型、團隊、成員、API Key 拆分花費與 Token 用量,支援 CSV、JSON 與 PDF 匯出——即使沒發生金鑰外洩,這份報表本身對月結對帳、抓異常用量都很實用,而且往往比事後翻好幾家原廠帳單省事得多。
對台灣公司來說的額外好處
除了金鑰治理,BazaarLink 是台灣公司:美元計費、台幣報價每日隨匯率更新,不用自己處理跨境刷卡的手續費與匯損。企業用戶可以憑統一編號開立電子統一發票,也可洽談企業月結(付款條件 Net-30,可議);如果你的公司習慣走台灣的正規財會流程,不需要另外為了一個 AI 供應商去研究外國廠商的付款憑證該怎麼入帳、要不要處理跨境數位服務的稅務問題——這對很多中小型團隊來說,其實是比技術規格更常被低估的行政成本。
結語
從 Zeabur AI Hub 搬到 BazaarLink 只要改一行 base URL;趁這次搬遷,順手把「原廠金鑰不落地、每專案獨立金鑰、每把金鑰都有花費上限」做成常態架構,之後不管部署在哪個平台,金鑰風險都被鎖在可控範圍內。
如果你想在不改動太多程式碼的前提下做到這件事,可以到 bazaarlink.ai 建立第一把有花費上限的專案金鑰,實際感受一下「就算金鑰外洩,最大損失也能先被鎖住」是什麼感覺。
FAQ
Zeabur AI Hub 暫停服務,原本的程式要改多少?
只要把 OpenAI 相容 SDK 的 base_url/baseURL 改成 https://bazaarlink.ai/api/v1,金鑰換成 BazaarLink 發的 sk-bl- 金鑰,其餘程式碼不動。
BazaarLink 的金鑰可以設花費上限嗎?
可以。透過金鑰管理 API 建立金鑰時可命名、設定花費上限(limit)與重置週期(limit_reset,例如 monthly)。每個專案建一把獨立金鑰,外洩時最大損失就鎖在你設定的上限內。
自動容錯(failover)怎麼用?
在請求的 extra_body 裡用 models 陣列指定備援模型;主模型 5xx、逾時或被限流時會自動改用備援模型重試,回應標頭會標示實際服務的模型。此功能目前為 Beta,正式環境前請先自行驗證。
台灣公司用 BazaarLink 可以開統一發票嗎?
可以。企業用戶可憑統一編號開立電子統一發票,也可洽談企業月結(付款條件 Net-30,可議)。美元計費、台幣報價每日隨匯率更新。
需要在 BazaarLink 放各家原廠的 API 金鑰嗎?
不需要。模型端憑證由 BazaarLink 集中管理,你部署到 Zeabur、Vercel 等平台的環境變數只放 BazaarLink 的專案金鑰,不放 OpenAI/Anthropic 的原廠金鑰。