Przejdź do głównej treści
Lekki agent AI dla CLI. Oficjalne repozytorium: https://github.com/HKUDS/nanobot
Protokół: zgodny z OpenAI
  • Bazowy URL: https://api.orcarouter.ai/v1 (musi zawierać /v1)

Instalacja

Najpierw wymaga uv, a następnie zainstaluj polecenie nanobot:
uv tool install nanobot-ai

Konfiguracja

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

Uruchomienie

nanobot agent -m "Reply with exactly: OK" --no-logs --no-markdown
Oczekuj odpowiedzi OK.

Uwagi

  • Użyj predefiniowanego dostawcy customnie wymyślaj własnej nazwy dostawcy. Niestandardowe nazwy są ignorowane i otrzymujesz błąd provider 'None'.
  • Nie dodawaj pola apiType do dostawcy custom. Tylko wbudowany dostawca openai obsługuje apiType; dodanie go do custom nie przechodzi walidacji.
  • Bazowy URL zachowuje końcowe /v1, a agents.defaults.provider musi być ustawione na custom.
  • Nazwy modeli używają formatu vendor/model. Zamień orcarouter/auto na konkretny model, np. anthropic/claude-opus-4.8 lub google/gemini-2.5-flash.

Włączanie myślenia / rozumowania

Ustaw reasoningEffort w agents.defaults (lub wpisie modelPresets). Prawidłowe wartości: none / low / medium / high / max. Pominięcie (lub null) podąża za domyślnym ustawieniem modelu.
{
  "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 musi być większe niż budżet myślenia. nanobot tłumaczy reasoningEffort: high na Anthropicowe thinking.budget_tokens; jeśli maxTokens (np. domyślne 4096) jest mniejsze, serwer nadrzędny zwraca 400 max_tokens must be greater than thinking.budget_tokens. Podbicie maxTokens do ~16000 to naprawia. (Zweryfikowane: zwraca ✻ 391.)