Concepts and configuration
CLI modeli
Rotacja profili uwierzytelniania, okresy oczekiwania i ich współdziałanie z modelami rezerwowymi.
Krótkie omówienie dostawców i przykłady.
Pełna dokumentacja polecenia openclaw models i jego flag.
Klucze konfiguracji modeli, wartości domyślne i przykłady.
Odwołanie do modelu (provider/model) wybiera dostawcę i model, a nie niskopoziomowe
środowisko uruchomieniowe agenta. Gdy zasady środowiska uruchomieniowego nie są ustawione lub mają wartość auto, należące do dostawcy OpenAI
zasady trasowania mogą wybrać Codex wyłącznie dla dokładnej, oficjalnej trasy HTTPS Platform
Responses lub ChatGPT Responses bez nadpisania żądania przez autora; sam prefiks
openai/* nigdy nie wybiera Codex. Adaptery Completions, niestandardowe
punkty końcowe oraz zachowanie żądania określone przez autora pozostają w OpenClaw. Oficjalne
punkty końcowe HTTP przesyłające tekst jawny są odrzucane. Zobacz Niejawne środowisko uruchomieniowe agenta OpenAI.
Odwołania subskrypcji Copilot (github-copilot/*) można jawnie włączyć do zewnętrznego
pluginu środowiska uruchomieniowego agenta GitHub Copilot, ale ta ścieżka zawsze jest jawna (nigdy
nie wybiera jej auto). Nadpisania środowiska uruchomieniowego należy ustawiać w zasadach dostawcy/modelu, a nie dla
całego agenta lub sesji. Wybór środowiska uruchomieniowego nie określa sposobu rozliczania:
poświadczenia klucza API OpenAI oraz subskrypcji ChatGPT/Codex pozostają odrębne. Zobacz
Środowiska uruchomieniowe agentów oraz
Środowisko uruchomieniowe agenta GitHub Copilot.
Kolejność wyboru
Model podstawowy
agents.defaults.model.primary (lub agents.defaults.model jako zwykły ciąg znaków).
Modele rezerwowe
agents.defaults.model.fallbacks, wypróbowywane kolejno.
Przełączanie awaryjne uwierzytelniania
Rotacja profili uwierzytelniania odbywa się w obrębie dostawcy, zanim OpenClaw przejdzie do następnego modelu rezerwowego.
Powiązane obszary konfiguracji modeli:
agents.defaults.modelsto lista dozwolonych modeli i katalog modeli, z których może korzystać OpenClaw, wraz z aliasami. Wpisyprovider/*pozwalają dopuścić wszystkie wykryte modele dostawcy bez wymieniania każdego z nich.agents.defaults.utilityModelto opcjonalny, tańszy model do krótkich zadań wewnętrznych, takich jak generowanie tytułów sesji panelu, tytułów wątków/tematów obsługiwanych kanałów oraz opisów postępu. Ustawienieagents.list[].utilityModeldla konkretnego agenta je nadpisuje. Gdy nie jest ustawione, OpenClaw używa zadeklarowanego przez podstawowego dostawcę domyślnego małego modelu, jeśli taki istnieje (OpenAI →gpt-5.6-luna, Anthropic →claude-haiku-4-5), a w przeciwnym razie podstawowego modelu agenta; ustawienie pustego ciągu znaków wyłącza trasowanie zadań pomocniczych. Zadania pomocnicze są osobnymi wywołaniami modelu i mogą wysyłać ograniczoną zawartość zadania do wybranego dostawcy modelu.agents.defaults.imageModeljest używany tylko wtedy, gdy model podstawowy nie może przyjmować obrazów.agents.defaults.pdfModeljest używany przez narzędziepdf. Jeśli nie jest ustawiony, narzędzie używa kolejnoimageModel, a następnie ustalonego modelu sesji/modelu domyślnego.agents.defaults.imageGenerationModel,musicGenerationModelorazvideoGenerationModelobsługują współdzielone narzędzia generowania multimediów. Jeśli nie są ustawione, każde narzędzie ustala domyślnego dostawcę z dostępnym uwierzytelnianiem: najpierw bieżącego dostawcę domyślnego, a następnie pozostałych zarejestrowanych dostawców danej funkcji w kolejności identyfikatorów dostawców. Ustawagents.defaults.mediaGenerationAutoProviderFallback: false, aby wyłączyć takie ustalanie między dostawcami, zachowując jawne modele rezerwowe.- Ustawienie
agents.list[].modeldla konkretnego agenta (wraz z powiązaniami) nadpisujeagents.defaults.model— zobacz Trasowanie wielu agentów.
Pełna dokumentacja kluczy, wartości domyślnych i przykłady JSON5: Dokumentacja konfiguracji.
Źródło wyboru i rygor modeli rezerwowych
To samo ustawienie provider/model działa inaczej w zależności od źródła:
| Źródło | Zachowanie |
|---|---|
Skonfigurowana wartość domyślna (agents.defaults.model.primary, model podstawowy agenta) |
Zwykły punkt początkowy; używa agents.defaults.model.fallbacks. |
| Automatyczny model rezerwowy | Tymczasowy stan odzyskiwania zapisany jako modelOverrideSource: "auto". OpenClaw okresowo ponownie sprawdza pierwotny model podstawowy, po odzyskaniu usuwa automatyczny wybór i jednokrotnie ogłasza przejście na model rezerwowy lub odzyskanie przy każdej zmianie stanu. |
| Wybór użytkownika w sesji | Dokładny i rygorystyczny. /model, selektor modelu, session_status(model=...) oraz sessions.patch zapisują modelOverrideSource: "user". Jeśli ten dostawca/model stanie się niedostępny, uruchomienie kończy się widocznym błędem zamiast przejścia do innego skonfigurowanego modelu. |
Cron --model / ładunek model |
Model podstawowy dla zadania. Nadal używa skonfigurowanych modeli rezerwowych, chyba że zadanie dostarcza własny fallbacks w ładunku (fallbacks: [] wymusza rygorystyczne uruchomienie). |
Pozostałe zasady wyboru:
- Zmiana
agents.defaults.model.primarynie modyfikuje istniejących przypięć sesji. Jeśli stan wskazujeThis session is pinned to X; config primary Y will apply to new/unpinned sessions., uruchom/model default, aby usunąć przypięcie. - Selektory domyślnego modelu i listy dozwolonych modeli w CLI respektują
models.mode: "replace", wyświetlając tylkomodels.providers.*.modelszamiast pełnego wbudowanego katalogu. - Selektor modelu w interfejsie Control UI pobiera z Gateway skonfigurowany widok modeli:
agents.defaults.models, jeśli jest ustawione (w tym wpisy wieloznaczneprovider/*), a w przeciwnym raziemodels.providers.*.modelsoraz dostawców z działającym uwierzytelnianiem. Pełny wbudowany katalog jest zarezerwowany dla jawnych widoków przeglądania (models.listzview: "all"lubopenclaw models list --all). - Interfejsy wykazu dostawców używają
models.listzview: "provider-config", aby wyświetlać pochodzące ze źródła wierszemodels.providers.*.modelsbez stosowania list dozwolonych modeli selektora.
Pełny opis mechanizmu: Przełączanie awaryjne modeli.
Szybkie zasady dotyczące modeli
- Jako model podstawowy ustaw najsilniejszy dostępny model najnowszej generacji.
- Używaj modeli rezerwowych do zadań wrażliwych na koszt lub opóźnienia oraz do mniej istotnych rozmów.
- W przypadku agentów korzystających z narzędzi lub niezaufanych danych wejściowych unikaj starszych lub słabszych klas modeli.
Konfiguracja początkowa
openclaw onboardKonfiguruje model i uwierzytelnianie dla popularnych dostawców bez ręcznego edytowania konfiguracji, w tym OAuth subskrypcji OpenAI Codex oraz Anthropic (klucz API lub ponowne użycie Claude CLI).
Jeśli nie skonfigurowano modelu podstawowego, nowa konfiguracja klucza API OpenAI wybiera
openai/gpt-5.6; sam identyfikator bezpośredniego API wskazuje klasę Sol. Nowa
konfiguracja OAuth ChatGPT/Codex wybiera dokładne odwołanie katalogowe openai/gpt-5.6-sol.
Ponowne uwierzytelnienie zachowuje istniejący jawnie ustawiony model podstawowy, w tym
openai/gpt-5.5. Jeśli GPT-5.6 jest niedostępny dla konta, należy jawnie wybrać
openai/gpt-5.5; OpenClaw nie obniża jego wersji automatycznie.
„Model jest niedozwolony” (i dlaczego odpowiedzi przestają się pojawiać)
Jeśli ustawiono agents.defaults.models, staje się ono listą dozwolonych modeli dla /model i nadpisań sesji. Wybranie modelu spoza tej listy zwraca następujący komunikat, zanim zostanie wygenerowana zwykła odpowiedź:
Model „provider/model” jest niedozwolony. Użyj /models, aby wyświetlić dostawców, lub /models <provider>, aby wyświetlić modele.Dodaj go za pomocą: openclaw config set agents.defaults.models '{"provider/model":{}}' --strict-json --mergeAby rozwiązać problem, dodaj model do agents.defaults.models, całkowicie usuń listę dozwolonych modeli (usuń klucz) lub wybierz model z /model list. Jeśli odrzucone polecenie zawierało nadpisanie środowiska uruchomieniowego, takie jak /model openai/gpt-5.5 --runtime codex, najpierw popraw listę dozwolonych modeli, a następnie ponów to samo polecenie /model ... --runtime ....
W przypadku modeli lokalnych/GGUF lista dozwolonych modeli musi zawierać pełne odwołanie z prefiksem dostawcy, na przykład ollama/gemma4:26b lub lmstudio/Gemma4-26b-a4-it-gguf — dokładny ciąg można sprawdzić za pomocą openclaw models list --provider <provider>. Same nazwy plików lub nazwy wyświetlane nie wystarczą po włączeniu listy dozwolonych modeli.
Aby ograniczyć dostawców bez wymieniania każdego modelu, użyj wpisów wieloznacznych provider/*:
{ agents: { defaults: { models: { "openai/*": {}, "vllm/*": {}, }, }, },}/model, /models oraz selektory modeli wyświetlają wtedy wykryty katalog wyłącznie dla tych dostawców, a nowe modele mogą pojawiać się bez edytowania listy dozwolonych modeli. Połącz dokładne wpisy provider/model z wpisami provider/*, aby uwzględnić jeden konkretny model innego dostawcy.
Przykładowa lista dozwolonych modeli z aliasami:
{ agents: { defaults: { model: { primary: "anthropic/claude-sonnet-4-6" }, models: { "anthropic/claude-sonnet-4-6": { alias: "Sonnet" }, "anthropic/claude-opus-4-6": { alias: "Opus" }, }, }, },}Bezpieczne edytowanie listy dozwolonych modeli z CLI
Do zmian uzupełniających używaj --merge:
openclaw config set agents.defaults.models '{"openai/gpt-5.4":{}}' --strict-json --mergeopenclaw config set odrzuca przypisania zwykłych obiektów do agents.defaults.models, models.providers lub models.providers.<id>.models, jeśli spowodowałyby usunięcie istniejących wpisów; używaj --replace tylko wtedy, gdy nowa wartość ma stać się pełną wartością docelową. Interaktywna konfiguracja dostawcy oraz openclaw configure --section model już scalają wybory dotyczące dostawcy z listą dozwolonych modeli, więc dodanie dostawcy nie usuwa niepowiązanych wpisów; konfiguracja zachowuje istniejące agents.defaults.model.primary. Jawne polecenia, takie jak openclaw models auth login --provider <id> --set-default i openclaw models set <model>, nadal zastępują model podstawowy.
/model na czacie
/model/model list/model 3/model openai/gpt-5.4/model default/model status/modeli/model listwyświetlają kompaktowy numerowany selektor (rodzina modeli + dostępni dostawcy);/model <#>dokonuje z niego wyboru. W Discord otwiera to listy rozwijane dostawcy/modelu z krokiem Submit; w Telegram wybory w selektorze mają zakres sesji i nigdy nie nadpisują trwałej wartości domyślnej agenta wopenclaw.json./models addjest przestarzałe i zamiast rejestrować modele z czatu, zwraca komunikat./modelnatychmiast utrwala nowy wybór sesji. Jeśli agent jest bezczynny, następne uruchomienie używa go od razu; jeśli uruchomienie jest już aktywne, przełączenie zostaje umieszczone w kolejce do następnego bezpiecznego punktu ponowienia (lub późniejszego, jeśli aktywność narzędzi albo generowanie odpowiedzi już się rozpoczęły)./model defaultusuwa wybór sesji, aby ponownie dziedziczyła skonfigurowany model podstawowy.- Wybrane przez użytkownika odwołanie
/modeljest ściśle obowiązujące w tej sesji: jeśli stanie się nieosiągalne, odpowiedź zakończy się widocznym błędem zamiast niejawnie przechodzić przezagents.defaults.model.fallbacks. Skonfigurowane wartości domyślne i modele podstawowe zadań cron nadal korzystają z łańcuchów zastępczych. /model statusto widok szczegółowy: kandydaci uwierzytelniania dla każdego dostawcy oraz — jeśli skonfigurowano — punkt końcowy dostawcybaseUrli trybapi.- Odwołania do modeli są analizowane przez podział przy pierwszym
/; należy wpisaćprovider/model. Jeśli sam identyfikator modelu zawiera/(jak w OpenRouter), należy dodać prefiks dostawcy, np./model openrouter/moonshotai/kimi-k2. Jeśli dostawca zostanie pominięty, OpenClaw próbuje kolejno: (1) dopasować alias, (2) znaleźć unikatowe dopasowanie skonfigurowanego dostawcy dla dokładnie tego identyfikatora modelu bez prefiksu, (3) użyć skonfigurowanego domyślnego dostawcy (przestarzały mechanizm zastępczy) — a jeśli ten dostawca nie udostępnia już skonfigurowanego modelu domyślnego, zamiast niego użyć pierwszej skonfigurowanej pary dostawca/model, aby nie ujawniać nieaktualnej wartości domyślnej po usuniętym dostawcy. - Odwołania do modeli są normalizowane do małych liter; poza tym identyfikatory dostawców są rozróżniane dokładnie, dlatego należy użyć identyfikatora ogłaszanego przez plugin.
Pełne zachowanie poleceń i konfiguracja: Polecenia z ukośnikiem.
CLI
openclaw models statusopenclaw models listopenclaw models set <provider/model>openclaw models set-image <provider/model>openclaw models scanopenclaw models aliases list|add|removeopenclaw models fallbacks list|add|remove|clearopenclaw models image-fallbacks list|add|remove|clearopenclaw models auth list|add|login|paste-api-key|paste-token|setup-token|orderopenclaw models bez podpolecenia jest skrótem do models status, które wyświetla również czas wygaśnięcia OAuth dla profili magazynu uwierzytelniania (domyślnie ostrzega w ciągu 24h przed wygaśnięciem). Pełne flagi, struktury JSON i podpolecenia profili uwierzytelniania: Dokumentacja CLI modeli.
Skanowanie (bezpłatne modele OpenRouter)
openclaw models scan sprawdza publiczny katalog bezpłatnych modeli OpenRouter i może na żywo testować kandydatów pod kątem obsługi narzędzi i obrazów. Sam katalog jest publiczny, więc skanowanie wyłącznie metadanych (--no-probe) nie wymaga klucza; testowanie na żywo oraz --set-default/--set-image wymagają klucza API OpenRouter (profilu uwierzytelniania lub OPENROUTER_API_KEY), a bez niego bezpiecznie ograniczają wynik wyłącznie do metadanych.
Wyniki są klasyfikowane kolejno według: obsługi obrazów, opóźnienia narzędzi, rozmiaru kontekstu i liczby parametrów. W TTY przetestowane wyniki wyświetlają interaktywny monit wyboru modelu zastępczego; tryb nieinteraktywny wymaga --yes, aby zaakceptować wartości domyślne.
Rejestr modeli (models.json)
Niestandardowi dostawcy skonfigurowani w models.providers są zapisywani do models.json w katalogu agenta (domyślnie ~/.openclaw/agents/<agentId>/agent/models.json). Katalogi pluginów dostawców są przechowywane osobno jako wygenerowane fragmenty katalogu należące do pluginów i wczytywane automatycznie. Domyślnie ten plik jest scalany z konfiguracją; ustaw models.mode: "replace", aby używać wyłącznie skonfigurowanych dostawców.
Pierwszeństwo w trybie scalania
Dla zgodnych identyfikatorów dostawców:
- Pierwszeństwo ma niepuste
baseUrl, które już istnieje w pliku agentamodels.json. - Niepuste
apiKeywmodels.jsonma pierwszeństwo tylko wtedy, gdy ten dostawca nie jest zarządzany przez SecretRef w bieżącym kontekście konfiguracji/profilu uwierzytelniania. - Wartości
apiKeyzarządzane przez SecretRef są odświeżane ze znaczników źródłowych zamiast utrwalania rozwiązanych sekretów: nazwą zmiennej środowiskowej dla odwołań do środowiska orazsecretref-manageddla odwołań do pliku/polecenia. - Wartości nagłówków zarządzane przez SecretRef są odświeżane w ten sam sposób, z użyciem
secretref-env:ENV_VAR_NAMEdla odwołań do środowiska. - Puste lub brakujące
apiKey/baseUrlwmodels.jsonkorzystają zastępczo z konfiguracjimodels.providers. - Pozostałe pola dostawcy są odświeżane z konfiguracji i znormalizowanych danych katalogowych.
Utrwalanie znaczników opiera się na autorytatywnym źródle: za każdym razem, gdy OpenClaw ponownie generuje models.json — w tym w ścieżkach uruchamianych poleceniami, takich jak openclaw agent — zapisuje znaczniki z aktywnej migawki konfiguracji źródłowej (sprzed rozwiązania), a nie rozwiązane wartości sekretów środowiska wykonawczego.
Powiązane
- Środowiska uruchomieniowe agentów — OpenClaw, Codex i inne środowiska uruchomieniowe pętli agentów
- Dokumentacja konfiguracji — klucze konfiguracji modeli
- Generowanie obrazów — konfiguracja modelu obrazów
- Przełączanie awaryjne modeli — łańcuchy zastępcze
- Dostawcy modeli — routing dostawców i uwierzytelnianie
- Dokumentacja CLI modeli — pełna dokumentacja poleceń i flag
- Generowanie muzyki — konfiguracja modelu muzyki
- Generowanie wideo — konfiguracja modelu wideo