文件
Nanocoder
Nanocoder 將遠端端點視同 Ollama:在 nanocoder.providers 下新增一筆項目,填入名稱、基礎 URL、金鑰和模型清單。sdkProvider 預設為 openai-compatible,因此無需另行宣告。
在 agents.config.json 的 nanocoder.providers 下新增 Custom Provider 項目 — name、baseUrl、apiKey、models — 不需要 sdkProvider,因為預設就是 openai-compatible。
{
"nanocoder": {
"providers": [
{
"name": "Kunavo",
"baseUrl": "https://api.kunavo.com/v1",
"apiKey": "${KUNAVO_API_KEY}",
"models": ["claude-sonnet-5", "claude-haiku-4-5", "gpt-5-6-sol"]
}
]
}
}/v1 後綴。Nanocoder 的文件以範例而非規則說明了這點:欄位表格只將 baseUrl 描述為「API endpoint URL」,但 Custom Provider 頁面中的範例是 "baseUrl": "https://my-api.example.com/v1",而網站上每個 OpenAI 相容提供者頁面也都採用相同格式——https://openrouter.ai/api/v1、http://localhost:11434/v1。省略後綴會造成路徑 404,而非金鑰 401。sdkProvider——欄位表格指出它「預設為 openai-compatible」,這正是 Kunavo 在此回應的傳輸格式。其他文件列出的值(google、anthropic、github-copilot)會改用不同的 SDK,而連線至聊天完成端點不需要其中任何一項。NANOCODER_PROVIDERS(或 NANOCODER_PROVIDERS_FILE),接著是工作目錄中的 agents.config.json,最後是使用者個人設定檔 — macOS 上的 ~/Library/Preferences/nanocoder/、Linux 上的 ~/.config/nanocoder/、Windows 上的 %APPDATA%\nanocoder\。以第一個找到的設定為準;設定 NANOCODER_CONFIG_DIR 則會略過專案與個人目錄中的查找。如果你編輯的金鑰不是實際送出的金鑰,請檢查這項優先順序。sk-kn- 開頭),並從 $10 起新增額度——呼叫會從該餘額扣款,失敗的呼叫不會計費。之後儀表板會開啟 Nanocoder 設定。逐步操作
- 在
/app/keys建立金鑰並複製 — 金鑰只會顯示一次。請將金鑰匯出為KUNAVO_API_KEY,不要直接貼入檔案:Nanocoder 會在服務商項目的每個字串中遞迴替換$VAR、${VAR}和${VAR:-default},並從工作目錄讀取.env。 - 在 Nanocoder 中執行
/settings providers,然後選取 Custom Provider。精靈會依序詢問 Provider name、Base URL、API key (optional)、Model names 和 Request timeout,並提供從端點擷取模型清單的選項 — Kunavo 會回應GET /v1/models,因此可自動填入該清單。 - 你也可以略過精靈,直接依照上方區塊自行編寫
agents.config.json。請注意,設定會以檔案為單位解析:若專案層級的檔案定義了nanocoder.providers,就會採用該整個區塊,因此全域設定檔中的項目不會合併到其中。 - 設定上下文視窗。Nanocoder 依序從
/context-max、contextWindows[model]、contextWindow、NANOCODER_CONTEXT_LIMIT和 models.dev 解析上限 — Kunavo 不是 models.dev 上的服務商,因此若未設定前四者之一,預算會依據並非你所用模型的備援值計算。數值請見/models。 - 開啟
/model,選取你列出的其中一個 ID — 選擇器會在你指定的name下顯示這些 ID — 然後執行一項需要呼叫工具的小型工作。如果特定模型傳回格式錯誤的工具呼叫,disableToolModels可以針對該模型停用此功能,而非針對整個服務商停用。
已於 2026年9月21日 根據 Nanocoder 的 Custom Provider 頁面 進行確認。第三方設定會變動;如果這裡的欄位名稱不再與你看到的內容相符,應以該頁面為準,而不是本頁。
除錯用戶端前先驗證
一個請求就能判斷失敗原因是端點、金鑰還是設定檔。如果這裡回傳 JSON,則相同的基礎 URL 與金鑰在 Nanocoder 中也能運作。
# 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 輸入/輸出 | 它在 Nanocoder 中的位置 |
|---|---|---|
claude-sonnet-5 | $1.40 / $7.00 | 終端機代理程式執行編輯與執行循環時的預設工作模型 |
claude-haiku-4-5 | $0.70 / $3.50 | 工具密集的長工作階段與快速檔案分類;費用主要受回合數影響 |
gpt-5-6-sol | $2.00 / $12.00 | 使用同一個金鑰,透過另一個模型系列尋求第二意見 |
claude-opus-5 | $3.50 / $17.50 | 工作階段中唯一的大型重構;規劃錯誤會造成高昂代價 |
常見問題
Nanocoder 支援自訂 API 端點嗎?
支援,而且這是有正式文件說明的官方功能,不是未記載的欄位。Nanocoder 自己的「Custom Provider」頁面指出,任何提供 OpenAI 相容 API 的服務都能新增為自訂服務商,並列出要填寫的物件內容:name、baseUrl、apiKey 和 models。你可以透過 /settings providers 精靈互動新增,或手動編輯 agents.config.json。這是截至 2026 年 9 月 21 日的文件內容。
Nanocoder API 金鑰應該填在哪裡?
填在 agents.config.json 中服務商項目的 apiKey 欄位。Nanocoder 會對服務商設定中的字串欄位遞迴套用環境變數替換,因此較安全的寫法是 "apiKey": "${KUNAVO_API_KEY}",並在 Shell 或工作目錄中的 .env 檔案匯出該值。透過 NANOCODER_PROVIDERS 設定的環境變數優先級最高,其次是專案層級的 agents.config.json,最後才是使用者個人設定檔;因此,若編輯後似乎沒有生效,通常是被此順序中優先級更高的設定覆蓋。
Nanocoder 的 baseUrl 需要以 /v1 結尾嗎?
若是 OpenAI 相容端點,則需要 — 例如 https://api.kunavo.com/v1。Nanocoder 的說明文件沒有以文字敘述後綴規則;其欄位表只將 baseUrl 描述為 API 端點 URL。不過,範例已說明答案:「Custom Provider」頁面本身使用 https://my-api.example.com/v1,網站上每個 OpenAI 相容服務商頁面也都帶有相同後綴。缺少 /v1 時,會出現路徑 404,而非驗證錯誤。
為什麼 Nanocoder 沒有顯示費用,或顯示這些模型的上下文大小有誤?
因為 Nanocoder 會從 models.dev 讀取模型中繼資料,而它未列出的第三方閘道在該處沒有資料。文件記載的上下文上限解析順序為:/context-max 或 --context-max、接著 contextWindows[model]、contextWindow、NANOCODER_CONTEXT_LIMIT,最後是 models.dev;因此,請在服務商項目中設定前四者之一,計量器就會恢復正確。無論如何,每次回應顯示的費用都是用戶端根據回報的 token 數自行計算 — 請以服務商自己的帳務紀錄核對,而非頁尾數字。