CLI de modèles
Rotation du profil d’authentification, temps de refroidissement et interaction avec les basculements.
Aperçu rapide des fournisseurs et exemples.
PI, 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 constituent la principale exception : openai/gpt-5.5 s’exécute par défaut via le runtime du serveur d’application Codex sur le fournisseur OpenAI officiel. Les substitutions explicites de runtime appartiennent à la stratégie du fournisseur/modèle, et non à l’agent ou à la session entière. 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 d’authentification openai-codex. Voir Agent runtimes.
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 :
Primary model
agents.defaults.model.primary(ouagents.defaults.model).Fallbacks
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èle associées
agents.defaults.modelsest la liste d’autorisation/le catalogue de 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é de génération d’images partagée. S’il est omis,image_generatepeut toujours déduire un fournisseur par défaut pris en charge par l’authentification. Il essaie d’abord le fournisseur par défaut actuel, puis les fournisseurs de génération d’images enregistrés restants par ordre d’ID de fournisseur. Si vous définissez un fournisseur/modèle spécifique, configurez également la clé d’authentification/API de ce fournisseur.agents.defaults.musicGenerationModelest utilisé par la capacité de génération de musique partagée. S’il est omis,music_generatepeut toujours déduire un fournisseur par défaut pris en charge par l’authentification. Il essaie d’abord le fournisseur par défaut actuel, puis les fournisseurs de génération de musique enregistrés restants par ordre d’ID de fournisseur. Si vous définissez un fournisseur/modèle spécifique, configurez également la clé d’authentification/API de ce fournisseur.agents.defaults.videoGenerationModelest utilisé par la capacité de génération de vidéo partagée. S’il est omis,video_generatepeut toujours déduire un fournisseur par défaut pris en charge par l’authentification. Il essaie d’abord le fournisseur par défaut actuel, puis les fournisseurs de génération de vidéo enregistrés restants par ordre d’ID de fournisseur. Si vous définissez un fournisseur/modèle spécifique, configurez également la clé d’authentification/API de ce fournisseur.- Les valeurs par défaut par agent peuvent remplacer
agents.defaults.modelviaagents.list[].modelplus des liaisons (voir Routage multi-agent).
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) constituent le point de départ normal et utilisentagents.defaults.model.fallbacks. - Les sélections de repli automatique sont des états de récupération temporaires. Elles sont stockées avec
modelOverrideSource: "auto"afin que les tours suivants puissent continuer à utiliser la chaîne de repli sans sonder à chaque fois un principal défaillant connu ; OpenClaw sonde périodiquement le principal d’origine, 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 fournisseur/modèle sélectionné est inaccessible, OpenClaw échoue visiblement au lieu de passer à un autre modèle configuré. - Le Cron
--model/ la payloadmodelest un principal par tâche. Il utilise toujours les replis configurés, sauf si la tâche fournit unefallbacksde payload explicite (utilisezfallbacks: []pour une exécution Cron stricte). - Les sélecteurs default-model et allowlist de la CLI respectent
models.mode: "replace"en listant desmodels.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èle configurée :
agents.defaults.modelssi présent, y compris les entréesprovider/*à l’échelle du fournisseur, sinon desmodels.providers.*.modelsexplicites plus les fournisseurs avec une authentification 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 sur le modèle le plus puissant de la dernière génération disponible pour vous.
- Utilisez les replis pour les tâches sensibles aux coûts/à la latence et pour les discussions moins critiques.
- Pour les agents activant des 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 manuellement, lancez l’onboarding :
openclaw onboardIl peut configurer le modèle + l’authentification pour les fournisseurs courants, notamment l’abonnement OpenAI Code (Codex) (OAuth) et Anthropic (clé API ou CLI Claude).
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 du fournisseur + entrées de fournisseur dynamiqueprovider/*)models.providers(fournisseurs personnalisés écrits dansmodels.json)
Modifications sûres de la liste blanche
Section intitulée « Modifications sûres de la liste blanche »Utilisez des écritures additives lors de la mise à jour manuelle de agents.defaults.models :
openclaw config set agents.defaults.models '{"openai/gpt-5.4":{}}' --strict-json --mergeRègles de protection contre l'écrasement
openclaw config set protège les cartes model/provider des écrasements accidentels. Une affectation d’objet simple à agents.defaults.models, models.providers ou `models.providers.
.modelsest rejetée lorsqu'elle supprimerait des entrées existantes. Utilisez—mergepour les modifications additives ; utilisez—replace` uniquement lorsque la valeur fournie doit devenir la valeur cible complète.
La configuration interactive du provider et `openclaw configure --section model` fusionnent également les selections étendues au provider dans la liste d'autorisation existante, donc l'ajout de Codex, Ollama ou un autre provider ne supprime pas les entrées de model non liées. Configure préserve un `agents.defaults.model.primary` existant lorsque l'authentification du provider est réappliquée. Les commandes explicites de définition par défaut telles que `openclaw models auth login --provider—set-defaultetopenclaw models set
remplacent toujoursagents.defaults.model.primary`.
“Le modèle n’est pas autorisé” (et pourquoi les réponses s’arrêtent)
Section intitulée « “Le modèle n’est pas autorisé” (et pourquoi les réponses s’arrêtent) »Si agents.defaults.models est défini, il devient la liste d’autorisation pour /model et pour les overrides de session. Lorsqu’un utilisateur sélectionne un modèle qui n’est pas dans cette liste d’autorisation, OpenClaw renvoie :
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 incluait un override de runtime tel 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 ; le runtime 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 préfixée par le fournisseur dans la liste blanche (allowlist),
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 simples ou les noms d’affichage ne suffisent pas lorsque la liste blanche 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-codex/*": {}, "vllm/*": {}, }, }, },}Avec cette stratégie, /model, /models et les sélecteurs de modèles affichent le catalogue
découvert pour ces fournisseurs uniquement. Les nouveaux modèles des fournisseurs sélectionnés peuvent
apparaître sans modifier la liste blanche. 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 liste blanche :
{ 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èles dans le chat (/model)
Section intitulée « Changer de modèles dans le chat (/model) »Vous pouvez changer de modèles pour la session actuelle 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, plus une étape de soumission. - Sur Telegram, les sélections du sélecteur
/modelssont limitées à la session ; elles ne modifient pas le défaut persistant 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 à partir de ce sélecteur.
Persistence and live switching
/modelOpenClaw enregistre immédiatement la nouvelle sélection de session.- Si l’agent est inactif, la prochaine exécution utilise le nouveau modèle immédiatement.
- Si une exécution est déjà en cours, OpenClaw marque le changement à chaud 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 changement en attente peut rester en file 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 de manière visible au lieu de répondre silencieusement à partir deagents.defaults.model.fallbacks. Cela diffère des valeurs par défaut configurées et des primaires des tâches cron, qui peuvent toujours utiliser des chaînes de repli. /model statusest la vue détaillée (candidats d’authentification et, lorsque configuré, point de terminaison du fournisseurbaseUrl+ modeapi).
Ref parsing
- Les références de modèle sont analysées en divisant sur la première occurrence de
/. Utilisezprovider/modellors de la saisie de `/model
. - Si l'ID du modèle contient lui-même /OpenRouter (style OpenRouter), vous devez inclure le préfixe du fournisseur (exemple : /model openrouter/moonshotai/kimi-k2`OpenClawOpenClaw).
- 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 obsolète 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 périmée d’un fournisseur supprimé.
Comportement/configuration complète de la commande : 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 replis, le model d’image et un aperçu de l’auth des providers configurés. Il signale également le statut d’expiration OAuth pour les profils trouvés dans le magasin d’auth (avertit par défaut dans les 24h). --plain n’affiche que le model principal résolu.
Comportement d'authentification et de sonde
- Le statut OAuth est toujours affiché (et inclus dans la sortie
--json). Si un fournisseur configuré n’a pas d’identifiants,models statusaffiche une section Missing auth. - Le JSON inclut
auth.oauth(fenêtre d’avertissement + profils) etauth.providers(authentification effective par fournisseur, y compris les identifiants basés sur les variables d’environnement).auth.oauthconcerne uniquement la santé des profils du magasin d’authentification ; les fournisseurs basés uniquement sur les variables d’environnement n’y apparaissent pas. - Utilisez
--checkpour l’automatisation (sortie1en cas d’absence ou d’expiration,2en cas d’expiration imminente). - Utilisez
--probepour les vérifications d’authentification en direct ; les lignes de sonde peuvent provenir de profils d’authentification, d’identifiants d’environnement ou demodels.json. - Si un `auth.order.
explicite omet un profil stocké, la sonde 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 fournisseur, la sonde signalestatus: no_model`.
Exemple (Claude CLI) :
claude auth loginopenclaw models statusAnalyse (modèles gratuits OpenRouter)
Section intitulée « Analyse (modèles gratuits OpenRouter) »openclaw models scan inspecte le catalogue de modèles gratuits de OpenRouter et peut sonder facultativement les modèles pour le support des outils et des images.
Les résultats du scan sont classés par :
- Prise en charge des images
- Latence des outils
- Taille du contexte
- Nombre de paramètres
Entrée :
- Liste OpenRouter
/models(filtre:free) - Les sondages en direct nécessitent une clé OpenRouter API à partir des profils d’authentification ou de
OPENROUTER_API_KEY(voir Variables d’environnement) - 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 un modèle OpenRouter sans clé inutilisable.
Registre des modèles (models.json)
Section intitulée « Registre des modèles (models.json) »Les fournisseurs 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). 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 ne l’emporte que si ce fournisseur n’est pas géré par SecretRef dans le contexte de configuration/profil d’authentification actuel. - Les valeurs
apiKeydes fournisseurs gérés par SecretRef sont actualisées à partir des marqueurs sources (ENV_VAR_NAMEpour les références d’environnement,secretref-managedpour les références de fichier/exec) au lieu de persister les secrets résolus. - Les valeurs d’en-tête des fournisseurs gérés par SecretRef sont actualisées à partir des marqueurs sources (
secretref-env:ENV_VAR_NAMEpour les références d’environnement,secretref-managedpour les références de fichier/exec). - Les
apiKey/baseUrlde l’agent vides ou manquants reviennent à lamodels.providersde configuration. - 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 »- Runtimes d’agent — PI, Codex et autres runtimes de boucle d’agent
- Référence de configuration — clés de configuration de model
- Génération d’images — configuration de model d’image
- Basculement de model — chaînes de repli
- Providers de model — routage et authentification des providers
- Génération de musique — configuration de model de musique
- Génération de vidéo — configuration de model de vidéo