503 No available accounts
503 No available accounts 表示請求已經到達中轉站或代理閘道,但目前沒有可調度的上游帳號、供應商或分組可用。它不是典型的 API Key 寫錯問題,更像帳號池容量、模型限流、分組權限、客戶端限制或路由故障的訊號。
錯誤摘要
先不要盲目換 Key。這個錯誤通常說明帳號池、供應商、分組或模型路由暫時不可用。先測最小請求、確認模型和分組,再判斷是等待恢復、降低上下文,還是換 provider。
這個錯誤是什麼意思
503 Service Unavailable 表示服務端暫時沒有準備好處理請求。放到 AI API 中轉站裡,No available accounts 更具體:代理層找不到一個可用的上游帳號、供應商、分組或模型通道。
這類錯誤和 401 不一樣。401 是認證沒過;503 No available accounts 往往說明認證已經過了,但後面的帳號池或路由沒有可用出口。
常見原因
- 中轉站帳號池滿載,目前時段請求量高,上游帳號都在冷卻、限流或不可用。
- 你選擇的模型觸發了上游模型級限流,例如長上下文、thinking 模型或高 token 輸入導致短時間冷卻。
- API Key 所在分組沒有綁定可用供應商,或者上游帳號被分到另一個 group,導致目前 group 調度不到帳號。
- 服務商設定了客戶端限制,例如只允許 Claude Code 客戶端調用,反代、CCSwitch、非官方客戶端會被拒絕。
- 自建代理或二級中轉存在路由問題:某個上游返回 no account 後,粘性會話或錯誤處理沒有切換到其他可用帳號。
排查和修復步驟
- 先等 30 到 120 秒再重試。503 本來就應該被當作臨時容量問題處理,不要立刻用腳本高頻重試。
- 用同一 Base URL、API Key 和模型名發一個最小請求。如果最小請求也返回 503,重點看服務商狀態頁、帳號池、分組和模型可用性。
- 換一個更常規的模型測試,例如從高上下文、thinking、opus 或專用模型切到普通模型。若普通模型可用,問題多半是模型級容量或限流。
- 檢查服務商控制台裡的 API Key 分組、供應商綁定、餘額、每日額度和客戶端限制。不要只重新生成 Key,Key 輪換通常解決不了帳號池不可用。
- 如果你在用 CCSwitch、反代或自建閘道,先繞過中間層直連 provider 的 Base URL 測試一次。二級代理的會話粘滯、錯誤轉發或 fallback 失敗也會把上游短故障放大。
API 中轉用戶要重點看什麼
先區分三個層次:你的本地工具、你配置的中轉站,以及中轉站背後的上游帳號池。
如果 curl 最小請求成功,但 Claude Code、Codex 或 Cursor 失敗,重點檢查工具是否發送了超長上下文、是否選了不支援的模型、是否走了錯誤 profile。Coding agent 的一次請求可能包含大量歷史上下文,看起來低並發,實際已經觸發了模型級限流。
如果 curl 最小請求也失敗,問題通常不在本地。此時更應該看 provider 的狀態頁、公告、客服反饋和帳號池容量,而不是反覆改 API Key。
什麼時候該換 Provider
當最小請求持續返回 503、同一 provider 的多個模型都不可用,或服務商明確說明帳號池滿載時,換 provider 才有意義。
如果只有某個模型失敗,先換模型或分組。如果只有某個客戶端失敗,先檢查客戶端限制和 Base URL 配置。把所有 503 都歸因成「站掛了」是偷懶判斷,很容易讓你在多個中轉站之間來回遷移,卻沒有解決真正的配置或上下文問題。