文件
twinny
twinny 不使用基礎 URL。它要求填入通訊協定、主機名稱、連接埠和 API 路徑;聊天功能的 API 路徑就是 API 基底,因此應填入 https、api.kunavo.com 和 /v1,並將連接埠留空。
twinny 沒有基礎 URL 欄位 — Add provider → OpenAI-compatible server,接著設定 Protocol https、Hostname api.kunavo.com、Port 留白、API path /v1,聊天面板即可使用你的金鑰。
Label Kunavo
Type Chat
Provider OpenAI-compatible server
Hostname api.kunavo.com
Port (leave blank — "Blank means the protocol's default")
Protocol https
API path /v1
Model name claude-sonnet-5
FIM template (Autocomplete only — not part of a Chat provider)
API key sk-kn-.../v1,而不是 /v1/chat/completions。twinny 的供應商表格用一句話就說明了原因:「聊天功能的路徑就是 API 基底;twinny 會附加 /chat/completions」,因此路徑若已包含完整路由,就會產生 /v1/chat/completions/chat/completions 並回傳 404。這裡沒有單一的基礎 URL 欄位可讓你填錯,不過同一張表格也提供了捷徑:將 https://api.kunavo.com/v1 貼到 Hostname,它就會「拆分為通訊協定、主機、連接埠和路徑」。sk-kn- 開頭),並從 $10 起新增額度——呼叫會從該餘額扣款,失敗的呼叫不會計費。之後儀表板會開啟 twinny 設定。逐步操作
- 在
/app/keys建立金鑰並複製——金鑰只會顯示一次。 - 從側邊欄頂端的機器人圖示開啟 Providers 分頁,或從命令面板執行 Manage twinny providers。
- Add provider → 在 On your machine 底下,選擇
OpenAI-compatible server這個通用預設設定。初始設定會指向localhost:8080。 - 將 Protocol 設為
https、將 Hostname 設為api.kunavo.com、清除 Port,並將 API path 設為/v1。Type 維持設定為Chat。 - 將金鑰貼到 API key — twinny 會以
Authorization: Bearer傳送。接著設定 Model name,可直接輸入,也可透過 Choose from the server's models 選取,因為 Kunavo 會提供GET /v1/models。 - 按下 Test provider,接著按下 Use this provider,將其設為目前的聊天供應商。若要複製此列以使用第二個模型,請使用 Copy,無須重新輸入四個端點欄位。
已於 2026年9月21日 根據 twinny 的 Other local servers 頁面 進行確認。第三方設定會變動;如果這裡的欄位名稱不再與你看到的內容相符,應以該頁面為準,而不是本頁。
除錯用戶端前先驗證
一個請求就能判斷失敗原因是端點、金鑰還是設定檔。如果這裡回傳 JSON,則相同的基礎 URL 與金鑰在 twinny 中也能運作。
# 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 輸入/輸出 | 它在 twinny 中的位置 |
|---|---|---|
claude-sonnet-5 | $1.40 / $7.00 | 聊天面板、行內編輯和程式碼審查 — 一般用途的預設選項 |
claude-haiku-4-5 | $0.70 / $3.50 | 提交訊息、終端機輔助工具和程式碼動作;在這些用途上,使用量是主要考量 |
gpt-5-6-terra | $0.70 / $4.20 | 貼入聊天的長檔案,以及審查內容不足時來自另一個系列的第二意見 |
聊天可用;自動補全和索引則不行。
twinny 將工作分為三種供應商類型,且每種類型都要分別設定 — 因此「twinny 可搭配 Kunavo 使用」只對其中一種類型成立。你尚未找到另外兩種類型的設定方式;它們所需的路由並非 Kunavo 提供的路由。
| 供應商類型 | twinny 傳送的內容 | 對 api. |
|---|---|---|
| 聊天 | 向 <API path>/ 傳送 OpenAI 格式的 POST 請求 | 可用 — 即為上方說明的頁面。 |
| 自動補全(FIM) | 向 /v1/ 傳送原始的填入中間提示詞 | 不可用。Kunavo 沒有 /v1/ |
| 嵌入 | 向 /v1/ 傳送請求 | 不可用。Kunavo 沒有提供嵌入模型,因此無法在此建立工作區索引。 |
這兩項缺口都不會妨礙此設定,因為 twinny 在每種類型中各自維持一個作用中的供應商,彼此互不影響。twinny 自己的託管 API 頁面稱這種分工為「常見設定」:使用小型本機 base 模型進行補全,同時使用託管模型進行聊天、審查和編輯。工作區索引也採用相同的分工 — 此處不提供嵌入功能,而 twinny 的文件建議改用 Ollama 上的本機模型,例如 nomic-embed-text。不同模型產生的向量無法混用,因此變更該模型時必須重建索引,而非更新索引。
常見問題
如何將 twinny 指向自訂 API 端點?
從 twinny 側邊欄的機器人圖示開啟 Providers 分頁,選擇 Add provider,接著在「On your machine」底下選擇名為「OpenAI-compatible server」的通用預設設定。twinny 的文件指出,供應商表單可接受任何主機名稱、連接埠、通訊協定和路徑,因此將 Protocol 設為 https、Hostname 設為端點的主機名稱、Port 留空以使用通訊協定的預設連接埠,並將 API path 設為 API 基底。將金鑰貼到 API key 欄位,twinny 會以 Authorization: Bearer 標頭傳送,然後按下 Test provider — 它會傳送符合該供應商用途的小型請求,並回報成功訊息或伺服器傳回的錯誤,以及所呼叫的 URL。
twinny 的 API 路徑需要是 /v1 還是 /v1/chat/completions?
聊天供應商應使用 /v1。twinny 的供應商表格指出:「聊天功能的路徑就是 API 基底;twinny 會附加 /chat/completions」,因此擴充功能會自行組成完整路由。若路徑已包含該路由,就會解析為 /v1/chat/completions/chat/completions,結果是 404,而非驗證錯誤。同一表單中的自動補全和嵌入使用相反的慣例:API 路徑須填完整路由;通用預設設定的預設值分別為 /v1/completions 和 /v1/embeddings。
twinny 的 API 金鑰要填在哪裡?是否有基礎 URL 欄位?
金鑰要填在供應商的 API key 欄位,並以 Authorization: Bearer 傳送;twinny 的文件指出,金鑰會與供應商一同儲存在 VS Code 儲存空間,並在 twinny 的記錄中遮蔽。這裡沒有單一的基礎 URL 欄位 — 端點分為 Protocol、Hostname、Port 和 API path。可以使用這個捷徑:將完整 URL 貼到 Hostname。文件說明,貼入 https://my-box:8080/v1 這類 URL 時,系統會將其拆分為通訊協定、主機、連接埠和路徑;因此貼入 https://api.kunavo.com/v1 就能一次填入三個欄位。
twinny 的自動補全能透過 Kunavo 這類託管閘道執行嗎?
不能,原因是缺少路由,而非設定問題。twinny 的通用 OpenAI 相容預設設定會將原始的填入中間提示詞傳送至 /v1/completions 類型的路由,而 api.kunavo.com 並未提供 /v1/completions;模型目錄中也沒有針對填入中間訓練的 base 或 code 模型。請將自動補全留在本機伺服器執行 — twinny 的常見問題頁面建議在 Ollama 上使用 qwen2.5-coder:1.5b-base — 並使用託管供應商進行聊天。twinny 稱這種組合為常見設定,而且由於每種類型各自選擇作用中的供應商,因此無須切換。
Kunavo 能支援 twinny 的工作區索引嗎?
不能。工作區索引會透過 Embeddings 供應商將檔案轉換為嵌入向量,而 Kunavo 沒有提供嵌入模型 — 其目錄中沒有任何模型使用此端點,因此請求會遭拒,而非收到回應。twinny 自己的文件建議在 Ollama 上使用 nomic-embed-text 執行此工作;它會在你的電腦上執行,且不受聊天供應商影響。這是分工設定,並非設定受阻;請注意,若之後變更嵌入模型,就必須重建索引,因為不同模型產生的向量無法混用。
為什麼不使用 twinny 的 OpenAI 或 Anthropic 預設設定搭配 Kunavo 金鑰?
因為那些預設設定傳送請求的目的地和你想的不一樣。twinny 的託管 API 頁面指出,聊天請求會透過供應商的 SDK 傳送至其固定端點,因此相關的主機名稱、連接埠和路徑欄位會隱藏 — 你貼上的金鑰會傳送到該供應商自己的端點,而非你的閘道。通用的「OpenAI-compatible server」預設設定會讓端點欄位保持可編輯,因此本文才建議使用這項設定。模型 ID 會直接傳遞給你設定的端點,因此在 OpenAI 相容供應商中使用 Claude ID 是預期的組合,並非不相容。
Kunavo 有測試過 twinny 嗎?
沒有。Kunavo 沒有對此用戶端進行任何執行階段測試;上述設定取自 twinny 自己的文件(於 2026 年 9 月 21 日檢查)以及 Kunavo 的路由表。發布設定頁面不代表完成測試。你可以免費使用 twinny 的 Test provider 按鈕進行檢查,它會回報所呼叫的 URL 以及伺服器的回應;再對 /v1/models 執行一次 curl,就能確認問題出在端點、金鑰還是表單。