開始
交給 AI 接入
複製完整的 HopBase 接入契約,讓編程 AI 在現有項目中完成接入與驗證。
把下面整段交給 Codex、Claude Code、Cursor 或其他編程 AI。它會先識別項目技術棧和調用場景,再做最小修改、調用模型發現接口,並完成一次真實冒煙測試。
先在本機準備密鑰
設置 HOPBASE_API_KEY 環境變量。不要把真實密鑰粘貼到 AI 對話,也不要寫進源碼、提交記錄、截圖或日誌;如果變量尚未設置,讓 AI 停下來提示你在本機設置。
請在當前項目中接入 HopBase,並遵守以下接入契約:目標- 保留項目現有框架、SDK 和代碼風格,只做完成接入所需的最小修改。- 先識別這是終端用戶直連、內部服務調用,還是代表下游客戶 / 多租戶發起請求,再選擇接入架構。- 完成配置後執行一次真實冒煙測試,並報告修改文件、所用模型、HTTP 狀態和響應摘要。連接參數- OpenAI 兼容 Base URL:https://api.hop-base.com/v1- Anthropic 兼容 Base URL:https://api.hop-base.com- API Key:只從本機環境變量 HOPBASE_API_KEY 或項目現有密鑰管理器讀取;如果不存在,停止並提示我在本機設置,絕不能要求我把真實密鑰粘貼進對話。- OpenAI 兼容路由鑑權:Authorization: Bearer $HOPBASE_API_KEY- Anthropic 兼容路由鑑權:使用 Anthropic SDK 的 api_key,或 HTTP header x-api-key: $HOPBASE_API_KEY;網關也接受 Bearer,但優先保持 SDK 原生方式。- 模型發現:GET https://api.hop-base.com/v1/models- Codex / Responses:POST https://api.hop-base.com/v1/responses- 對話:POST https://api.hop-base.com/v1/chat/completions- Gemini Omni 多模態與視頻生成:POST https://api.hop-base.com/v1/interactions- 圖片生成:POST https://api.hop-base.com/v1/images/generations- 圖片編輯:POST https://api.hop-base.com/v1/images/edits- Seedance 視頻提交:POST https://api.hop-base.com/v1/video/generate- Seedance 視頻查詢:GET https://api.hop-base.com/v1/video/tasks/{task_id}協議選擇- Claude / Claude Code:使用 Anthropic 協議,Base URL 不帶 /v1。- Codex CLI:使用 OpenAI Responses API,Base URL 帶 /v1,wire_api = "responses"。- 普通 GPT 應用、GLM、Gemini 對話:使用 OpenAI Chat Completions 兼容協議,Base URL 帶 /v1。- Gemini Omni:gemini-omni-flash-preview 使用 POST /v1/interactions,支持文字、圖片、視頻輸入和視頻輸出;輸入視頻最長 10 秒,輸出為 3-10 秒、720p、24 FPS。不要用 Chat Completions 的純文本結構解析視頻結果。- GPT Image、Gemini Banana:使用 OpenAI Images 兼容協議,並按當前線路能力選擇生成或編輯接口;不要給圖片接口發送 Gemini generateContent 請求體。- Seedream 5.0 Pro:支持同步文生圖、單圖 / 多圖圖生圖與圖片編輯。推薦調用 POST /v1/images/generations,並在編輯時加入 image;已有 OpenAI 編輯代碼也可調用 POST /v1/images/edits。- Seedance:使用 HopBase 異步視頻任務 API;提交後輪詢 task_id,不要按 Chat Completions 解析。密鑰與模型規則- 一把密鑰只屬於一個套餐分組,不能假設它能跨 Claude、OpenAI、Gemini、Seedream 分組調用。- 寫配置前必須先用該密鑰調用 GET /v1/models;只選擇響應裡實際返回的模型 ID。- Gemini 常用默認模型:gemini-3.5-flash。- Gemini 工具調用可選:gemini-3.1-pro-preview-customtools,但僅在 /v1/models 返回它時使用。- Gemini Omni 多模態視頻模型:gemini-omni-flash-preview;僅在 /v1/models 返回它時使用。- Seedream 模型:seedream-5-0-pro;僅在 /v1/models 返回它時使用。- Seedance 視頻模型:只使用 /v1/models 返回的 dreamina-seedance-2-0-* 完整 ID。下游、多租戶與外部調用場景- 如果項目代表終端用戶、租戶或下游客戶調用模型,必須把 HOPBASE_API_KEY 保留在服務端,禁止下發到瀏覽器、移動端或客戶環境。- 複用項目現有調用方鑑權;沒有鑑權時先說明風險,不要暴露一個匿名代理端點。- 對調用方實施模型 allowlist、請求大小限制、超時、併發與速率限制,防止越權和費用失控。- 將每次調用歸因到調用方 / 租戶,並記錄模型、狀態、延遲與用量;日誌必須脫敏,禁止記錄密鑰和完整敏感提示詞。- 流式響應必須端到端透傳 SSE 並關閉中間層緩衝;上游 4xx / 5xx 狀態碼和可公開錯誤信息必須保真,不要全部改寫成 200。- 只有確認存在下游、多租戶或外部調用時才加入上述網關層;單用戶本地工具不要為此引入無關架構。實施要求1. 檢查現有依賴與配置,複用已經安裝的 OpenAI 或 Anthropic SDK。2. 將 Base URL、API Key 和默認模型放進環境變量或項目現有的密鑰管理方案;同步更新 .env.example,但絕不寫入真實密鑰。3. 保持現有業務行為,不重寫無關文件,不刪除其他供應商配置。4. 先驗證 GET /v1/models,再發送一個最小非流式請求;項目使用流式響應時再追加流式測試。5. 遇到 model_not_found 時,重新讀取 /v1/models 並換用返回列表中的模型,不要猜測模型名。6. 最後給出可複製的啟動命令、驗證命令和回滾方法。如果只想測試連通性,讓 AI 先執行模型發現,再選擇返回列表中的一個對話模型請求“只回復 ok”。這比硬編碼某個模型更不容易因套餐差異失敗。
AI 會如何判斷下游場景
當項目代表終端用戶、租戶或外部客戶發起請求時,契約會要求 AI 自動補齊服務端密鑰隔離、調用方鑑權、模型 allowlist、限流、用量歸因、SSE 透傳、錯誤狀態保真和脫敏日誌。普通的單用戶本地接入不會因此被改造成複雜網關。