Zum Hauptinhalt springen
Ein leichtgewichtiger KI-Agent-CLI. Offizielles Repo: https://github.com/HKUDS/nanobot
Protokoll: OpenAI-kompatibel
  • Basis-URL: https://api.orcarouter.ai/v1 (muss /v1 enthalten)

Installation

Erfordert zuerst uv, installiere dann den Befehl nanobot:
uv tool install nanobot-ai

Konfiguration

Bearbeite ~/.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"
    }
  }
}

Ausführen

nanobot agent -m "Reply with exactly: OK" --no-logs --no-markdown
Erwarte die Antwort OK.

Hinweise

  • Verwende den vordefinierten custom-Provider — erfinde keinen eigenen Provider-Namen. Benutzerdefinierte Namen werden ignoriert und du erhältst einen provider 'None'-Fehler.
  • Füge dem custom-Provider kein apiType-Feld hinzu. Nur der eingebaute openai-Provider unterstützt apiType; das Hinzufügen zu custom schlägt bei der Validierung fehl.
  • Die Basis-URL behält das abschließende /v1, und agents.defaults.provider muss auf custom gesetzt sein.
  • Modellnamen verwenden das Format vendor/model. Tausche orcarouter/auto gegen ein bestimmtes Modell wie anthropic/claude-opus-4.8 oder google/gemini-2.5-flash.

Thinking / Reasoning aktivieren

Setze reasoningEffort unter agents.defaults (oder einem modelPresets-Eintrag). Gültige Werte: none / low / medium / high / max. Wird es weggelassen (oder null), folgt es dem Standard des Modells.
{
  "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 muss größer als das Thinking-Budget sein. nanobot übersetzt reasoningEffort: high in ein Anthropic-thinking.budget_tokens; wenn maxTokens (z. B. der Standard 4096) kleiner ist, gibt der Upstream 400 max_tokens must be greater than thinking.budget_tokens zurück. Das Anheben von maxTokens auf ~16000 behebt es. (Verifiziert: gibt ✻ 391 zurück.)