文件

文件

LobeChat

自行託管的 LobeChat 需要設定三個環境變數才能連線至 Kunavo:金鑰、代理 URL,以及要顯示在模型選擇器中的模型 ID 清單。

將 OPENAI_API_KEY 設為你的 sk-kn-… 金鑰,將 OPENAI_PROXY_URL 設為 https://api.kunavo.com/v1,並在 OPENAI_MODEL_LIST 中列出所需的 ID。Claude 和 GPT 接著便會共用同一個模型選擇器和餘額。

.env
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,其中包含此後綴。

逐步操作

  1. 在 /app/keys 建立金鑰並複製——金鑰只會顯示一次。
  2. 將三個變數加入部署環境:裸機安裝請加入 .env 檔案,Docker 則請加入 environment 區塊。
  3. 重新啟動容器,讓新環境變數生效。
  4. 開啟 LobeChat,開始一個工作階段,並選取你在 OPENAI_MODEL_LIST 中列出的其中一個 ID。
docker-compose.yml
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-terra

LobeChat 自己的變數參考文件是 模型提供者環境變數頁面。

先驗證,再開始除錯容器

只需一個請求,就能確認故障出在端點、金鑰,還是 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 的美元計價,依序為輸入/輸出。

模型 IDKunavo 輸入/輸出適用情境
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 的 token 用量會隨對話長度增加,而非每則訊息維持固定用量;對這種使用模式而言,最重要的調整手段是提示快取。費用依 token 計算,從預付餘額扣款,沒有月費,因此整個月閒置也不會產生費用;詳情請見計費。

常見問題

如何讓 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 聊天,並直接呼叫媒體端點,而不要假設單一提供者設定能同時涵蓋這兩者。