Concepts and configuration

Dostawcy modeli

Dokumentacja dla dostawców LLM/modeli (nie kanałów czatu takich jak WhatsApp/Telegram). Reguły wyboru modeli znajdziesz w sekcji Modele.

Szybkie reguły

Model refs and CLI helpers
  • Odwołania do modeli używają formatu provider/model (przykład: opencode/claude-opus-4-6).
  • agents.defaults.models działa jako lista dozwolonych modeli, gdy jest ustawione.
  • Pomocnicze polecenia CLI: openclaw onboard, openclaw models list, openclaw models set <provider/model>.
  • models.providers.*.contextWindow / contextTokens / maxTokens ustawiają domyślne wartości na poziomie dostawcy; models.providers.*.models[].contextWindow / contextTokens / maxTokens nadpisują je dla poszczególnych modeli.
  • Reguły przełączania awaryjnego, sondy cooldown i utrwalanie nadpisań sesji: Przełączanie awaryjne modeli.
Adding provider auth does not change your primary model

openclaw configure zachowuje istniejące agents.defaults.model.primary, gdy dodajesz lub ponownie autoryzujesz dostawcę. Plugin dostawcy nadal może zwrócić zalecany model domyślny w poprawce konfiguracji uwierzytelniania, ale configure traktuje to jako „udostępnij ten model”, gdy model główny już istnieje, a nie jako „zastąp bieżący model główny”.

Aby celowo przełączyć model domyślny, użyj openclaw models set <provider/model> albo openclaw models auth login --provider <id> --set-default.

OpenAI provider/runtime split

Trasy z rodziny OpenAI są specyficzne dla prefiksów:

  • openai/<model> plus agents.defaults.agentRuntime.id: "codex" używa natywnej uprzęży serwera aplikacji Codex. To typowa konfiguracja subskrypcji ChatGPT/Codex.
  • openai-codex/<model> używa OAuth Codex w PI.
  • openai/<model> bez nadpisania runtime Codex używa bezpośredniego dostawcy klucza API OpenAI w PI.

Zobacz OpenAI i Uprząż Codex. Jeśli podział dostawca/runtime jest niejasny, najpierw przeczytaj Runtime agentów.

Automatyczne włączanie Plugin działa według tej samej granicy: openai-codex/<model> należy do Plugin OpenAI, podczas gdy Plugin Codex jest włączany przez agentRuntime.id: "codex" albo starsze odwołania codex/<model>.

GPT-5.5 jest dostępny przez natywną uprząż serwera aplikacji Codex, gdy ustawione jest agentRuntime.id: "codex", przez openai-codex/gpt-5.5 w PI dla OAuth Codex oraz przez openai/gpt-5.5 w PI dla bezpośredniego ruchu z kluczem API, jeśli Twoje konto go udostępnia.

CLI runtimes

Runtime CLI używają tego samego podziału: wybierz kanoniczne odwołania do modeli, takie jak anthropic/claude-*, google/gemini-* albo openai/gpt-*, a następnie ustaw agents.defaults.agentRuntime.id na claude-cli, google-gemini-cli albo codex-cli, gdy chcesz użyć lokalnego backendu CLI.

