Concepts and configuration
Modele CLI
Rotacja profili uwierzytelniania, okresy wyciszenia i ich interakcja z rozwiązaniami awaryjnymi.
Krótki przegląd dostawców i przykłady.
PI, Codex i inne środowiska uruchomieniowe pętli agentów.
Klucze konfiguracji modeli.
Odwołania do modeli wybierają dostawcę i model. Zwykle nie wybierają niskopoziomowego środowiska uruchomieniowego agenta. Na przykład openai/gpt-5.5 może działać przez zwykłą ścieżkę dostawcy OpenAI albo przez środowisko uruchomieniowe serwera aplikacji Codex, zależnie od agents.defaults.agentRuntime.id. W trybie środowiska uruchomieniowego Codex odwołanie openai/gpt-* nie oznacza rozliczania kluczem API; uwierzytelnianie może pochodzić z konta Codex albo z profilu uwierzytelniania openai-codex. Zobacz Środowiska uruchomieniowe agentów.
Jak działa wybór modelu
OpenClaw wybiera modele w tej kolejności:
Model główny
agents.defaults.model.primary (albo agents.defaults.model).
Modele awaryjne
agents.defaults.model.fallbacks (w kolejności).
Awaryjne przełączanie uwierzytelniania dostawcy
Awaryjne przełączanie uwierzytelniania zachodzi wewnątrz dostawcy przed przejściem do następnego modelu.
Powiązane powierzchnie modeli
agents.defaults.modelsto lista dozwolonych/katalog modeli, których OpenClaw może używać (plus aliasy).agents.defaults.imageModeljest używany tylko wtedy, gdy model główny nie obsługuje obrazów.agents.defaults.pdfModeljest używany przez narzędziepdf. Jeśli go pominięto, narzędzie wraca doagents.defaults.imageModel, a następnie do rozwiązanego modelu sesji/domyślnego.agents.defaults.imageGenerationModeljest używany przez współdzieloną funkcję generowania obrazów. Jeśli go pominięto,image_generatenadal może wywnioskować domyślnego dostawcę z uwierzytelnianiem. Najpierw próbuje bieżącego domyślnego dostawcy, a potem pozostałych zarejestrowanych dostawców generowania obrazów w kolejności identyfikatorów dostawców. Jeśli ustawisz konkretnego dostawcę/model, skonfiguruj też uwierzytelnianie/klucz API tego dostawcy.agents.defaults.musicGenerationModeljest używany przez współdzieloną funkcję generowania muzyki. Jeśli go pominięto,music_generatenadal może wywnioskować domyślnego dostawcę z uwierzytelnianiem. Najpierw próbuje bieżącego domyślnego dostawcy, a potem pozostałych zarejestrowanych dostawców generowania muzyki w kolejności identyfikatorów dostawców. Jeśli ustawisz konkretnego dostawcę/model, skonfiguruj też uwierzytelnianie/klucz API tego dostawcy.agents.defaults.videoGenerationModeljest używany przez współdzieloną funkcję generowania wideo. Jeśli go pominięto,video_generatenadal może wywnioskować domyślnego dostawcę z uwierzytelnianiem. Najpierw próbuje bieżącego domyślnego dostawcy, a potem pozostałych zarejestrowanych dostawców generowania wideo w kolejności identyfikatorów dostawców. Jeśli ustawisz konkretnego dostawcę/model, skonfiguruj też uwierzytelnianie/klucz API tego dostawcy.- Domyślne ustawienia poszczególnych agentów mogą nadpisywać
agents.defaults.modelprzezagents.list[].modelplus powiązania (zobacz Routing wieloagentowy).
Źródło wyboru i zachowanie awaryjne
To samo provider/model może oznaczać różne rzeczy zależnie od tego, skąd pochodzi:
- Skonfigurowane ustawienia domyślne (
agents.defaults.model.primaryi modele główne specyficzne dla agentów) są normalnym punktem startowym i używająagents.defaults.model.fallbacks. - Automatyczne wybory awaryjne są tymczasowym stanem odzyskiwania. Są przechowywane z
modelOverrideSource: "auto", aby kolejne tury mogły nadal używać łańcucha awaryjnego bez wcześniejszego sprawdzania znanego wadliwego modelu głównego. - Wybory sesji użytkownika są dokładne.
/model, selektor modelu,session_status(model=...)isessions.patchzapisująmodelOverrideSource: "user"; jeśli wybrany dostawca/model jest nieosiągalny, OpenClaw zgłasza widoczny błąd zamiast przechodzić do innego skonfigurowanego modelu. - Cron
--model/modelw ładunku to model główny dla pojedynczego zadania. Nadal używa skonfigurowanych modeli awaryjnych, chyba że zadanie dostarcza jawnefallbacksw ładunku (użyjfallbacks: []dla ścisłego uruchomienia Cron). - Selektory domyślnego modelu i listy dozwolonych w CLI respektują
models.mode: "replace", pokazując jawnemodels.providers.*.modelszamiast ładować pełny wbudowany katalog. - Selektor modelu w interfejsie Control UI pyta Gateway o jego skonfigurowany widok modeli:
agents.defaults.models, jeśli jest obecne, w przeciwnym razie jawnemodels.providers.*.modelsplus dostawcy z użytecznym uwierzytelnianiem. Pełny wbudowany katalog jest zarezerwowany dla jawnych widoków przeglądania, takich jakmodels.listzview: "all"alboopenclaw models list --all.
Szybka polityka modeli
- Ustaw model główny na najsilniejszy dostępny dla Ciebie model najnowszej generacji.
- Używaj modeli awaryjnych do zadań wrażliwych na koszt/opóźnienia i rozmów o niższej stawce.
- Dla agentów z narzędziami lub niezaufanych danych wejściowych unikaj starszych/słabszych klas modeli.
Onboarding (zalecane)
Jeśli nie chcesz ręcznie edytować konfiguracji, uruchom onboarding:
openclaw onboard
Może skonfigurować model i uwierzytelnianie dla typowych dostawców, w tym subskrypcję OpenAI Code (Codex) (OAuth) i Anthropic (klucz API albo Claude CLI).
Klucze konfiguracji (przegląd)
agents.defaults.model.primaryiagents.defaults.model.fallbacksagents.defaults.imageModel.primaryiagents.defaults.imageModel.fallbacksagents.defaults.pdfModel.primaryiagents.defaults.pdfModel.fallbacksagents.defaults.imageGenerationModel.primaryiagents.defaults.imageGenerationModel.fallbacksagents.defaults.videoGenerationModel.primaryiagents.defaults.videoGenerationModel.fallbacksagents.defaults.models(lista dozwolonych + aliasy + parametry dostawcy)models.providers(niestandardowi dostawcy zapisani wmodels.json)
Bezpieczne edycje listy dozwolonych
Używaj zapisów addytywnych podczas ręcznego aktualizowania agents.defaults.models:
openclaw config set agents.defaults.models '{"openai/gpt-5.4":{}}' --strict-json --merge
Reguły ochrony przed nadpisaniem
openclaw config set chroni mapy modeli/dostawców przed przypadkowym nadpisaniem. Zwykłe przypisanie obiektu do agents.defaults.models, models.providers albo models.providers.<id>.models jest odrzucane, gdy usunęłoby istniejące wpisy. Użyj --merge dla zmian addytywnych; użyj --replace tylko wtedy, gdy podana wartość ma stać się pełną wartością docelową.
Interaktywna konfiguracja dostawcy i openclaw configure --section model także scalają wybory w zakresie dostawcy z istniejącą listą dozwolonych, więc dodanie Codex, Ollama albo innego dostawcy nie usuwa niepowiązanych wpisów modeli. Configure zachowuje istniejące agents.defaults.model.primary, gdy uwierzytelnianie dostawcy jest stosowane ponownie. Jawne polecenia ustawiające domyślne wartości, takie jak openclaw models auth login --provider <id> --set-default i openclaw models set <model>, nadal zastępują agents.defaults.model.primary.
„Model is not allowed” (i dlaczego odpowiedzi się zatrzymują)
Jeśli agents.defaults.models jest ustawione, staje się listą dozwolonych dla /model i nadpisań sesji. Gdy użytkownik wybierze model, którego nie ma na tej liście dozwolonych, OpenClaw zwraca:
Model "provider/model" is not allowed. Use /models to list providers, or /models <provider> to list models.
Add it with: openclaw config set agents.defaults.models '{"provider/model":{}}' --strict-json --merge
Gdy odrzucone polecenie zawierało nadpisanie środowiska uruchomieniowego, takie jak /model openai/gpt-5.5 --runtime codex, najpierw napraw listę dozwolonych, a potem ponów to samo polecenie /model ... --runtime .... Dla natywnego wykonywania Codex wybrany model nadal jest openai/gpt-5.5; środowisko uruchomieniowe codex wybiera harness i osobno używa uwierzytelniania Codex.
Dla modeli lokalnych/GGUF zapisz pełne odwołanie z prefiksem dostawcy na liście dozwolonych,
na przykład ollama/gemma4:26b, lmstudio/Gemma4-26b-a4-it-gguf albo
dokładny dostawca/model pokazany przez openclaw models list --provider <provider>.
Same lokalne nazwy plików lub nazwy wyświetlane nie wystarczą, gdy lista dozwolonych jest
aktywna.
Przykładowa konfiguracja listy dozwolonych:
{
agent: {
model: { primary: "anthropic/claude-sonnet-4-6" },
models: {
"anthropic/claude-sonnet-4-6": { alias: "Sonnet" },
"anthropic/claude-opus-4-6": { alias: "Opus" },
},
},
}
Przełączanie modeli na czacie (/model)
Możesz przełączać modele dla bieżącej sesji bez ponownego uruchamiania:
/model
/model list
/model 3
/model openai/gpt-5.4
/model status
Zachowanie selektora
/model(i/model list) to kompaktowy, numerowany selektor (rodzina modelu + dostępni dostawcy).- W Discord
/modeli/modelsotwierają interaktywny selektor z listami rozwijanymi dostawcy i modelu oraz krokiem Submit. - W Telegram wybory selektora
/modelssą ograniczone do sesji; nie zmieniają trwałej wartości domyślnej agenta wopenclaw.json. /models addjest przestarzałe i teraz zwraca komunikat o przestarzałości zamiast rejestrować modele z czatu./model <#>wybiera z tego selektora.
Trwałość i przełączanie na żywo
/modelnatychmiast zapisuje nowy wybór sesji.- Jeśli agent jest bezczynny, następne uruchomienie od razu używa nowego modelu.
- Jeśli uruchomienie jest już aktywne, OpenClaw oznacza przełączenie na żywo jako oczekujące i restartuje do nowego modelu dopiero w czystym punkcie ponownej próby.
- Jeśli aktywność narzędzi lub wysyłanie odpowiedzi już się rozpoczęły, oczekujące przełączenie może pozostać w kolejce do późniejszej okazji ponownej próby albo do następnej tury użytkownika.
- Wybrane przez użytkownika odwołanie
/modeljest ścisłe dla tej sesji: jeśli wybrany dostawca/model jest nieosiągalny, odpowiedź kończy się widocznym błędem zamiast cicho odpowiadać zagents.defaults.model.fallbacks. Różni się to od skonfigurowanych ustawień domyślnych i modeli głównych zadań Cron, które nadal mogą używać łańcuchów awaryjnych. /model statusto widok szczegółowy (kandydaci uwierzytelniania oraz, gdy skonfigurowano, endpoint dostawcybaseUrl+ trybapi).
Parsowanie odwołań
- Odwołania do modeli są parsowane przez podział na pierwszym
/. Użyjprovider/model, wpisując/model <ref>. - Jeśli sam identyfikator modelu zawiera
/(styl OpenRouter), musisz uwzględnić prefiks dostawcy (przykład:/model openrouter/moonshotai/kimi-k2). - Jeśli pominiesz dostawcę, OpenClaw rozwiązuje dane wejściowe w tej kolejności:
- dopasowanie aliasu
- unikalne dopasowanie skonfigurowanego dostawcy dla dokładnie tego nieprefiksowanego identyfikatora modelu
- przestarzały powrót do skonfigurowanego domyślnego dostawcy — jeśli ten dostawca nie udostępnia już skonfigurowanego domyślnego modelu, OpenClaw zamiast tego wraca do pierwszego skonfigurowanego dostawcy/modelu, aby uniknąć ujawnienia nieaktualnego domyślnego dostawcy, który został usunięty.
Pełne zachowanie/konfiguracja polecenia: Polecenia z ukośnikiem.
Polecenia CLI
openclaw models list
openclaw models status
openclaw models set <provider/model>
openclaw models set-image <provider/model>
openclaw models aliases list
openclaw models aliases add <alias> <provider/model>
openclaw models aliases remove <alias>
openclaw models fallbacks list
openclaw models fallbacks add <provider/model>
openclaw models fallbacks remove <provider/model>
openclaw models fallbacks clear
openclaw models image-fallbacks list
openclaw models image-fallbacks add <provider/model>
openclaw models image-fallbacks remove <provider/model>
openclaw models image-fallbacks clear
openclaw models (bez podpolecenia) jest skrótem do models status.
models list
Domyślnie pokazuje skonfigurowane modele i modele dostępne po uwierzytelnieniu. Przydatne flagi:
--allbooleanPełny katalog. Obejmuje statyczne wiersze katalogu dostarczane z pakietem i należące do providera jeszcze przed skonfigurowaniem uwierzytelniania, dzięki czemu widoki wyłącznie do odkrywania mogą pokazywać modele niedostępne do czasu dodania odpowiednich danych uwierzytelniających providera.
--localbooleanTylko lokalni providerzy.
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcHJvdmlkZXIgPGlk
" type="string">
Filtruj według identyfikatora providera, na przykład moonshot. Etykiety wyświetlane w interaktywnych selektorach nie są akceptowane.
--plainbooleanJeden model na wiersz.
--jsonbooleanDane wyjściowe czytelne maszynowo.
models status
Pokazuje rozwiązany model główny, modele zapasowe, model obrazu oraz przegląd uwierzytelniania skonfigurowanych providerów. Pokazuje także status wygaśnięcia OAuth dla profili znalezionych w magazynie uwierzytelniania (domyślnie ostrzega w ciągu 24 godz.). --plain wypisuje tylko rozwiązany model główny.
Zachowanie uwierzytelniania i sondowania
- Status OAuth jest zawsze pokazywany (i uwzględniany w danych wyjściowych
--json). Jeśli skonfigurowany provider nie ma danych uwierzytelniających,models statuswypisuje sekcję Brak uwierzytelniania. - JSON zawiera
auth.oauth(okno ostrzeżeń + profile) orazauth.providers(efektywne uwierzytelnianie dla każdego providera, w tym dane uwierzytelniające z env).auth.oauthobejmuje tylko kondycję profili z magazynu uwierzytelniania; providerzy wyłącznie z env nie pojawiają się tam. - Użyj
--checkdo automatyzacji (kod wyjścia1, gdy brakuje uwierzytelniania lub wygasło,2, gdy wkrótce wygaśnie). - Użyj
--probedo sprawdzeń uwierzytelniania na żywo; wiersze sondowania mogą pochodzić z profili uwierzytelniania, danych uwierzytelniających env lubmodels.json. - Jeśli jawne
auth.order.<provider>pomija zapisany profil, sondowanie zgłaszaexcluded_by_auth_orderzamiast próbować go użyć. Jeśli uwierzytelnianie istnieje, ale dla tego providera nie można rozwiązać modelu nadającego się do sondowania, sondowanie zgłaszastatus: no_model.
Przykład (Claude CLI):
claude auth login
openclaw models status
Skanowanie (darmowe modele OpenRouter)
openclaw models scan sprawdza katalog darmowych modeli OpenRouter i może opcjonalnie sondować modele pod kątem obsługi narzędzi i obrazów.
--no-probebooleanPomiń sondowania na żywo (tylko metadane).
"--min-params"--max-age-days"--provider"--max-candidates--set-defaultbooleanUstaw agents.defaults.model.primary na pierwszy wybór.
--set-imagebooleanUstaw agents.defaults.imageModel.primary na pierwszy wybór obrazu.
Wyniki skanowania są klasyfikowane według:
- Obsługi obrazów
- Opóźnienia narzędzi
- Rozmiaru kontekstu
- Liczby parametrów
Dane wejściowe:
- Lista OpenRouter
/models(filtr:free) - Sondowania na żywo wymagają klucza API OpenRouter z profili uwierzytelniania lub
OPENROUTER_API_KEY(zobacz Zmienne środowiskowe) - Opcjonalne filtry:
--max-age-days,--min-params,--provider,--max-candidates - Sterowanie żądaniami/sondowaniem:
--timeout,--concurrency
Gdy sondowania na żywo działają w TTY, możesz interaktywnie wybrać modele zapasowe. W trybie nieinteraktywnym przekaż --yes, aby zaakceptować wartości domyślne. Wyniki tylko z metadanymi mają charakter informacyjny; --set-default i --set-image wymagają sondowań na żywo, aby OpenClaw nie skonfigurował bezużytecznego modelu OpenRouter bez klucza.
Rejestr modeli (models.json)
Niestandardowi providerzy w models.providers są zapisywani do models.json w katalogu agenta (domyślnie ~/.openclaw/agents/<agentId>/agent/models.json). Ten plik jest domyślnie scalany, chyba że models.mode jest ustawione na replace.
Priorytet trybu scalania
Priorytet trybu scalania dla pasujących identyfikatorów providerów:
- Niepusty
baseUrljuż obecny wmodels.jsonagenta ma pierwszeństwo. - Niepusty
apiKeywmodels.jsonagenta ma pierwszeństwo tylko wtedy, gdy ten provider nie jest zarządzany przez SecretRef w bieżącym kontekście konfiguracji/profilu uwierzytelniania. - Wartości
apiKeyprovidera zarządzanego przez SecretRef są odświeżane ze znaczników źródłowych (ENV_VAR_NAMEdla odwołań env,secretref-manageddla odwołań file/exec) zamiast utrwalania rozwiązanych sekretów. - Wartości nagłówków providera zarządzanego przez SecretRef są odświeżane ze znaczników źródłowych (
secretref-env:ENV_VAR_NAMEdla odwołań env,secretref-manageddla odwołań file/exec). - Pusty lub brakujący
apiKey/baseUrlagenta wraca domodels.providersz konfiguracji. - Inne pola providera są odświeżane z konfiguracji i znormalizowanych danych katalogu.
Powiązane
- Środowiska wykonawcze agentów — PI, Codex i inne środowiska wykonawcze pętli agenta
- Dokumentacja konfiguracji — klucze konfiguracji modeli
- Generowanie obrazów — konfiguracja modelu obrazu
- Przełączanie awaryjne modeli — łańcuchy modeli zapasowych
- Providerzy modeli — routing providerów i uwierzytelnianie
- Generowanie muzyki — konfiguracja modelu muzyki
- Generowanie wideo — konfiguracja modelu wideo