文件
Dify
Dify 透過一個外掛 — OpenAI-API-compatible — 和一個必填欄位 API Base URL 連線至外部端點。填入網址後,工作流程中的每個 LLM 節點都能透過單一金鑰呼叫 Claude 和 GPT ID。
一個必要欄位 — OpenAI-API-compatible 外掛 Add Model 表單中的 API Base URL — 可將 Dify 工作區中的每個 LLM 節點指向 Kunavo。
# Integrations → Model Provider → OpenAI-API-compatible → Add Model
Type LLM
Model Name claude-sonnet-5
Model display name Kunavo · Claude Sonnet 5
API Key sk-kn-...
API Base URL https://api.kunavo.com/v1
model name for API endpoint (leave blank — Model Name is already the id)
Completion mode Chat
Model context size 1000000
Upper bound for max tokens (your own ceiling for one reply)
Function Call Type Tool Call # defaults to no_call
Vision Support Support # only if you will send images
Structured Output Support # defaults to not supported
# Model context size is per model, not per endpoint: 1000000 is
# claude-sonnet-5's. The table below carries the rest./v1。 此外掛程式以 API Base URL 為標籤,將 endpoint_url 指定為與模型名稱並列的唯一必填欄位,並提供提示文字「基礎 URL,例如 https://api.openai.com/v1」— 這段提示文字足以釐清表單應如何填寫。此外掛程式的 README 也解釋了例外情況,並未與此規則矛盾:對於非 LLM 模型類型,外掛程式會「在內部附加 API 版本」,因此這些類型應使用裸來源網址,避免重複出現 /v1/v1。Kunavo 的模型都不屬於這些類型,因此您只需要使用 /v1 表單。Function Call Type 的預設值為 no_call,Structured Output 和 Vision Support 的預設值則為不支援。若以預設值新增模型,普通聊天節點能正常作答,但 Agent 節點或使用工具的工作流程會失敗 — 看起來像是端點故障,實際上並非如此。新增模型時就先設定這些選項,再開始排查其他問題。curl 是您可以在十秒內自行確認的部分;其餘內容則取決於您與 Dify 的實際使用情況。sk-kn- 開頭),並從 $10 起新增額度——呼叫會從該餘額扣款,失敗的呼叫不會計費。之後儀表板會開啟 Dify 設定。逐步操作
- 在
/app/keys建立金鑰並複製——金鑰只會顯示一次。 - 在 Dify 中,前往 Integrations → Model Provider,瀏覽 Install model providers(或 Marketplace),並安裝由
langgenius發布的 OpenAI-API-compatible。Dify 文件指出,只有工作區擁有者和管理員能管理供應商。 - 在該供應商的卡片上按一下 Add Model。此外掛沒有預先定義的模型 — 它是
customizable-model供應商 — 因此您需要為每個想使用的 ID 分別新增項目。 - 依照上方的說明填寫表單。Type =
LLM、Model Name = Kunavo 的完整 ID、API Key = 您的sk-kn-金鑰、API Base URL =https://api.kunavo.com/v1、Completion mode =Chat,以及 Model context size = 下表中的值。接著設定 Function Call Type;若有需要,也請設定 Structured Output 和 Vision Support。儲存。 - 開啟工作流程,並在要使用此模型的節點中選取它 — Dify 是以節點而非應用程式為單位指派模型,因此分類器和最後的撰寫節點可使用不同的 ID 和不同的價格。未選取模型的應用程式和節點會改用 Default Models → System Reasoning Model。
- 執行一個範圍有限的工作流程,然後在 Kunavo 帳戶中查看費用,而不是在 Dify 中查看 — 請參閱下方的費用顯示說明。
已於 2026年9月21日 根據 Dify 的 OpenAI-API-compatible 外掛頁面 進行確認。第三方設定會變動;如果這裡的欄位名稱不再與你看到的內容相符,應以該頁面為準,而不是本頁。
除錯用戶端前先驗證
一個請求就能判斷失敗原因是端點、金鑰還是設定檔。如果這裡回傳 JSON,則相同的基礎 URL 與金鑰在 Dify 中也能運作。
# Settles whether a failure is the endpoint, the key, or the client.
curl -sS https://api.kunavo.com/v1/models \
-H "Authorization: Bearer sk-kn-..."欄位中應填入哪個模型 ID
每個文字模型都能以模型 ID 存取——即時清單位於 GET /v1/models,帶有價格的目錄位於模型頁面。費率是每 1M 權杖的美元價格,輸入/輸出。
| 模型 ID | Kunavo 輸入/輸出 | 它在 Dify 中的位置 |
|---|---|---|
claude-sonnet-5 | $1.40 / $7.00 | 適合 writer 和 agent 節點的工作模型 — context size 1000000 |
claude-opus-5 | $3.50 / $17.50 | 輸出會由人閱讀的節點,或出錯代價高昂的計畫 — 1000000 |
claude-haiku-4-5 | $0.70 / $3.50 | 分類、路由和擷取節點,實際呼叫量集中在這些節點 — 200000 |
gpt-5-6-sol | $2.00 / $12.00 | 在同一個金鑰下新增第二個系列,並將其設為獨立的模型項目 — 1050000 |
gpt-5-6-terra | $0.70 / $4.20 | 長文件節點 — 1050000 |
有兩種不同的東西都稱為「Dify API」
本頁說明其中一種,而搜尋結果經常將兩者混為一談。
- 將模型串接到 Dify — 上方設定區塊所做的事。Dify 是用戶端,Kunavo 是端點,而你貼上的憑證是
sk-kn-金鑰。之後,該工作區中每個應用程式的所有 LLM 節點都能呼叫你新增的模型 ID。 - 從自己的程式碼呼叫 Dify 應用程式 — Dify 為已發布的應用程式提供的 Service API,使用由 Dify 簽發的專屬
app-金鑰。那是 Dify 的金鑰,不是我們的,而且你無法把它指向其他地方。Kunavo 不參與這個方向的呼叫。
兩者可以同時用於同一個應用程式,而且通常就是如此:你的後端使用 Dify 金鑰呼叫 Dify 應用程式,而應用程式的節點使用 Kunavo 金鑰呼叫 Kunavo。兩把金鑰、兩筆帳單;發生 401 時,也有兩個地方需要檢查。
為什麼 Dify 沒有顯示你新增模型的費用
Dify 第一方預先定義的模型檔案包含定價區塊 — 輸入和輸出費率,以及每 token 的計價單位 — Dify 會將你的 token 數乘以費率,在記錄中顯示費用。OpenAI-API-compatible 提供者結構描述中完全沒有價格、單位或貨幣欄位,這是截至上方日期查核的結果。因此,透過此外掛新增的模型沒有可供 Dify 相乘計算的費率;金額欄不是你找到的折扣,也不是你造成的錯誤,而是根本不存在的欄位。請從 Kunavo 用量資訊查看實際金額,並將 Dify 顯示的數字視為 token 數。
有一個相關開關最好維持原設定:Include Usage in Stream 預設為啟用,會要求端點在最後一個串流區塊中提供提示詞和完成內容的 token 數。關閉它,就連 token 數也會一併失去。
如果你自行代管 Dify
Docker Compose 堆疊會透過 ssrf_proxy 服務路由外送請求,因此端點必須能從容器網路內連線 — 不能只在筆記型電腦的瀏覽器中連得上。在一處可用、另一處卻逾時,通常就是這個原因;這是網路問題,而非憑證問題。在容器內執行上方的 curl,即可直接確認。
常見問題
如何將自訂 OpenAI 相容 API 連接至 Dify?
從 Integrations → Model Provider → Install model providers 或 Dify Marketplace 安裝由 langgenius 發布的 OpenAI-API-compatible 外掛。在外掛卡片上按一下 Add Model,並填寫表單:Type、Model Name、Model display name、API Key、API Base URL、Completion mode 和 Model context size,以及各項能力開關。此提供者沒有預先定義的模型 — 它是可自訂模型的提供者,因此你想使用的每個模型 ID 都要各自建立一個項目,且每個項目都有自己的基本 URL 和金鑰。
Dify 的 API Base URL 結尾需要加上 /v1 嗎?
聊天模型需要。外掛的提供者結構描述將欄位標示為 API Base URL,設為必填,並提供預留位置文字 "Base URL, e.g. https://api.openai.com/v1",因此 /v1 根路徑就是文件記載的格式 — Kunavo 請使用 https://api.kunavo.com/v1。只有在外掛會自行附加 API 版本的模型類型中,文件才記載不含路徑的來源站台;否則會形成重複的 /v1/v1 路徑。Kunavo 不提供這些類型的模型,因此應使用含 /v1 的格式。缺少 /v1 會出現 404,而不是驗證錯誤。
為什麼我的 Dify Agent 節點無法使用我新增模型的工具?
因為透過 OpenAI-API-compatible 外掛新增模型時,Function Call Type 預設為 no_call,而 Structured Output、Vision Support、Stream function calling 和 Thinking Mode Support 預設都設為不支援。這些是 Dify 依據的能力宣告,而非實際探測;因此,即使模型本身支援這些能力,使用預設值新增後,Agent 或使用工具的節點仍會拒絕使用它。請開啟模型設定,將 Function Call Type 設為 Tool Call — Function Call 是較舊的格式 — 然後重新測試,再判斷是否為端點問題。
為什麼透過相容外掛新增模型後,Dify 沒有顯示價格?
因為該外掛的提供者結構描述完全沒有定價欄位,而 Dify 第一方預先定義的模型檔案則有。Dify 因此沒有每 token 費率可乘上你的 token 數,所以不會顯示金額,也不會提供估算。請以提供者自己的用量記錄為準,並將 Dify 的數字視為 token 數。保持 Include Usage in Stream 啟用,才能持續收到這些 token 數。
將 Kunavo 新增至 Dify,和將 Dify 應用程式公開為 API 是同一回事嗎?
不是,而且呼叫方向正好相反。新增 Kunavo 後,Dify 是用戶端:Dify 的節點會向你使用 Kunavo 金鑰設定的端點傳送請求。Dify 的 Service API 則讓你的程式碼成為用戶端:它使用 Dify 簽發的金鑰呼叫已發布的 Dify 應用程式,這個流程不會用到我們的基本 URL。單一應用程式通常會同時進行這兩種呼叫,因此發生 401 時,首先應確認是哪一把金鑰出了問題。
Kunavo 有在 Dify 中測試過這項設定嗎?
沒有。2026 年 9 月 21 日查核的是 Dify 自己的資料 — Dify Marketplace 上的外掛列表,以及 Dify 官方外掛程式碼庫中的提供者結構描述;本頁引用的欄位名稱、欄位順序、必填標記和預設值皆來自這些資料。沒有人曾在實際運作的 Dify 工作區中新增 Kunavo 模型並執行工作流程,因此本頁沒有對此用戶端中的串流、工具往返呼叫或長時間執行的代理循環作出任何聲明。你可以單獨確認端點和金鑰是否可用,本頁的 curl 指令即可做到。