Starsze odwołania claude-cli/*, google-gemini-cli/* i codex-cli/* są migrowane z powrotem do kanonicznych odwołań dostawców, z runtime zapisanym osobno.

Zachowanie dostawcy należące do Plugin

Większość logiki specyficznej dla dostawcy znajduje się w Plugin dostawców (registerProvider(...)), podczas gdy OpenClaw zachowuje ogólną pętlę inferencji. Plugin obsługują onboarding, katalogi modeli, mapowanie zmiennych środowiskowych uwierzytelniania, normalizację transportu/konfiguracji, czyszczenie schematów narzędzi, klasyfikację przełączania awaryjnego, odświeżanie OAuth, raportowanie użycia, profile myślenia/rozumowania i więcej.

Pełna lista hooków SDK dostawcy oraz przykładów wbudowanych Plugin znajduje się w sekcji Plugin dostawców. Dostawca, który potrzebuje całkowicie niestandardowego wykonawcy żądań, jest osobną, głębszą powierzchnią rozszerzeń.

Rotacja kluczy API

Key sources and priority

Skonfiguruj wiele kluczy przez:

  • OPENCLAW_LIVE_&lt;PROVIDER&gt;_KEY (pojedyncze nadpisanie live, najwyższy priorytet)
  • &lt;PROVIDER&gt;_API_KEYS (lista rozdzielana przecinkami lub średnikami)
  • &lt;PROVIDER&gt;_API_KEY (klucz główny)
  • &lt;PROVIDER&gt;_API_KEY_* (lista numerowana, np. &lt;PROVIDER&gt;_API_KEY_1)

Dla dostawców Google GOOGLE_API_KEY jest również uwzględniany jako fallback. Kolejność wyboru kluczy zachowuje priorytet i usuwa duplikaty wartości.

When rotation kicks in
  • Żądania są ponawiane z następnym kluczem tylko przy odpowiedziach o limicie szybkości (na przykład 429, rate_limit, quota, resource exhausted, Too many concurrent requests, ThrottlingException, concurrency limit reached, workers_ai ... quota limit exceeded albo okresowe komunikaty o limicie użycia).
  • Błędy inne niż limit szybkości kończą się natychmiastowym niepowodzeniem; rotacja kluczy nie jest podejmowana.
  • Gdy wszystkie klucze kandydujące zawiodą, zwracany jest końcowy błąd z ostatniej próby.

Wbudowani dostawcy (katalog pi-ai)

OpenClaw jest dostarczany z katalogiem pi-ai. Ci dostawcy nie wymagają konfiguracji models.providers; wystarczy ustawić uwierzytelnianie i wybrać model.

OpenAI

  • Dostawca: openai
  • Uwierzytelnianie: OPENAI_API_KEY
  • Opcjonalna rotacja: OPENAI_API_KEYS, OPENAI_API_KEY_1, OPENAI_API_KEY_2, plus OPENCLAW_LIVE_OPENAI_KEY (pojedyncze nadpisanie)
  • Przykładowe modele: openai/gpt-5.5, openai/gpt-5.4-mini
  • Zweryfikuj dostępność konta/modelu za pomocą openclaw models list --provider openai, jeśli konkretna instalacja albo klucz API zachowuje się inaczej.
  • CLI: openclaw onboard --auth-choice openai-api-key
  • Domyślny transport to auto (najpierw WebSocket, fallback SSE)
  • Nadpisz dla modelu przez agents.defaults.models["openai/<model>"].params.transport ("sse", "websocket" albo "auto")
  • Rozgrzewanie WebSocket OpenAI Responses jest domyślnie włączone przez params.openaiWsWarmup (true/false)
  • Priorytetowe przetwarzanie OpenAI można włączyć przez agents.defaults.models["openai/<model>"].params.serviceTier
  • /fast i params.fastMode mapują bezpośrednie żądania Responses openai/* na service_tier=priority w api.openai.com
  • Użyj params.serviceTier, gdy chcesz jawnej warstwy zamiast współdzielonego przełącznika /fast
  • Ukryte nagłówki atrybucji OpenClaw (originator, version, User-Agent) mają zastosowanie tylko do natywnego ruchu OpenAI do api.openai.com, nie do ogólnych proxy zgodnych z OpenAI
  • Natywne trasy OpenAI zachowują również Responses store, wskazówki pamięci podręcznej promptów oraz kształtowanie payloadów zgodne z rozumowaniem OpenAI; trasy proxy tego nie robią
  • openai/gpt-5.3-codex-spark jest celowo ukryty w OpenClaw, ponieważ żądania live API OpenAI go odrzucają, a bieżący katalog Codex go nie udostępnia
{
  agents: { defaults: { model: { primary: "openai/gpt-5.5" } } },
}

Anthropic

  • Dostawca: anthropic
  • Uwierzytelnianie: ANTHROPIC_API_KEY
  • Opcjonalna rotacja: ANTHROPIC_API_KEYS, ANTHROPIC_API_KEY_1, ANTHROPIC_API_KEY_2, plus OPENCLAW_LIVE_ANTHROPIC_KEY (pojedyncze nadpisanie)
  • Przykładowy model: anthropic/claude-opus-4-6
  • CLI: openclaw onboard --auth-choice apiKey
  • Bezpośrednie publiczne żądania Anthropic obsługują współdzielony przełącznik /fast i params.fastMode, w tym ruch z kluczem API i uwierzytelniony OAuth wysyłany do api.anthropic.com; OpenClaw mapuje to na Anthropic service_tier (auto kontra standard_only)
  • Preferowana konfiguracja Claude CLI zachowuje kanoniczne odwołanie do modelu i wybiera backend CLI osobno: anthropic/claude-opus-4-7 z agents.defaults.agentRuntime.id: "claude-cli". Starsze odwołania claude-cli/claude-opus-4-7 nadal działają dla zgodności.
{
  agents: { defaults: { model: { primary: "anthropic/claude-opus-4-6" } } },
}

OpenAI Codex OAuth

  • Dostawca: openai-codex
  • Uwierzytelnianie: OAuth (ChatGPT)
  • Odwołanie do modelu PI: openai-codex/gpt-5.5
  • Odwołanie natywnej uprzęży serwera aplikacji Codex: openai/gpt-5.5 z agents.defaults.agentRuntime.id: "codex"
  • Dokumentacja natywnej uprzęży serwera aplikacji Codex: Uprząż Codex
  • Starsze odwołania do modeli: codex/gpt-*
  • Granica Plugin: openai-codex/* ładuje Plugin OpenAI; natywny Plugin serwera aplikacji Codex jest wybierany tylko przez runtime uprzęży Codex albo starsze odwołania codex/*.
  • CLI: openclaw onboard --auth-choice openai-codex albo openclaw models auth login --provider openai-codex
  • Domyślny transport to auto (najpierw WebSocket, fallback SSE)
  • Nadpisz dla modelu PI przez agents.defaults.models["openai-codex/<model>"].params.transport ("sse", "websocket" albo "auto")
  • params.serviceTier jest również przekazywane dalej w natywnych żądaniach Codex Responses (chatgpt.com/backend-api)
  • Ukryte nagłówki atrybucji OpenClaw (originator, version, User-Agent) są dołączane tylko w natywnym ruchu Codex do chatgpt.com/backend-api, nie do ogólnych proxy zgodnych z OpenAI
  • Współdzieli tę samą konfigurację przełącznika /fast i params.fastMode co bezpośrednie openai/*; OpenClaw mapuje to na service_tier=priority
  • openai-codex/gpt-5.5 używa natywnego katalogu Codex contextWindow = 400000 i domyślnego runtime contextTokens = 272000; nadpisz limit runtime przez models.providers.openai-codex.models[].contextTokens
  • Uwaga dotycząca polityki: OpenAI Codex OAuth jest jawnie obsługiwany dla zewnętrznych narzędzi/przepływów pracy takich jak OpenClaw.
  • Dla typowej trasy subskrypcji plus natywnego runtime Codex zaloguj się przez uwierzytelnianie openai-codex, ale skonfiguruj openai/gpt-5.5 plus agents.defaults.agentRuntime.id: "codex".
  • Użyj openai-codex/gpt-5.5 tylko wtedy, gdy chcesz trasy OAuth/subskrypcji Codex przez PI; użyj openai/gpt-5.5 bez nadpisania runtime Codex, gdy Twoja konfiguracja klucza API i lokalny katalog udostępniają publiczną trasę API.
  • Starsze odwołania openai-codex/gpt-5.1*, openai-codex/gpt-5.2* i openai-codex/gpt-5.3* są ukryte, ponieważ konta ChatGPT/Codex OAuth je odrzucają; zamiast tego użyj openai-codex/gpt-5.5 albo natywnej trasy runtime Codex.
{
  plugins: { entries: { codex: { enabled: true } } },
  agents: {
    defaults: {
      model: { primary: "openai/gpt-5.5" },
      agentRuntime: { id: "codex" },
    },
  },
}
{
  models: {
    providers: {
      "openai-codex": {
        models: [{ id: "gpt-5.5", contextTokens: 160000 }],
      },
    },
  },
}

Inne hostowane opcje w stylu subskrypcji

OpenCode

  • Uwierzytelnianie: OPENCODE_API_KEY (albo OPENCODE_ZEN_API_KEY)
  • Dostawca runtime Zen: opencode
  • Dostawca runtime Go: opencode-go
  • Przykładowe modele: opencode/claude-opus-4-6, opencode-go/kimi-k2.6
  • CLI: openclaw onboard --auth-choice opencode-zen albo openclaw onboard --auth-choice opencode-go
{
  agents: { defaults: { model: { primary: "opencode/claude-opus-4-6" } } },
}

Google Gemini (klucz API)

  • Dostawca: google
  • Uwierzytelnianie: GEMINI_API_KEY
  • Opcjonalna rotacja: GEMINI_API_KEYS, GEMINI_API_KEY_1, GEMINI_API_KEY_2, zapasowy GOOGLE_API_KEY oraz OPENCLAW_LIVE_GEMINI_KEY (pojedyncze nadpisanie)
  • Przykładowe modele: google/gemini-3.1-pro-preview, google/gemini-3-flash-preview
  • Zgodność: starsza konfiguracja OpenClaw używająca google/gemini-3.1-flash-preview jest normalizowana do google/gemini-3-flash-preview
  • Alias: google/gemini-3.1-pro jest akceptowany i normalizowany do aktywnego identyfikatora Gemini API Google, google/gemini-3.1-pro-preview
  • CLI: openclaw onboard --auth-choice gemini-api-key
  • Myślenie: /think adaptive używa dynamicznego myślenia Google. Gemini 3/3.1 pomijają stały thinkingLevel; Gemini 2.5 wysyła thinkingBudget: -1.
  • Bezpośrednie uruchomienia Gemini akceptują także agents.defaults.models["google/<model>"].params.cachedContent (lub starsze cached_content), aby przekazać natywny dla dostawcy uchwyt cachedContents/...; trafienia w pamięci podręcznej Gemini są widoczne jako OpenClaw cacheRead

Google Vertex i Gemini CLI

  • Dostawcy: google-vertex, google-gemini-cli
  • Uwierzytelnianie: Vertex używa gcloud ADC; Gemini CLI używa swojego przepływu OAuth

OAuth Gemini CLI jest dostarczany jako część dołączonego Pluginu google.

  • Zainstaluj Gemini CLI

    brew

    brew install gemini-cli
    

    npm

    npm install -g @google/gemini-cli
    
  • Włącz Plugin

    openclaw plugins enable google
    
  • Zaloguj się

    openclaw models auth login --provider google-gemini-cli --set-default
    

    Model domyślny: google-gemini-cli/gemini-3-flash-preview. Nie wklejasz identyfikatora klienta ani sekretu do openclaw.json. Przepływ logowania CLI przechowuje tokeny w profilach uwierzytelniania na hoście Gateway.

  • Ustaw projekt (jeśli potrzebne)

    Jeśli żądania kończą się niepowodzeniem po zalogowaniu, ustaw GOOGLE_CLOUD_PROJECT lub GOOGLE_CLOUD_PROJECT_ID na hoście Gateway.

  • Odpowiedzi JSON z Gemini CLI są parsowane z response; użycie awaryjnie korzysta ze stats, a stats.cached jest normalizowane do OpenClaw cacheRead.

    Z.AI (GLM)

    • Dostawca: zai
    • Uwierzytelnianie: ZAI_API_KEY
    • Przykładowy model: zai/glm-5.1
    • CLI: openclaw onboard --auth-choice zai-api-key
      • Aliasy: z.ai/* i z-ai/* są normalizowane do zai/*
      • zai-api-key automatycznie wykrywa pasujący punkt końcowy Z.AI; zai-coding-global, zai-coding-cn, zai-global i zai-cn wymuszają konkretną powierzchnię

    Vercel AI Gateway

    • Dostawca: vercel-ai-gateway
    • Uwierzytelnianie: AI_GATEWAY_API_KEY
    • Przykładowe modele: vercel-ai-gateway/anthropic/claude-opus-4.6, vercel-ai-gateway/moonshotai/kimi-k2.6
    • CLI: openclaw onboard --auth-choice ai-gateway-api-key

    Kilo Gateway

    • Dostawca: kilocode
    • Uwierzytelnianie: KILOCODE_API_KEY
    • Przykładowy model: kilocode/kilo/auto
    • CLI: openclaw onboard --auth-choice kilocode-api-key
    • Bazowy URL: https://api.kilo.ai/api/gateway/
    • Statyczny katalog zapasowy zawiera kilocode/kilo/auto; aktywne wykrywanie https://api.kilo.ai/api/gateway/models może dodatkowo rozszerzyć katalog środowiska uruchomieniowego.
    • Dokładny routing upstream za kilocode/kilo/auto należy do Kilo Gateway i nie jest zakodowany na stałe w OpenClaw.

    Zobacz /providers/kilocode, aby poznać szczegóły konfiguracji.

    Inne dołączone Pluginy dostawców

    Dostawca Id Zmienna env uwierzytelniania Przykładowy model
    BytePlus byteplus / byteplus-plan BYTEPLUS_API_KEY byteplus-plan/ark-code-latest
    Cerebras cerebras CEREBRAS_API_KEY cerebras/zai-glm-4.7
    Cloudflare AI Gateway cloudflare-ai-gateway CLOUDFLARE_AI_GATEWAY_API_KEY -
    DeepInfra deepinfra DEEPINFRA_API_KEY deepinfra/deepseek-ai/DeepSeek-V3.2
    DeepSeek deepseek DEEPSEEK_API_KEY deepseek/deepseek-v4-flash
    GitHub Copilot github-copilot COPILOT_GITHUB_TOKEN / GH_TOKEN / GITHUB_TOKEN -
    Groq groq GROQ_API_KEY -
    Hugging Face Inference huggingface HUGGINGFACE_HUB_TOKEN lub HF_TOKEN huggingface/deepseek-ai/DeepSeek-R1
    Kilo Gateway kilocode KILOCODE_API_KEY kilocode/kilo/auto
    Kimi Coding kimi KIMI_API_KEY lub KIMICODE_API_KEY kimi/kimi-code
    MiniMax minimax / minimax-portal MINIMAX_API_KEY / MINIMAX_OAUTH_TOKEN minimax/MiniMax-M2.7
    Mistral mistral MISTRAL_API_KEY mistral/mistral-large-latest
    Moonshot moonshot MOONSHOT_API_KEY moonshot/kimi-k2.6
    NVIDIA nvidia NVIDIA_API_KEY nvidia/nvidia/nemotron-3-super-120b-a12b
    OpenRouter openrouter OPENROUTER_API_KEY openrouter/auto
    Qianfan qianfan QIANFAN_API_KEY qianfan/deepseek-v3.2
    Qwen Cloud qwen QWEN_API_KEY / MODELSTUDIO_API_KEY / DASHSCOPE_API_KEY qwen/qwen3.5-plus
    StepFun stepfun / stepfun-plan STEPFUN_API_KEY stepfun/step-3.5-flash
    Together together TOGETHER_API_KEY together/moonshotai/Kimi-K2.5
    Venice venice VENICE_API_KEY -
    Vercel AI Gateway vercel-ai-gateway AI_GATEWAY_API_KEY vercel-ai-gateway/anthropic/claude-opus-4.6
    Volcano Engine (Doubao) volcengine / volcengine-plan VOLCANO_ENGINE_API_KEY volcengine-plan/ark-code-latest
    xAI xai XAI_API_KEY xai/grok-4.3
    Xiaomi xiaomi XIAOMI_API_KEY xiaomi/mimo-v2-flash

    Niuanse, które warto znać

    OpenRouter

    Stosuje swoje nagłówki atrybucji aplikacji i znaczniki Anthropic cache_control tylko na zweryfikowanych trasach openrouter.ai. Referencje DeepSeek, Moonshot i ZAI kwalifikują się do cache-TTL dla buforowania promptów zarządzanego przez OpenRouter, ale nie otrzymują znaczników pamięci podręcznej Anthropic. Jako ścieżka zgodna z OpenAI w stylu proxy pomija kształtowanie dostępne wyłącznie dla natywnego OpenAI (serviceTier, Responses store, wskazówki pamięci podręcznej promptów, zgodność OpenAI reasoning). Referencje oparte na Gemini zachowują tylko oczyszczanie sygnatur myślenia proxy-Gemini.

    Kilo Gateway

    Referencje oparte na Gemini używają tej samej ścieżki oczyszczania proxy-Gemini; kilocode/kilo/auto i inne referencje proxy nieobsługujące rozumowania pomijają wstrzykiwanie rozumowania proxy.

    MiniMax

    Onboarding z kluczem API zapisuje jawne definicje modelu czatu M2.7 działającego tylko na tekście; rozumienie obrazów pozostaje w należącym do pluginu dostawcy mediów MiniMax-VL-01.

    NVIDIA

    Identyfikatory modeli używają przestrzeni nazw nvidia/<vendor>/<model> (na przykład nvidia/nvidia/nemotron-... obok nvidia/moonshotai/kimi-k2.5); selektory zachowują dosłowną kompozycję <provider>/<model-id>, podczas gdy kanoniczny klucz wysyłany do API pozostaje z pojedynczym prefiksem.

    xAI

    Używa ścieżki xAI Responses. grok-4.3 jest dołączonym domyślnym modelem czatu. /fast lub params.fastMode: true przepisuje grok-3, grok-3-mini, grok-4 i grok-4-0709 na ich warianty *-fast. tool_stream jest domyślnie włączone; wyłącz przez agents.defaults.models["xai/<model>"].params.tool_stream=false.

    Cerebras

    Dostarczany jako dołączony plugin dostawcy cerebras. GLM używa zai-glm-4.7; bazowy URL zgodny z OpenAI to https://api.cerebras.ai/v1.

    Dostawcy przez models.providers (niestandardowy/bazowy URL)

    Użyj models.providers (lub models.json), aby dodać niestandardowych dostawców albo proxy zgodne z OpenAI/Anthropic.

    Wiele z poniższych dołączonych pluginów dostawców już publikuje domyślny katalog. Używaj jawnych wpisów models.providers.<id> tylko wtedy, gdy chcesz nadpisać domyślny bazowy URL, nagłówki lub listę modeli.

    Sprawdzanie możliwości modeli przez Gateway odczytuje także jawne metadane models.providers.<id>.models[]. Jeśli model niestandardowy lub proxy akceptuje obrazy, ustaw w tym modelu input: ["text", "image"], aby WebChat i ścieżki załączników pochodzących z węzłów przekazywały obrazy jako natywne dane wejściowe modelu zamiast tekstowych referencji multimediów.

    Moonshot AI (Kimi)

    Moonshot jest dostarczany jako dołączony plugin dostawcy. Domyślnie używaj wbudowanego dostawcy i dodawaj jawny wpis models.providers.moonshot tylko wtedy, gdy musisz nadpisać bazowy URL lub metadane modelu:

    • Dostawca: moonshot
    • Uwierzytelnianie: MOONSHOT_API_KEY
    • Przykładowy model: moonshot/kimi-k2.6
    • CLI: openclaw onboard --auth-choice moonshot-api-key lub openclaw onboard --auth-choice moonshot-api-key-cn

    Identyfikatory modeli Kimi K2:

    • moonshot/kimi-k2.6
    • moonshot/kimi-k2.5
    • moonshot/kimi-k2-thinking
    • moonshot/kimi-k2-thinking-turbo
    • moonshot/kimi-k2-turbo
    {
      agents: {
        defaults: { model: { primary: "moonshot/kimi-k2.6" } },
      },
      models: {
        mode: "merge",
        providers: {
          moonshot: {
            baseUrl: "https://api.moonshot.ai/v1",
            apiKey: "${MOONSHOT_API_KEY}",
            api: "openai-completions",
            models: [{ id: "kimi-k2.6", name: "Kimi K2.6" }],
          },
        },
      },
    }
    

    Kodowanie Kimi

    Kimi Coding używa punktu końcowego Moonshot AI zgodnego z Anthropic:

    • Dostawca: kimi
    • Uwierzytelnianie: KIMI_API_KEY
    • Przykładowy model: kimi/kimi-code
    {
      env: { KIMI_API_KEY: "sk-..." },
      agents: {
        defaults: { model: { primary: "kimi/kimi-code" } },
      },
    }
    

    Starszy identyfikator kimi/k2p5 pozostaje akceptowany jako identyfikator modelu zgodności.

    Volcano Engine (Doubao)

    Volcano Engine (火山引擎) zapewnia dostęp do Doubao i innych modeli w Chinach.

    • Dostawca: volcengine (kodowanie: volcengine-plan)
    • Uwierzytelnianie: VOLCANO_ENGINE_API_KEY
    • Przykładowy model: volcengine-plan/ark-code-latest
    • CLI: openclaw onboard --auth-choice volcengine-api-key
    {
      agents: {
        defaults: { model: { primary: "volcengine-plan/ark-code-latest" } },
      },
    }
    

    Onboarding domyślnie używa powierzchni kodowania, ale ogólny katalog volcengine/* jest rejestrowany w tym samym czasie.

    W selektorach modeli onboardingu/konfiguracji wybór uwierzytelniania Volcengine preferuje zarówno wiersze volcengine/*, jak i volcengine-plan/*. Jeśli te modele nie zostały jeszcze załadowane, OpenClaw wraca do niefiltrowanego katalogu zamiast pokazywać pusty selektor ograniczony do dostawcy.

    Standard models

    • volcengine/doubao-seed-1-8-251228 (Doubao Seed 1.8)
    • volcengine/doubao-seed-code-preview-251028
    • volcengine/kimi-k2-5-260127 (Kimi K2.5)
    • volcengine/glm-4-7-251222 (GLM 4.7)
    • volcengine/deepseek-v3-2-251201 (DeepSeek V3.2 128K)

    Coding models (volcengine-plan)

    • volcengine-plan/ark-code-latest
    • volcengine-plan/doubao-seed-code
    • volcengine-plan/kimi-k2.5
    • volcengine-plan/kimi-k2-thinking
    • volcengine-plan/glm-4.7

    BytePlus (międzynarodowy)

    BytePlus ARK zapewnia użytkownikom międzynarodowym dostęp do tych samych modeli co Volcano Engine.

    • Dostawca: byteplus (kodowanie: byteplus-plan)
    • Uwierzytelnianie: BYTEPLUS_API_KEY
    • Przykładowy model: byteplus-plan/ark-code-latest
    • CLI: openclaw onboard --auth-choice byteplus-api-key
    {
      agents: {
        defaults: { model: { primary: "byteplus-plan/ark-code-latest" } },
      },
    }
    

    Onboarding domyślnie używa powierzchni kodowania, ale ogólny katalog byteplus/* jest rejestrowany w tym samym czasie.

    W selektorach modeli onboardingu/konfiguracji wybór uwierzytelniania BytePlus preferuje zarówno wiersze byteplus/*, jak i byteplus-plan/*. Jeśli te modele nie zostały jeszcze załadowane, OpenClaw wraca do niefiltrowanego katalogu zamiast pokazywać pusty selektor ograniczony do dostawcy.

    Standard models

    • byteplus/seed-1-8-251228 (Seed 1.8)
    • byteplus/kimi-k2-5-260127 (Kimi K2.5)
    • byteplus/glm-4-7-251222 (GLM 4.7)

    Coding models (byteplus-plan)

    • byteplus-plan/ark-code-latest
    • byteplus-plan/doubao-seed-code
    • byteplus-plan/kimi-k2.5
    • byteplus-plan/kimi-k2-thinking
    • byteplus-plan/glm-4.7

    Synthetic

    Synthetic udostępnia modele zgodne z Anthropic za dostawcą synthetic:

    • Dostawca: synthetic
    • Uwierzytelnianie: SYNTHETIC_API_KEY
    • Przykładowy model: synthetic/hf:MiniMaxAI/MiniMax-M2.5
    • CLI: openclaw onboard --auth-choice synthetic-api-key
    {
      agents: {
        defaults: { model: { primary: "synthetic/hf:MiniMaxAI/MiniMax-M2.5" } },
      },
      models: {
        mode: "merge",
        providers: {
          synthetic: {
            baseUrl: "https://api.synthetic.new/anthropic",
            apiKey: "${SYNTHETIC_API_KEY}",
            api: "anthropic-messages",
            models: [{ id: "hf:MiniMaxAI/MiniMax-M2.5", name: "MiniMax M2.5" }],
          },
        },
      },
    }
    

    MiniMax

    MiniMax jest konfigurowany przez models.providers, ponieważ używa niestandardowych punktów końcowych:

    • MiniMax OAuth (globalny): --auth-choice minimax-global-oauth
    • MiniMax OAuth (CN): --auth-choice minimax-cn-oauth
    • Klucz API MiniMax (globalny): --auth-choice minimax-global-api
    • Klucz API MiniMax (CN): --auth-choice minimax-cn-api
    • Uwierzytelnianie: MINIMAX_API_KEY dla minimax; MINIMAX_OAUTH_TOKEN lub MINIMAX_API_KEY dla minimax-portal

    Zobacz /providers/minimax, aby uzyskać szczegóły konfiguracji, opcje modeli i fragmenty konfiguracji.

    Podział możliwości należący do pluginu:

    • Domyślne ustawienia tekstu/czatu pozostają na minimax/MiniMax-M2.7
    • Generowanie obrazów to minimax/image-01 lub minimax-portal/image-01
    • Rozumienie obrazów to należący do pluginu MiniMax-VL-01 na obu ścieżkach uwierzytelniania MiniMax
    • Wyszukiwanie w sieci pozostaje na identyfikatorze dostawcy minimax

    LM Studio

    LM Studio jest dostarczane jako dołączony plugin dostawcy, który używa natywnego API:

    • Dostawca: lmstudio
    • Uwierzytelnianie: LM_API_TOKEN
    • Domyślny bazowy URL wnioskowania: http://localhost:1234/v1

    Następnie ustaw model (zastąp jednym z identyfikatorów zwróconych przez http://localhost:1234/api/v1/models):

    {
      agents: {
        defaults: { model: { primary: "lmstudio/openai/gpt-oss-20b" } },
      },
    }
    

    OpenClaw używa natywnych endpointów LM Studio /api/v1/models i /api/v1/models/load do wykrywania i automatycznego ładowania, a domyślnie /v1/chat/completions do wnioskowania. Jeśli chcesz, aby ładowanie JIT, TTL i automatyczne usuwanie LM Studio zarządzały cyklem życia modelu, ustaw models.providers.lmstudio.params.preload: false. Zobacz /providers/lmstudio, aby uzyskać instrukcje konfiguracji i rozwiązywania problemów.

    Ollama

    Ollama jest dostarczana jako dołączony plugin dostawcy i używa natywnego API Ollama:

    • Dostawca: ollama
    • Uwierzytelnianie: nie jest wymagane (serwer lokalny)
    • Przykładowy model: ollama/llama3.3
    • Instalacja: https://ollama.com/download
    # Install Ollama, then pull a model:
    ollama pull llama3.3
    
    {
      agents: {
        defaults: { model: { primary: "ollama/llama3.3" } },
      },
    }
    

    Ollama jest wykrywana lokalnie pod adresem http://127.0.0.1:11434, gdy włączysz ją przez OLLAMA_API_KEY, a dołączony plugin dostawcy dodaje Ollama bezpośrednio do openclaw onboard i selektora modeli. Zobacz /providers/ollama, aby uzyskać informacje o onboardingu, trybie chmurowym/lokalnym i konfiguracji niestandardowej.

    vLLM

    vLLM jest dostarczany jako dołączony plugin dostawcy dla lokalnych/samodzielnie hostowanych serwerów zgodnych z OpenAI:

    • Dostawca: vllm
    • Uwierzytelnianie: opcjonalne (zależy od serwera)
    • Domyślny bazowy URL: http://127.0.0.1:8000/v1

    Aby włączyć lokalne automatyczne wykrywanie (działa dowolna wartość, jeśli serwer nie wymusza uwierzytelniania):

    export VLLM_API_KEY="vllm-local"
    

    Następnie ustaw model (zastąp jednym z identyfikatorów zwróconych przez /v1/models):

    {
      agents: {
        defaults: { model: { primary: "vllm/your-model-id" } },
      },
    }
    

    Zobacz /providers/vllm, aby uzyskać szczegóły.

    SGLang

    SGLang jest dostarczany jako dołączony plugin dostawcy dla szybkich, samodzielnie hostowanych serwerów zgodnych z OpenAI:

    • Dostawca: sglang
    • Uwierzytelnianie: opcjonalne (zależy od serwera)
    • Domyślny bazowy URL: http://127.0.0.1:30000/v1

    Aby włączyć lokalne automatyczne wykrywanie (działa dowolna wartość, jeśli serwer nie wymusza uwierzytelniania):

    export SGLANG_API_KEY="sglang-local"
    

    Następnie ustaw model (zastąp jednym z identyfikatorów zwróconych przez /v1/models):

    {
      agents: {
        defaults: { model: { primary: "sglang/your-model-id" } },
      },
    }
    

    Zobacz /providers/sglang, aby uzyskać szczegóły.

    Lokalne proxy (LM Studio, vLLM, LiteLLM itd.)

    Przykład (zgodny z OpenAI):

    {
      agents: {
        defaults: {
          model: { primary: "lmstudio/my-local-model" },
          models: { "lmstudio/my-local-model": { alias: "Local" } },
        },
      },
      models: {
        providers: {
          lmstudio: {
            baseUrl: "http://localhost:1234/v1",
            apiKey: "${LM_API_TOKEN}",
            api: "openai-completions",
            timeoutSeconds: 300,
            models: [
              {
                id: "my-local-model",
                name: "Local Model",
                reasoning: false,
                input: ["text"],
                cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
                contextWindow: 200000,
                maxTokens: 8192,
              },
            ],
          },
        },
      },
    }
    
    Default optional fields

    Dla niestandardowych dostawców reasoning, input, cost, contextWindow i maxTokens są opcjonalne. Gdy zostaną pominięte, OpenClaw domyślnie przyjmuje:

    • reasoning: false
    • input: ["text"]
    • cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }
    • contextWindow: 200000
    • maxTokens: 8192

    Zalecane: ustaw jawne wartości zgodne z limitami proxy/modelu.

    Proxy-route shaping rules
    • Dla api: "openai-completions" na nienatywnych endpointach (dowolny niepusty baseUrl, którego hostem nie jest api.openai.com), OpenClaw wymusza compat.supportsDeveloperRole: false, aby uniknąć błędów 400 dostawcy dla nieobsługiwanych ról developer.
    • Trasy zgodne z OpenAI w stylu proxy pomijają także natywne kształtowanie żądań właściwe tylko dla OpenAI: bez service_tier, bez Responses store, bez Completions store, bez wskazówek prompt-cache, bez kształtowania ładunku zgodności rozumowania OpenAI i bez ukrytych nagłówków atrybucji OpenClaw.
    • Dla proxy Completions zgodnych z OpenAI, które potrzebują pól specyficznych dla dostawcy, ustaw agents.defaults.models["provider/model"].params.extra_body (lub extraBody), aby scalić dodatkowy JSON z wychodzącym ciałem żądania.
    • Dla kontrolek szablonu czatu vLLM ustaw agents.defaults.models["provider/model"].params.chat_template_kwargs. Dołączony plugin vLLM automatycznie wysyła enable_thinking: false i force_nonempty_content: true dla vllm/nemotron-3-*, gdy poziom myślenia sesji jest wyłączony.
    • Dla wolnych modeli lokalnych lub zdalnych hostów LAN/tailnet ustaw models.providers.<id>.timeoutSeconds. Rozszerza to obsługę żądań HTTP modelu dostawcy, w tym połączenie, nagłówki, strumieniowanie ciała i łączne przerwanie guarded-fetch, bez zwiększania limitu czasu całego środowiska uruchomieniowego agenta.
    • Wywołania HTTP dostawcy modelu dopuszczają odpowiedzi DNS fake-IP z Surge, Clash i sing-box w 198.18.0.0/15 oraz fc00::/7 tylko dla skonfigurowanej nazwy hosta baseUrl dostawcy. Inne prywatne, loopback, link-local i metadane docelowe nadal wymagają jawnego włączenia models.providers.<id>.request.allowPrivateNetwork: true.
    • Jeśli baseUrl jest pusty/pominięty, OpenClaw zachowuje domyślne zachowanie OpenAI (które rozwiązuje się do api.openai.com).
    • Ze względów bezpieczeństwa jawne compat.supportsDeveloperRole: true jest nadal nadpisywane na nienatywnych endpointach openai-completions.
    • Dla api: "anthropic-messages" na endpointach niebezpośrednich (dowolny dostawca inny niż kanoniczny anthropic albo niestandardowy models.providers.anthropic.baseUrl, którego host nie jest publicznym endpointem api.anthropic.com), OpenClaw tłumi niejawne nagłówki beta Anthropic, takie jak claude-code-20250219, interleaved-thinking-2025-05-14 i znaczniki OAuth, aby niestandardowe proxy zgodne z Anthropic nie odrzucały nieobsługiwanych flag beta. Ustaw jawnie models.providers.<id>.headers["anthropic-beta"], jeśli proxy wymaga konkretnych funkcji beta.

    Przykłady CLI

    openclaw onboard --auth-choice opencode-zen
    openclaw models set opencode/claude-opus-4-6
    openclaw models list
    

    Zobacz też: Konfiguracja, aby uzyskać pełne przykłady konfiguracji.

    Powiązane