文件
LobeChat
自行託管的 LobeChat 需要設定三個環境變數才能連線至 Kunavo:金鑰、代理 URL,以及要顯示在模型選擇器中的模型 ID 清單。
將 OPENAI_API_KEY 設為你的 sk-kn-… 金鑰,將 OPENAI_PROXY_URL 設為 https://api.kunavo.com/v1,並在 OPENAI_MODEL_LIST 中列出所需的 ID。Claude 和 GPT 接著便會共用同一個模型選擇器和餘額。
OPENAI_API_KEY=sk-kn-...
OPENAI_PROXY_URL=https://api.kunavo.com/v1
# LobeChat only shows models it knows about, so name the ones you want.
OPENAI_MODEL_LIST=claude-sonnet-5,claude-haiku-4-5,claude-opus-5,gpt-5-6-terra/v1 後綴應包含在 OPENAI_PROXY_URL 中。LobeChat 會直接轉送至你提供的 URL,而不會重建 OpenAI 路徑,因此它自己的 .env.example 會將預設值寫成 https://api.openai.com/v1,其中包含此後綴。逐步操作
- 在
/app/keys建立金鑰並複製——金鑰只會顯示一次。 - 將三個變數加入部署環境:裸機安裝請加入
.env檔案,Docker 則請加入environment區塊。 - 重新啟動容器,讓新環境變數生效。
- 開啟 LobeChat,開始一個工作階段,並選取你在
OPENAI_MODEL_LIST中列出的其中一個 ID。
services:
lobe-chat:
image: lobehub/lobe-chat
ports:
- "3210:3210"
environment:
OPENAI_API_KEY: sk-kn-...
OPENAI_PROXY_URL: https://api.kunavo.com/v1
OPENAI_MODEL_LIST: claude-sonnet-5,claude-haiku-4-5,gpt-5-6-terraLobeChat 自己的變數參考文件是 模型提供者環境變數頁面。
先驗證,再開始除錯容器
只需一個請求,就能確認故障出在端點、金鑰,還是 LobeChat 的模型清單。若回應是模型 ID 的 JSON 清單,表示相同的 URL 和金鑰可正常運作;此時選擇器仍是空的,問題就在OPENAI_MODEL_LIST,而非端點。
# Settles whether a failure is the endpoint, the key, or LobeChat.
curl -sS https://api.kunavo.com/v1/models \
-H "Authorization: Bearer sk-kn-..."要列出哪些 ID
Kunavo 上的所有文字模型都可以放進 OPENAI_MODEL_LIST;完整清單列在模型頁面,並由 GET /v1/models 即時提供。費率以每 1M 個 token 的美元計價,依序為輸入/輸出。
| 模型 ID | Kunavo 輸入/輸出 | 適用情境 |
|---|---|---|
claude-haiku-4-5 | $0.70 / $3.50 | 最便宜的 Claude,適合重視每輪成本的長時間對話 |
claude-sonnet-5 | $1.40 / $7.00 | 品質與價格的預設平衡選擇 |
claude-opus-5 | $3.50 / $17.50 | 品質最高的 Claude 級別 |
gpt-5-6-terra | $0.70 / $4.20 | 相同金鑰,不同模型系列,不必另外設定第二個供應商 |
常見問題
如何讓 LobeChat 使用自訂 OpenAI 相容端點?
在部署環境中,將 OPENAI_PROXY_URL 設為端點的 base URL,並將 OPENAI_API_KEY 設為你的金鑰;Kunavo 的設定值是 https://api.kunavo.com/v1。LobeChat 自己的 .env.example 將 https://api.openai.com/v1 列為該變數的範例值,提醒你 /v1 後綴應包含在此變數值中,而不是由系統自動附加。
為什麼我的自訂模型沒有出現在 LobeChat 的模型清單中?
LobeChat 會顯示已指定給它的模型,而非端點可提供的所有模型。因此,模型 ID 即使能透過端點呼叫,只要不在清單中就不會顯示。請在 OPENAI_MODEL_LIST 中以逗號分隔列出模型 ID。LobeChat 文件也說明了此變數的前綴語法:開頭加上 + 會新增模型,加上 - 會隱藏模型,而 model_name=display_name 則會變更模型選擇器中的顯示名稱。
LobeChat 能透過 OpenAI 提供者使用 Claude 模型嗎?
若模型透過 OpenAI 相容端點提供,便可以使用。LobeChat 的 OpenAI 提供者會將模型 ID 傳送至 OPENAI_PROXY_URL 指定的端點,因此 Claude ID 會在閘道解析,而不是由 LobeChat 解析;此方式不需 Anthropic 憑證。Kunavo 的 Claude 和 GPT ID 共用一把金鑰,因此若要新增模型家族,只需將 ID 加入 OPENAI_MODEL_LIST。
LobeChat 的圖片生成功能能透過自訂端點運作嗎?
這取決於端點實作了哪些路由,而不是 LobeChat。聊天提供者需要 /v1/chat/completions;圖片生成則使用另一個獨立路由。Kunavo 透過自己的端點提供圖片和影片生成功能,並分別列於 images 和 video 文件中。因此,可靠的做法是使用 LobeChat 聊天,並直接呼叫媒體端點,而不要假設單一提供者設定能同時涵蓋這兩者。