交給 AI 接入
按模型種類選擇 HopBase 接入說明,讓編程 AI 只配置當前需要的模型與密鑰。
先選擇要用的模型種類,再把對應標籤裡的接入說明交給 Codex、Claude Code、Cursor 等編程 AI。每份說明只包含這類模型需要的密鑰、協議和端點,不會讓 AI 一次配置全部能力。
先選擇正確的模型標籤
| 你要接入的能力 | 選擇標籤 | 使用的分組金鑰 |
|---|---|---|
| Claude API 或 Claude Code | Claude | Claude 分組密鑰 |
| GPT 對話或 Codex Responses | GPT / Codex | 包含 Codex Plus、Codex Pro 或 GPT 官方直連(Azure)分組的密鑰——Codex 分組只能對話;Azure 分組另含 gpt-image-2.5-flare 與 gpt-image-2.5-sunburst 生圖 |
| GPT Image 生圖 | GPT / Codex | GPT Image 分組密鑰——含 gpt-image-* 全系列;「GPT 官方直連(Azure)」也能呼叫 gpt-image-2.5-flare 與 gpt-image-2.5-sunburst |
| Gemini 對話或 Banana 圖片 | Gemini | Gemini 分組密鑰 |
| GLM 對話或通過 CC Switch 使用 GLM | GLM | GLM 分組密鑰 |
| Seedream 圖片生成或編輯 | Seedream | Seedream 分組密鑰 |
| Seedance 影片生成 | Seedance | Seedance 分組密鑰 |
| MiniMax H3 影片生成 | MiniMax H3 | MiniMax H3 分組密鑰——H3 與 H3-Max 是兩個獨立分組,H3 密鑰用不了 H3-Max |
| 可靈影片、生圖、運動控制、數字人或對口型 | 可靈 | 可靈分組密鑰 |
| 萬相 3.0 或快樂馬影片生成 | 萬相 / 快樂馬 | 萬相 3.0 分組密鑰或快樂馬分組密鑰——控制檯裡是兩個獨立分組,一把密鑰可以同時包含兩者 |
| Grok 對話、生圖或影片生成 | Grok | Grok 分組密鑰;影片用獨立的 Grok 影片分組 |
| 通義千問對話,可帶圖片或影片輸入 | 通義千問 | 通義千問分組密鑰 |
| DeepSeek V4 對話或推理 | DeepSeek V4 | DeepSeek 分組密鑰 |
| Kimi K3 對話 | Kimi K3 | Kimi K3 分組密鑰 |
| 豆包 Seed 對話,可帶圖片輸入 | 豆包 Seed | 豆包 Seed 分組密鑰 |
| Midjourney 生圖 | Midjourney | Midjourney 生圖分組密鑰 |
| 語音合成或聲音複製 | MiniMax 語音 | MiniMax 語音分組密鑰 |
| 豆包語音合成、場景音訊生成或聲音複刻 | 豆包語音 | 豆包語音分組密鑰 |
多模型項目使用當前說明列出的獨立環境變量,例如 HOPBASE_CLAUDE_API_KEY 或 HOPBASE_GEMINI_API_KEY;單模型項目可繼續使用 HOPBASE_API_KEY。不要把真實密鑰粘貼到 AI 對話,也不要寫進源碼、提交記錄、截圖或日誌。
每一行對應的準確分組名見快速開始 · 分組怎麼選。「Claude Max(ccmax)」分組只能在 Claude Code 客戶端裡用;給 SDK 或 API 項目接 Claude 時,請選其他 Claude 分組。
請在當前項目中只通過 HopBase 接入 Claude 模型,嚴格遵守以下接入說明;與廠商官方 API 文檔不一致時,以本說明為準。
本次範圍
- 只實現 Claude API(Anthropic Messages)或 Claude Code 所需的接入;不要添加、配置或測試其他模型種類。
- 保留項目現有框架、SDK 和代碼風格,只做最小必要修改。
- 先判斷這是本地單用戶工具、內部服務,還是代表下游客戶 / 多租戶發起請求,再決定密鑰放置和調用架構。
密鑰
- 只使用 Claude 系列密鑰。每把密鑰只綁定一個控制檯分組,只能調用該分組內的模型:
- SDK、HTTP、編輯器與 Claude Code:「Claude Max(官號滿血版)」或「Claude Max(官號滿血版)- 限時特惠」。
- 「Claude Max(ccmax)」只能在 Claude Code 客戶端內使用;用這把密鑰走 SDK 或 HTTP 調用會失敗。
- 多模型項目讀取 HOPBASE_CLAUDE_API_KEY 或現有密鑰管理器;只有明確為單模型項目時才複用 HOPBASE_API_KEY。
- 不要創建新密鑰、不要讀取其他模型種類的密鑰,也不要讓我把真實密鑰粘貼進對話。密鑰不存在時停止,提示我在控制檯「API 金鑰」中創建對應分組的密鑰,並在本機或密鑰管理器中配置。
模型
- 先用這把密鑰調用 GET https://api.hop-base.com/v1/models,只使用返回列表中以 claude- 開頭的 ID,原樣複製。
- 在售:claude-fable-5-1、claude-sonnet-5、claude-sonnet-5-5、claude-opus-5-5、claude-fable-5、claude-opus-5、claude-opus-4-8、claude-opus-4-7、claude-opus-4-6、claude-sonnet-4-6、claude-haiku-4-5-20251001。
- 404 model_not_found 表示該 ID 不在這把密鑰的分組裡:重新讀取 /v1/models 並使用返回的 ID,絕不猜測、縮寫或改寫模型名。
連接
- Base URL 為 https://api.hop-base.com,不帶 /v1(SDK 會自行拼上 /v1/messages)。Base URL 多寫 /v1 會變成 /v1/v1/messages 並返回 404。
- 鑑權:SDK 用 api_key 參數,原生 HTTP 用 x-api-key 請求頭;保持 SDK 原生鑑權方式。
- 端點:POST /v1/messages 與 POST /v1/messages/count_tokens。Claude 密鑰調用 OpenAI 路徑(/v1/chat/completions、/v1/responses)返回 404;不要把 Messages 調用改寫成 Chat Completions。
- Claude Code:ANTHROPIC_BASE_URL=https://api.hop-base.com,ANTHROPIC_AUTH_TOKEN=<Claude 密鑰>。一鍵配置會把兩者寫進 ~/.claude/settings.json 的 env 塊,該文件優先於 shell 環境變量。
請求規則
- 始終顯式傳 max_tokens。省略時按 4096 補齊,長輸出會以 stop_reason "max_tokens" 截斷。
- claude-opus-5-5:思考恆開——傳 thinking {"type":"disabled"} 或 budget_tokens 返回 400;用 output_config.effort 控制深度(默認 medium)。tool_choice 為 any / tool 返回 400(改用 auto)。不支持 assistant 預填。
- 歷史中的 thinking 塊必須按收到時原樣回傳(含 signature);改寫、合併或跨模型複用會返回 400 "Invalid signature in thinking block"。
- 非流式調用總時長上限 300 秒(超時 504)。長輸出請用流式,並原樣透傳 Anthropic SSE;count_tokens 請求同樣佔用併發。
錯誤與重試
- 按 HTTP 狀態碼和 error.code 分支,不要匹配 message 文本;記錄響應頭 x-request-id 以便排查。
- 可退避重試(2 秒、5 秒、15 秒,最多 3 次,遵守 Retry-After):429、502、503、504,以及中斷的流。
- 不要原樣重試:400、401、402、403、404、413、422——先修正請求、密鑰、分組或餘額。
- Anthropic 形狀的錯誤體沒有 code 字段;密鑰類錯誤(401、402、403)即使在 /v1/messages 上也使用 OpenAI 形狀 {"error":{"code":…}}。
- 404 "This API path is not supported by the current platform" = 協議選錯或 Base URL 多了 /v1。修正配置,不要重試。
- 流式開始後出錯時 HTTP 仍是 200,錯誤以 event: error 事件到達;在讀取循環中處理,並整體重發請求。
實施要求
- 把 Base URL、密鑰變量名和默認模型寫進項目現有配置體系,並同步更新 .env.example;禁止寫入真實密鑰。
- 下游 / 多租戶調用必須把密鑰留在服務端,複用調用方鑑權,並加上模型 allowlist、請求限制、超時、限流、用量歸因和脫敏日誌;本地單用戶工具不要引入這一層。
- 賬戶默認併發 5 個請求,超出立即返回 429 並帶 Retry-After: 1,不會排隊;請在客戶端限流。
驗證與交付
- 配置後發送一次最小真實請求;只有項目實際使用流式時才追加流式測試。
- 用返回列表中的 claude- 模型發送一條 max_tokens 為 1024、要求“只回復 ok”的 Messages 請求,並驗證 content[0].text。
- 最後報告修改的文件、密鑰變量名、模型 ID、端點、HTTP 狀態和脫敏響應摘要,並給出啟動、驗證和回滾命令。下載給編程 Agent 的規則文件
勾選本項目用到的全部模型種類。文件會合併它們的接入說明:通用規則只寫一次,再按模型種類分節,並附上即時文檔與 MCP 服務的入口。勾選超過三個模型種類時,每節只保留密鑰、模型與連接規則,完整規則改為連結。
AGENTS.md.cursor/rules/hopbase.mdc.claude/skills/hopbase-api/SKILL.md切換標籤時,代碼區和「複製給 AI」會同步切換。接入說明要求 AI 只使用當前模型種類的密鑰執行模型發現,再從返回列表中選擇模型,避免跨套餐誤配。
想把規則留在倉庫裡:在說明下方的面板勾選本項目用到的全部模型種類,合併下載為 AGENTS.md、Cursor 規則(.cursor/rules/hopbase.mdc)或 Claude Code skill(.claude/skills/hopbase-api/SKILL.md)。通用規則只寫一次,隨後按模型種類分節,並附上即時文檔與下文 MCP 服務的入口。把文件提交進倉庫,讓每次 Agent 會話都從同一套規則出發;模型或參數有變化後重新下載一次。
AI 會如何判斷下游場景
| 項目場景 | AI 應採用的接入方式 |
|---|---|
| 本地單用戶工具 | 直接使用環境變量和對應 SDK,不額外增加代理服務 |
| 內部服務 | 在服務端保存密鑰,並保留現有鑑權、限流和錯誤處理 |
| 面向客戶或多租戶 | 增加密鑰隔離、調用方鑑權、模型 allowlist、限流、用量歸因、SSE 透傳和脫敏日誌 |
接入說明不會把普通的單用戶本地接入改造成複雜網關;只有項目代表下游客戶發起請求時,才要求補齊服務端保護措施。
MCP 服務
編程 Agent 也可以透過 MCP 即時查詢 HopBase,而不只依賴保存下來的文件。MCP 服務唯讀,使用與請求相同的 API 密鑰鑑權;模型調用仍走常規 API 端點。
| 項目 | 值 |
|---|---|
| 端點 | https://api.hop-base.com/mcp(Streamable HTTP,只接受 POST;不支援 SSE 流與批量請求) |
| 鑑權 | Authorization: Bearer <密鑰> 或 x-api-key: <密鑰> |
| 範圍 | 結果只涉及當前這把密鑰:它的各個分組、可調模型與用量 |
| 工具 | 返回 |
|---|---|
list_models | 這把密鑰可調用的模型及實付價 |
get_model_limits | 指定模型 ID:這把密鑰能否調用,以及文檔中該模型的端點、請求參數與上下限,附來源頁連結 |
search_docs | 與查詢(模型 ID、參數名、錯誤碼)最匹配的文檔小節,每條帶連結與摘要 |
get_balance | 賬戶餘額與這把密鑰的花費上限使用情況(USD) |
get_key_info | 密鑰名稱、分組、花費上限、併發上限、過期時間與狀態 |
get_usage | 這把密鑰的請求數、token 數與賬面費用;預設最近 7 天,最長 92 天 |
get_model_limits 與 search_docs 讀取已發布的文檔,最多每小時刷新一次。以連結的文檔頁為準:結果裡沒列出的限制不代表不存在。
Claude Code
claude mcp add --transport http hopbase https://api.hop-base.com/mcp \
--header "Authorization: Bearer $HOPBASE_API_KEY"執行命令時 shell 會展開環境變量,密鑰因此保存在本機的 Claude Code 配置裡。需要團隊共享的項目配置時,改為在 .mcp.json 中添加該服務,並把請求頭寫成 "Authorization": "Bearer ${HOPBASE_API_KEY}";Claude Code 啟動時再展開,文件裡不含密鑰。
Cursor
在項目的 .cursor/mcp.json(或對所有項目生效的 ~/.cursor/mcp.json)中添加:
{
"mcpServers": {
"hopbase": {
"url": "https://api.hop-base.com/mcp",
"headers": { "Authorization": "Bearer ${env:HOPBASE_API_KEY}" }
}
}
}list_models 與 get_model_limits 只能看到所配置密鑰所含的分組。要查看其他模型種類,給密鑰加上它的分組,或用包含該分組的密鑰再添加一個服務條目。
下一步
- 快速開始——手動發出第一個請求
- Base URL 與協議——每個模型種類該用哪個地址和協議
- 可用模型——各模型的 ID 與能力
- 錯誤碼與重試——每個錯誤碼的含義和該不該重試