ドキュメント
Nanocoder
Nanocoder では、リモートエンドポイントも Ollama と同じ方法で扱います。nanocoder.providers の下に、名前、ベース URL、キー、モデルリストを含む1つのエントリーを設定します。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。サフィックスを省くと、キーの401ではなく、ルートで404になります。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 のプロバイダーではないため、最初の4つのいずれかを設定しないと、使用モデルとは異なるフォールバック値に基づいて予算が計算されます。設定する値は/modelsにあります。 /modelを開き、リストした ID のいずれかを選びます。ピッカーには指定したnameの下に表示されます。次に、ツールを呼び出す必要がある小さなタスクを実行してください。特定のモデルでツール呼び出しの形式が不正になる場合は、disableToolModelsを使うとプロバイダー単位ではなくモデル単位でその動作を制限できます。
Nanocoder の Custom Provider ページで2026年9月21日に確認しました。サードパーティの設定は変更されます。ここに記載されたフィールド名が表示内容と一致しなくなった場合は、このページではなく、そのページを正しい情報源としてください。
クライアントをデバッグする前に確認すること
1回のリクエストで、失敗の原因がエンドポイント、キー、設定ファイルのどれかを特定できます。これが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、価格付きのカタログはモデルページにあります。料金は100万トークンあたりのUSDで、入力 / 出力の順です。
| モデル 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 はプロバイダー設定の文字列フィールドに対して環境変数を再帰的に置換するため、より安全な方法は、シェルまたは作業ディレクトリの .env ファイルで値を設定し、"apiKey": "${KUNAVO_API_KEY}" とすることです。優先順位は、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 の順です。そのため、プロバイダーエントリーで最初の4つのいずれかを設定すれば、メーターに正しい値が表示されます。レスポンスごとのコスト表示は、どちらの場合も報告されたトークン数を使ってクライアントが独自に計算した値です。フッターの表示ではなく、プロバイダー独自の利用明細と照合してください。