文件

文件

Nanocoder

Nanocoder 將遠端端點視同 Ollama:在 nanocoder.providers 下新增一筆項目,填入名稱、基礎 URL、金鑰和模型清單。sdkProvider 預設為 openai-compatible,因此無需另行宣告。

在 agents.config.json 的 nanocoder.providers 下新增 Custom Provider 項目 — name、baseUrl、apiKey、models — 不需要 sdkProvider,因為預設就是 openai-compatible。

agents.config.json
{
  "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"]
      }
    ]
  }
}
Kunavo 尚未使用此端點執行 Nanocoder。 上述每個欄位都是根據 Nanocoder 自己的「Custom Provider」頁面轉錄,而非來自任何人在此完成的工作階段 — 這是設定參考,不是相容性測試。請先執行一項小型且範圍明確的工作,並在測試期間保留其他可用方式。
Base URL 要保留 /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 則會略過專案與個人目錄中的查找。如果你編輯的金鑰不是實際送出的金鑰,請檢查這項優先順序。
還沒有金鑰?建立 Kunavo 帳戶,建立金鑰(以 sk-kn- 開頭),並從 $10 起新增額度——呼叫會從該餘額扣款,失敗的呼叫不會計費。之後儀表板會開啟 Nanocoder 設定。

逐步操作

  1. 在 /app/keys 建立金鑰並複製 — 金鑰只會顯示一次。請將金鑰匯出為 KUNAVO_API_KEY,不要直接貼入檔案:Nanocoder 會在服務商項目的每個字串中遞迴替換 $VAR、${VAR} 和 ${VAR:-default},並從工作目錄讀取 .env。
  2. 在 Nanocoder 中執行 /settings providers,然後選取 Custom Provider。精靈會依序詢問 Provider name、Base URL、API key (optional)、Model names 和 Request timeout,並提供從端點擷取模型清單的選項 — Kunavo 會回應 GET /v1/models,因此可自動填入該清單。
  3. 你也可以略過精靈,直接依照上方區塊自行編寫 agents.config.json。請注意,設定會以檔案為單位解析:若專案層級的檔案定義了 nanocoder.providers,就會採用該整個區塊,因此全域設定檔中的項目不會合併到其中。
  4. 設定上下文視窗。Nanocoder 依序從 /context-max、contextWindows[model]、contextWindow、NANOCODER_CONTEXT_LIMIT 和 models.dev 解析上限 — Kunavo 不是 models.dev 上的服務商,因此若未設定前四者之一,預算會依據並非你所用模型的備援值計算。數值請見 /models。
  5. 開啟 /model,選取你列出的其中一個 ID — 選擇器會在你指定的 name 下顯示這些 ID — 然後執行一項需要呼叫工具的小型工作。如果特定模型傳回格式錯誤的工具呼叫,disableToolModels 可以針對該模型停用此功能,而非針對整個服務商停用。

已於 2026年9月21日 根據 Nanocoder 的 Custom Provider 頁面 進行確認。第三方設定會變動;如果這裡的欄位名稱不再與你看到的內容相符,應以該頁面為準,而不是本頁。

這是簡短版本。完整指南——模型選擇、實際工作階段費用,以及失敗情況——請參閱 Nanocoder 與 OpenCode 的費用比較 — 除服務商設定區塊外,各自還會產生哪些費用。

除錯用戶端前先驗證

一個請求就能判斷失敗原因是端點、金鑰還是設定檔。如果這裡回傳 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 權杖的美元價格,輸入/輸出。

模型 IDKunavo 輸入/輸出它在 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工作階段中唯一的大型重構;規劃錯誤會造成高昂代價
計費方式是從預付餘額按權杖計費,沒有月費——請參閱 billing。在重複的上下文中——這是編輯器或聊天用戶端傳送內容的大部分——提示快取 對帳單的影響比模型選擇更大。

常見問題

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 數自行計算 — 請以服務商自己的帳務紀錄核對,而非頁尾數字。