CLI de modèles
Rotation du profil d’authentification, temps de refroidissement et interaction avec les basculements.
Aperçu rapide des fournisseurs et exemples.
OpenClaw, Codex et autres runtimes de boucle d’agent.
Clés de configuration du modèle.
Les références de modèle choisissent un fournisseur et un modèle. Elles ne choisissent généralement pas le runtime d’agent de bas niveau. Les références d’agent OpenAI sont la principale exception : openai/gpt-5.5 passe par le runtime du serveur d’application Codex par défaut sur le fournisseur OpenAI officiel. Les références Copilot d’abonnement (github-copilot/*) peuvent en outre être activées pour le plugin de runtime d’agent Copilot GitHub externe — ce chemin reste explicite (pas de repli auto). Les remplacements explicites de runtime appartiennent à la stratégie de fournisseur/modèle, et non à l’agent entier ou à la session. En mode runtime Codex, la référence openai/gpt-* n’implique pas la facturation par clé API ; l’authentification peut provenir d’un compte Codex ou d’un profil OAuth openai. Voir Runtimes d’agent et Runtime d’agent Copilot GitHub.
Fonctionnement de la sélection de modèle
Section intitulée « Fonctionnement de la sélection de modèle »OpenClaw sélectionne les modèles dans cet ordre :
Modèle principal
agents.defaults.model.primary(ouagents.defaults.model).Replis
agents.defaults.model.fallbacks(dans l’ordre).Provider auth failover
Le basculement d’authentification se produit à l’intérieur d’un fournisseur avant de passer au modèle suivant.
Surfaces de modèles associés
agents.defaults.modelsest la liste d’autorisation/le catalogue des modèles que OpenClaw peut utiliser (plus les alias). Utilisez les entréesprovider/*pour limiter les fournisseurs visibles tout en gardant la découverte de fournisseurs dynamique.agents.defaults.imageModelest utilisé uniquement lorsque le modèle principal ne peut pas accepter d’images.agents.defaults.pdfModelest utilisé par l’outilpdf. S’il est omis, l’outil revient àagents.defaults.imageModel, puis au modèle de session/défaut résolu.agents.defaults.imageGenerationModelest utilisé par la capacité partagée de génération d’images. S’il est omis,image_generatepeut quand même déduire un fournisseur par défaut avec authentification. Il essaie d’abord le fournisseur par défaut actuel, puis les fournisseurs de génération d’images enregistrés restants dans l’ordre des ID de fournisseur. Si vous définissez un fournisseur/modèle spécifique, configurez également la clé d’auth/API de ce fournisseur.agents.defaults.musicGenerationModelest utilisé par la capacité partagée de génération de musique. S’il est omis,music_generatepeut quand même déduire un fournisseur par défaut avec authentification. Il essaie d’abord le fournisseur par défaut actuel, puis les fournisseurs de génération de musique enregistrés restants dans l’ordre des ID de fournisseur. Si vous définissez un fournisseur/modèle spécifique, configurez également la clé d’auth/API de ce fournisseur.agents.defaults.videoGenerationModelest utilisé par la capacité partagée de génération de vidéo. S’il est omis,video_generatepeut quand même déduire un fournisseur par défaut avec authentification. Il essaie d’abord le fournisseur par défaut actuel, puis les fournisseurs de génération de vidéo enregistrés restants dans l’ordre des ID de fournisseur. Si vous définissez un fournisseur/modèle spécifique, configurez également la clé d’auth/API de ce fournisseur.- Les valeurs par défaut par agent peuvent remplacer
agents.defaults.modelviaagents.list[].modelplus des liaisons (voir Multi-agent routing).
Source de sélection et comportement de repli
Section intitulée « Source de sélection et comportement de repli »Le même provider/model peut signifier différentes choses selon sa provenance :
- Les valeurs par défaut configurées (
agents.defaults.model.primaryet les principaux spécifiques aux agents) sont le point de départ normal et utilisentagents.defaults.model.fallbacks. - Les sélections de repli automatique sont un état de récupération temporaire. Elles sont stockées avec
modelOverrideSource: "auto"afin que les tours suivants puissent continuer à utiliser la chaîne de repli sans sonder un principal défaillant à chaque fois ; OpenClaw sonde périodiquement le principal original à nouveau, efface la sélection automatique lorsqu’il récupère, et annonce les transitions de repli/récupération une fois par changement d’état. - Les sélections de session utilisateur sont exactes.
/model, le sélecteur de modèle,session_status(model=...)etsessions.patchstockentmodelOverrideSource: "user"; si le provider/modèle sélectionné est inaccessible, OpenClaw échoue visiblement au lieu de basculer vers un autre modèle configuré. - Modifier
agents.defaults.model.primaryne réécrit pas les sélections de session existantes. Si le statut indiqueThis session is pinned to X; config primary Y will apply to new/unpinned sessions., basculez la session actuelle avec/model You effacez l’état de session obsolète avec/reset. - Le Cron
--model/ le payloadmodelest un principal par tâche. Il utilise toujours les replis configurés, sauf si la tâche fournit un payload explicitefallbacks(utilisezfallbacks: []pour une exécution Cron stricte). - Les sélecteurs de modèle par défaut et de liste d’autorisation CLI respectent
models.mode: "replace"en listant lesmodels.providers.*.modelsexplicites au lieu de charger le catalogue intégré complet. - Le sélecteur de modèle de l’interface de contrôle demande au Gateway sa vue de modèles configurée :
agents.defaults.modelssi présent, y compris les entréesprovider/*à l’échelle du provider, sinonmodels.providers.*.modelsexplicites plus les providers avec une auth utilisable. Le catalogue intégré complet est réservé aux vues de navigation explicites telles quemodels.listavecview: "all"ouopenclaw models list --all.
Politique rapide de modèle
Section intitulée « Politique rapide de modèle »- Définissez votre principal comme étant le modèle le plus puissant de la dernière génération qui vous est disponible.
- Utilisez les replis pour les tâches sensibles aux coûts/à la latence et les discussions moins critiques.
- Pour les agents avec outils ou les entrées non fiables, évitez les niveaux de modèle plus anciens ou plus faibles.
Onboarding (recommandé)
Section intitulée « Onboarding (recommandé) »Si vous ne souhaitez pas modifier la configuration à la main, lancez l’onboarding :
openclaw onboardIl peut configurer le modèle + l’auth pour les providers courants, y compris l’abonnement OpenAI Code (Codex) (OAuth) et Anthropic (clé API ou Claude CLI).
Clés de configuration (aperçu)
Section intitulée « Clés de configuration (aperçu) »agents.defaults.model.primaryetagents.defaults.model.fallbacksagents.defaults.imageModel.primaryetagents.defaults.imageModel.fallbacksagents.defaults.pdfModel.primaryetagents.defaults.pdfModel.fallbacksagents.defaults.imageGenerationModel.primaryetagents.defaults.imageGenerationModel.fallbacksagents.defaults.videoGenerationModel.primaryetagents.defaults.videoGenerationModel.fallbacksagents.defaults.models(allowlist + alias + paramètres de provider + entrées de provider dynamiquesprovider/*)models.providers(providers personnalisés écrits dansmodels.json)
Safe allowlist edits
Section intitulée « Safe allowlist edits »Use additive writes when updating agents.defaults.models by hand:
openclaw config set agents.defaults.models '{"openai/gpt-5.4":{}}' --strict-json --mergeClobber protection rules
openclaw config set protects model/provider maps from accidental clobbers. A plain object assignment to agents.defaults.models, models.providers, or `models.providers.
.modelsis rejected when it would remove existing entries. Use—mergefor additive changes; use—replace` only when the provided value should become the complete target value.
Interactive provider setup and `openclaw configure --section model` also merge provider-scoped selections into the existing allowlist, so adding Codex, Ollama, or another provider does not drop unrelated model entries. Configure preserves an existing `agents.defaults.model.primary` when provider auth is re-applied. Explicit default-setting commands such as `openclaw models auth login --provider—set-defaultandopenclaw models set
still replaceagents.defaults.model.primary`.
“Model is not allowed” (and why replies stop)
Section intitulée « “Model is not allowed” (and why replies stop) »If agents.defaults.models is set, it becomes the allowlist for /model and for session overrides. When a user selects a model that isn’t in that allowlist, OpenClaw returns:
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 --mergeLorsque la commande rejetée comprenait une priorité d’exécution telle que /model openai/gpt-5.5 --runtime codex, corrigez d’abord la liste d’autorisation, puis réessayez la même commande /model ... --runtime .... Pour l’exécution native de Codex, le modèle sélectionné est toujours openai/gpt-5.5 ; l’exécution codex sélectionne le harnais et utilise l’authentification Codex séparément.
Pour les modèles locaux/GGUF, stockez la référence complète avec le préfixe du fournisseur dans la liste d’autorisation,
par exemple ollama/gemma4:26b, lmstudio/Gemma4-26b-a4-it-gguf, ou le
fournisseur/modèle exact affiché par openclaw models list --provider <provider>.
Les noms de fichiers locaux bruts ou les noms d’affichage ne suffisent pas lorsque la liste d’autorisation est
active.
Si vous souhaitez limiter les fournisseurs sans lister manuellement chaque modèle, ajoutez
des entrées provider/* à agents.defaults.models :
{ agents: { defaults: { models: { "openai/*": {}, "vllm/*": {}, }, }, },}Avec cette stratégie, /model, /models et les sélecteurs de modèles affichent le catalogue
découvert uniquement pour ces fournisseurs. Les nouveaux modèles des fournisseurs sélectionnés peuvent
apparaître sans modifier la liste d’autorisation. Les entrées exactes provider/model peuvent être mélangées
avec des entrées provider/* lorsque vous avez besoin d’un modèle spécifique d’un autre fournisseur.
Exemple de configuration de la liste d’autorisation :
{ agents: { defaults: { model: { primary: "anthropic/claude-sonnet-4-6" }, models: { "anthropic/claude-sonnet-4-6": { alias: "Sonnet" }, "anthropic/claude-opus-4-6": { alias: "Opus" }, }, }, },}Changer de modèle dans le chat (/model)
Section intitulée « Changer de modèle dans le chat (/model) »Vous pouvez changer de modèle pour la session en cours sans redémarrer :
/model/model list/model 3/model openai/gpt-5.4/model statusComportement du sélecteur
/model(et/model list) est un sélecteur compact numéroté (famille de modèles + fournisseurs disponibles).- Sur Discord,
/modelet/modelsouvrent un sélecteur interactif avec des listes déroulantes pour le fournisseur et le modèle, ainsi qu’une étape de validation. - Sur Telegram, les sélections du sélecteur
/modelssont limitées à la session ; elles ne modifient pas la valeur par défaut persistante de l’agent dansopenclaw.json. /models addest obsolète et renvoie désormais un message d’obsolescence au lieu d’enregistrer des modèles depuis le chat./model <#>effectue une sélection depuis ce sélecteur.
Persistence and live switching
/modelenregistre immédiatement la nouvelle sélection de session.- Si l’agent est inactif, la prochaine exécution utilise immédiatement le nouveau modèle.
- Si une exécution est déjà en cours, OpenClaw marque le basculement en direct comme en attente et redémarre uniquement avec le nouveau modèle à un point de réessai propre.
- Si l’activité de l’outil ou la sortie de la réponse a déjà commencé, le basculement en attente peut rester en file d’attente jusqu’à une prochaine opportunité de réessai ou au prochain tour de l’utilisateur.
- Une référence
/modelsélectionnée par l’utilisateur est stricte pour cette session : si le fournisseur/modèle sélectionné est inaccessible, la réponse échoue visiblement au lieu de répondre silencieusement depuisagents.defaults.model.fallbacks. Cela diffère des valeurs par défaut configurées et des principales tâches cron, qui peuvent toujours utiliser des chaînes de repli. /model statusest la vue détaillée (candidats d’authentification et, lorsqu’ils sont configurés, point de terminaison du fournisseurbaseUrl+ modeapi).
Ref parsing
- Les références de modèle sont analysées en divisant sur le premier
/. Utilisezprovider/modellors de la saisie de `/model
. - Si l'ID du modèle lui-même contient /(style OpenRouter), vous devez inclure le préfixe du fournisseur (exemple :/model openrouter/moonshotai/kimi-k2`).
- Si vous omettez le fournisseur, OpenClaw résout l’entrée dans cet ordre :
1. correspondance d’alias
2. correspondance unique de fournisseur configuré pour cet ID de modèle exact sans préfixe
3. repli déprécié vers le fournisseur par défaut configuré — si ce fournisseur n’expose plus le modèle par défaut configuré, OpenClaw revient plutôt au premier fournisseur/modèle configuré pour éviter d’afficher une valeur par défaut obsolète d’un fournisseur supprimé.
Comportement/configuration complète des commandes : Slash commands.
Commandes CLI
Section intitulée « Commandes CLI »openclaw models listopenclaw models statusopenclaw models set <provider/model>openclaw models set-image <provider/model>
openclaw models aliases listopenclaw models aliases add <alias> <provider/model>openclaw models aliases remove <alias>
openclaw models fallbacks listopenclaw models fallbacks add <provider/model>openclaw models fallbacks remove <provider/model>openclaw models fallbacks clear
openclaw models image-fallbacks listopenclaw models image-fallbacks add <provider/model>openclaw models image-fallbacks remove <provider/model>openclaw models image-fallbacks clearopenclaw models (sans sous-commande) est un raccourci pour models status.
models list
Section intitulée « models list »Affiche les models configurés/disponibles via auth par défaut. Indicateurs utiles :
models status
Section intitulée « models status »Affiche le model principal résolu, les secours (fallbacks), le model d’image, et un aperçu de l’auth des providers configurés. Il affiche également le statut d’expiration OAuth pour les profils trouvés dans le magasin d’auth (avertit dans les 24h par défaut). --plain n’imprime que le model principal résolu.
Comportement de l'authentification et des sondages
- Le statut OAuth est toujours affiché (et inclus dans la sortie de
--json). Si un provider configuré n’a pas d’identifiants,models statusimprime une section Missing auth. - Le JSON inclut
auth.oauth(fenêtre d’avertissement + profils) etauth.providers(authentification effective par provider, y compris les identifiants basés sur des variables d’environnement).auth.oauthconcerne uniquement la santé des profils de stockage d’authentification ; les providers basés uniquement sur des variables d’environnement n’y apparaissent pas. - Utilisez
--checkpour l’automatisation (exit1en cas d’absence ou d’expiration,2en cas d’expiration imminente). - Utilisez
--probepour les vérifications d’authentification en direct ; les lignes de sondage peuvent provenir de profils d’authentification, d’identifiants d’environnement ou demodels.json. - Si un `auth.order.
explicite omet un profil stocké, le sondage signaleexcluded_by_auth_orderau lieu de l'essayer. Si une authentification existe mais qu'aucun modèle sondeable ne peut être résolu pour ce provider, le sondage signalestatus: no_model`.
Exemple (Claude CLI) :
claude auth loginopenclaw models statusBalayage (modèles gratuits OpenRouter)
Section intitulée « Balayage (modèles gratuits OpenRouter) »openclaw models scanOpenRouter inspecte le catalogue de modèles gratuits d’OpenRouter et peut sonder optionnellement les modèles pour le support des outils et des images.
Les résultats de l’analyse sont classés par :
- Support des images
- Latence des outils
- Taille du contexte
- Nombre de paramètres
Entrée :
- Liste OpenRouter
/models(filtre:free) - Les sondes en direct nécessitent une clé API OpenRouterAPI des profils d’authentification ou
OPENROUTER_API_KEY(voir Environment variables) - Filtres optionnels :
--max-age-days,--min-params,--provider,--max-candidates - Contrôles de requête/sondage :
--timeout,--concurrency
Lorsque les sondes en direct s’exécutent dans un TTY, vous pouvez sélectionner les replis de manière interactive. En mode non interactif, passez --yes pour accepter les valeurs par défaut. Les résultats contenant uniquement des métadonnées sont informatifs ; --set-default et --set-imageOpenClawOpenRouter nécessitent des sondes en direct, donc OpenClaw ne configure pas de modèle OpenRouter sans clé inutilisable.
Registre des modèles (models.json)
Section intitulée « Registre des modèles (models.json) »Les providers personnalisés dans models.providers sont écrits dans models.json sous le répertoire de l’agent (par défaut ~/.openclaw/agents/<agentId>/agent/models.json). Les catalogues de plugins de provider sont stockés sous forme de fragments de catalogue appartenant au plugin générés sous l’état du plugin de l’agent et chargés automatiquement. Ce fichier est fusionné par défaut, sauf si models.mode est défini sur replace.
Priorité du mode de fusion
Priorité du mode de fusion pour les ID de fournisseur correspondants :
- Un
baseUrlnon vide déjà présent dans lemodels.jsonde l’agent l’emporte. - Un
apiKeynon vide dans lemodels.jsonde l’agent l’emporte uniquement lorsque ce fournisseur n’est pas géré par SecretRef dans le contexte de configuration/profil d’authentification actuel. - Les valeurs
apiKeydu fournisseur géré par SecretRef sont actualisées à partir des marqueurs source (ENV_VAR_NAMEpour les références d’env,secretref-managedpour les références de fichier/exec) au lieu de conserver les secrets résolus. - Les valeurs d’en-tête du fournisseur géré par SecretRef sont actualisées à partir des marqueurs source (
secretref-env:ENV_VAR_NAMEpour les références d’env,secretref-managedpour les références de fichier/exec). - Les
apiKey/baseUrlde l’agent vides ou manquants reviennent à la configurationmodels.providers. - Les autres champs du fournisseur sont actualisés à partir de la configuration et des données du catalogue normalisées.
Connexes
Section intitulée « Connexes »- Agent runtimes — OpenClaw, Codex et autres runtimes de boucle d’agent
- Configuration reference — clés de configuration de modèle
- Image generation — configuration du modèle d’image
- Model failover — chaînes de repli
- Model providers — routage et authentification des providers
- Music generation — configuration du modèle de musique
- Video generation — configuration du modèle vidéo