メインコンテンツへスキップ
軽量な AI エージェント CLI です。公式リポジトリ: https://github.com/HKUDS/nanobot
プロトコル: OpenAI 互換
  • Base URL: https://api.orcarouter.ai/v1 (/v1含める必要があります)

インストール

最初に uv が必要です。その後 nanobot コマンドをインストールします:
uv tool install nanobot-ai

設定

~/.nanobot/config.json を編集します:
{
  "agents": {
    "defaults": {
      "model": "orcarouter/auto",
      "provider": "custom",
      "maxTokens": 4096,
      "temperature": 0.1
    }
  },
  "providers": {
    "custom": {
      "apiKey": "sk-orca-...",
      "apiBase": "https://api.orcarouter.ai/v1"
    }
  }
}

実行

nanobot agent -m "Reply with exactly: OK" --no-logs --no-markdown
OK という返答が返ってくるはずです。

注意事項

  • 定義済みの custom プロバイダーを使用してください — 独自のプロバイダー名を作らないでください。カスタム名は無視され、provider 'None' エラーが発生します。
  • custom プロバイダーに apiType フィールドを 追加しないでくださいapiType をサポートするのは組み込みの openai プロバイダーだけで、custom に追加するとバリデーションに失敗します。
  • base URL は末尾の /v1 を保持し、agents.defaults.providercustom に設定する必要があります。
  • モデル名は vendor/model 形式を使います。orcarouter/autoanthropic/claude-opus-4.8google/gemini-2.5-flash のような特定のモデルに置き換えられます。

thinking / reasoning を有効化する

agents.defaults (または modelPresets エントリ) の下に reasoningEffort を設定します。有効な値: none / low / medium / high / max。省略 (または null) するとモデルのデフォルトに従います。
{
  "agents": {
    "defaults": {
      "model": "anthropic/claude-sonnet-4.6",
      "provider": "custom",
      "maxTokens": 16000,
      "reasoningEffort": "high"
    }
  },
  "providers": { "custom": { "apiKey": "sk-orca-...", "apiBase": "https://api.orcarouter.ai/v1" } }
}
maxTokens は thinking バジェットより大きくする必要があります。 nanobot は reasoningEffort: high を Anthropic の thinking.budget_tokens に変換します。 maxTokens (例: デフォルトの 4096) がそれより小さいと、上流が 400 max_tokens must be greater than thinking.budget_tokens を返します。 maxTokens を ~16000 に引き上げると解決します。(検証済み: ✻ 391 を返します。)