CLI commands
CLI d’inférence
openclaw infer est l’interface canonique sans affichage pour l’inférence reposant sur des fournisseurs. Elle expose des familles de capacités (model, image, audio, tts, video, web, embedding), et non les noms RPC bruts du Gateway ni les identifiants des outils d’agent. openclaw capability ... est un alias de la même arborescence de commandes.
Raisons de la préférer à un wrapper ponctuel propre à un fournisseur :
- Réutilise les fournisseurs et modèles déjà configurés dans OpenClaw.
- Enveloppe
--jsonstable pour les scripts et l’automatisation pilotée par des agents (voir Sortie JSON). - Emprunte le chemin local normal sans le Gateway pour la plupart des sous-commandes.
- Pour les vérifications de bout en bout des fournisseurs, elle couvre la CLI distribuée, le chargement de la configuration, la résolution de l’agent par défaut, l’activation des Plugins intégrés et l’environnement d’exécution partagé des capacités avant l’envoi de la requête au fournisseur.
Transformer infer en Skills
Copiez-collez ceci dans un agent :
Lisez https://docs.openclaw.ai/cli/infer, puis créez des Skills qui orientent mes flux de travail courants vers `openclaw infer`.Concentrez-vous sur les exécutions de modèles, la génération d’images, la génération de vidéos, la transcription audio, la synthèse vocale, la recherche sur le Web et les plongements vectoriels.De bonnes Skills fondées sur infer associent les intentions courantes de l’utilisateur à la bonne sous-commande, incluent quelques exemples canoniques pour chaque flux de travail, privilégient openclaw infer ... par rapport aux solutions de plus bas niveau et ne documentent pas à nouveau l’intégralité de l’interface infer dans leur contenu.
Arborescence des commandes
openclaw infer list inspect model run list inspect providers auth login auth logout auth status image generate edit describe describe-many providers audio transcribe providers tts convert voices providers personas status enable disable set-provider set-persona video generate describe providers web search fetch providers embedding create providersinfer list / infer inspect --name <capability> affichent cette arborescence sous forme de données (identifiant de capacité, transports, description).
Tâches courantes
| Tâche | Commande | Remarques |
|---|---|---|
| Exécuter une invite de texte/modèle | openclaw infer model run --prompt "..." --json |
Locale par défaut |
| Exécuter une invite de modèle sur des images | openclaw infer model run --prompt "Describe this" --file ./image.png --model provider/model |
Répétez --file pour plusieurs images |
| Générer une image | openclaw infer image generate --prompt "..." --json |
Utilisez image edit en partant d’un fichier existant |
| Décrire un fichier image ou une URL | openclaw infer image describe --file ./image.png --prompt "..." --json |
--model doit être un <provider/model> prenant en charge les images |
| Transcrire un contenu audio | openclaw infer audio transcribe --file ./memo.m4a --json |
--model doit être au format <provider/model> |
| Synthétiser de la parole | openclaw infer tts convert --text "..." --output ./speech.mp3 --json |
tts status passe uniquement par le Gateway |
| Générer une vidéo | openclaw infer video generate --prompt "..." --json |
Accepte des indications destinées au fournisseur, comme --resolution |
| Décrire un fichier vidéo | openclaw infer video describe --file ./clip.mp4 --json |
--model doit être au format <provider/model> |
| Effectuer une recherche sur le Web | openclaw infer web search --query "..." --json |
|
| Récupérer une page Web | openclaw infer web fetch --url https://example.com --json |
|
| Créer des plongements vectoriels | openclaw infer embedding create --text "..." --json |
Comportement
- Utilisez
--jsonlorsque la sortie alimente une autre commande ou un script ; sinon, utilisez la sortie texte. - Utilisez
--providerou--model provider/modelpour imposer un moteur précis. - Utilisez
model run --thinking <level>pour remplacer ponctuellement le niveau de réflexion/raisonnement :off,minimal,low,medium,high,adaptive,xhighoumax. - Pour
image describe,audio transcribeetvideo describe,--modeldoit respecter la forme<provider/model>. - Pour
image describe,--fileaccepte les chemins locaux et les URL HTTP(S) ; les URL distantes sont soumises à la politique SSRF normale de récupération des médias. - Les commandes d’exécution sans état (
model run,image *,audio *,video *,web *,embedding *) sont locales par défaut. Les commandes d’état gérées par le Gateway (tts status) utilisent le Gateway par défaut. - Le chemin local ne nécessite jamais que le Gateway soit en cours d’exécution.
- La commande locale
model runeffectue une exécution ponctuelle et légère auprès du fournisseur : elle résout le modèle d’agent configuré et l’authentification, mais ne démarre pas un tour d’agent conversationnel, ne charge aucun outil et n’ouvre aucun serveur MCP intégré. model run --filejoint des fichiers image au format MIME détecté automatiquement à l’invite ; répétez--filepour plusieurs images. Les fichiers qui ne sont pas des images sont refusés — utilisez plutôtinfer audio transcribeouinfer video describe.model run --gatewaycouvre le routage du Gateway, l’authentification enregistrée, la sélection du fournisseur et l’environnement d’exécution intégré, mais reste une sonde de modèle brute : aucun historique de session, contexte d’amorçage/AGENTS, outil ou serveur MCP intégré.model run --gateway --model <provider/model>nécessite un identifiant du Gateway réservé aux opérateurs de confiance, car cette commande demande au Gateway d’exécuter un remplacement ponctuel du fournisseur/modèle.
Modèle
Inférence de texte et inspection des modèles/fournisseurs.
openclaw infer model run --prompt "Reply with exactly: smoke-ok" --jsonopenclaw infer model run --prompt "Summarize this changelog entry" --model openai/gpt-5.4 --jsonopenclaw infer model run --prompt "Describe this image in one sentence" --file ./photo.jpg --model google/gemini-2.5-flash --jsonopenclaw infer model run --prompt "Use more reasoning here" --thinking high --jsonopenclaw infer model providers --jsonopenclaw infer model inspect --model gpt-5.6-sol --jsonUtilisez des références <provider/model> complètes avec --local afin de tester rapidement un fournisseur sans démarrer le Gateway ni charger l’interface des outils de l’agent :
openclaw infer model run --local --model anthropic/claude-sonnet-4-6 --prompt "Reply with exactly: pong" --jsonopenclaw infer model run --local --model cerebras/zai-glm-4.7 --prompt "Reply with exactly: pong" --jsonopenclaw infer model run --local --model google/gemini-2.5-flash --prompt "Reply with exactly: pong" --jsonopenclaw infer model run --local --model groq/llama-3.1-8b-instant --prompt "Reply with exactly: pong" --jsonopenclaw infer model run --local --model mistral/mistral-medium-3-5 --prompt "Reply with exactly: pong" --jsonopenclaw infer model run --local --model mistral/mistral-small-latest --prompt "Reply with exactly: pong" --jsonopenclaw infer model run --local --model openai/gpt-5.6-luna --prompt "Reply with exactly: pong" --jsonopenclaw infer model run --local --model ollama/qwen2.5vl:7b --prompt "Describe this image." --file ./photo.jpg --jsonRemarques :
- La commande locale
model runest le test CLI le plus ciblé de l’état du fournisseur, du modèle et de l’authentification : pour les fournisseurs autres que ChatGPT-Codex, elle envoie uniquement l’invite fournie. - La commande locale
model run --model <provider/model>peut résoudre les entrées exactes du catalogue statique intégré — les mêmes que celles affichées paropenclaw models list --all— avant que ce fournisseur soit inscrit dans la configuration. L’authentification auprès du fournisseur reste obligatoire ; l’absence d’identifiants produit des erreurs d’authentification, et nonUnknown model. - Pour les sondes de raisonnement de Mistral Medium 3.5, laissez la température non définie ou à sa valeur par défaut. Mistral refuse
reasoning_effort="high"avectemperature: 0; utilisez la température par défaut ou une valeur non nulle, telle que0.7. - Les sondes locales utilisant OAuth OpenAI ChatGPT/Codex (API
openai-chatgpt-responses) ajoutent une instruction système minimale afin que le transport puisse renseigner son champinstructionsobligatoire — sans contexte d’agent complet, outils, mémoire ni historique de session. model run --filejoint directement le contenu de l’image à l’unique message utilisateur. Les formats courants (PNG, JPEG, WebP) fonctionnent lorsque le type MIME est détecté commeimage/*; les fichiers non pris en charge ou non reconnus échouent avant tout appel au fournisseur. Utilisez plutôtinfer image describesi vous souhaitez bénéficier du routage des modèles d’image et des solutions de repli d’OpenClaw plutôt que d’une sonde directe de modèle multimodal.- Le modèle sélectionné doit prendre en charge les images en entrée ; les modèles exclusivement textuels peuvent refuser la requête au niveau du fournisseur.
model run --promptdoit contenir du texte autre que des espaces ; les invites vides sont refusées avant tout appel au fournisseur ou au Gateway.- La commande locale
model runse termine avec un code différent de zéro lorsque le fournisseur ne renvoie aucune sortie textuelle, afin que les fournisseurs injoignables et les générations vides ne soient pas considérés comme des sondes réussies. - Utilisez
model run --gatewaypour tester le routage du Gateway ou la configuration de l’environnement d’exécution de l’agent tout en conservant l’entrée brute du modèle. Utilisezopenclaw agentou une interface de conversation pour bénéficier du contexte d’agent complet, des outils, de la mémoire et de l’historique de session. --thinking adaptivecorrespond au niveaumediumde l’environnement d’exécution des générations ;--thinking maxcorrespond àmaxpour les modèles OpenAI prenant en charge nativement l’effort maximal, et àxhighdans les autres cas.model auth login,model auth logoutetmodel auth statusgèrent l’état d’authentification enregistré auprès des fournisseurs.
Image
Génération, modification et description.
openclaw infer image generate --prompt "friendly lobster illustration" --jsonopenclaw infer image generate --prompt "cinematic product photo of headphones" --jsonopenclaw infer image generate --model openai/gpt-image-1.5 --output-format png --background transparent --prompt "simple red circle sticker on a transparent background" --jsonopenclaw infer image generate --model openai/gpt-image-2 --quality low --openai-moderation low --prompt "low-cost draft poster" --jsonopenclaw infer image generate --prompt "slow image backend" --timeout-ms 180000 --jsonopenclaw infer image edit --file ./logo.png --model openai/gpt-image-1.5 --output-format png --background transparent --prompt "keep the logo, remove the background" --jsonopenclaw infer image edit --file ./poster.png --prompt "make this a vertical story ad" --size 2160x3840 --aspect-ratio 9:16 --resolution 4K --jsonopenclaw infer image describe --file ./photo.jpg --jsonopenclaw infer image describe --file https://example.com/photo.png --jsonopenclaw infer image describe --file ./receipt.jpg --prompt "Extract the merchant, date, and total" --jsonopenclaw infer image describe-many --file ./before.png --file ./after.png --prompt "Compare the screenshots and list visible UI changes" --jsonopenclaw infer image describe --file ./ui-screenshot.png --model openai/gpt-5.4-mini --jsonopenclaw infer image describe --file ./photo.jpg --model ollama/qwen2.5vl:7b --prompt "Describe the image in one sentence" --timeout-ms 300000 --jsonRemarques :
-
Utilisez
image editlorsque vous partez de fichiers d’entrée existants ;--size,--aspect-ratioou--resolutionajoutent des indications de géométrie pour les fournisseurs/modèles qui les prennent en charge. -
--output-format png --background transparentavec--model openai/gpt-image-1.5produit une image PNG OpenAI avec un arrière-plan transparent ;--openai-backgroundest un alias propre à OpenAI pour la même indication. Les fournisseurs qui ne déclarent pas prendre en charge l’arrière-plan le signalent comme un remplacement ignoré (voirignoredOverridesdans l’enveloppe JSON). -
--quality low|medium|high|autofonctionne avec les fournisseurs qui prennent en charge les indications de qualité d’image, notamment OpenAI. OpenAI accepte également--openai-moderation low|auto. -
image providers --jsonindique quels fournisseurs d’images intégrés sont détectables, configurés et sélectionnés, ainsi que les capacités de génération/modification exposées par chacun. -
image generate --model <provider/model> --jsonest le test de bon fonctionnement en conditions réelles le plus ciblé pour les modifications de génération d’images :bash openclaw infer image providers --jsonopenclaw infer image generate \ --model google/gemini-3.1-flash-image-preview \ --prompt "Minimal flat test image: one blue square on a white background, no text." \ --output ./openclaw-infer-image-smoke.png \ --jsonLa réponse indique
ok,provider,model,attemptset les chemins des sorties écrites. Lorsque--outputest défini, l’extension finale peut correspondre au type MIME renvoyé par le fournisseur. -
Pour
image describeetimage describe-many, utilisez--promptafin de fournir une instruction propre à la tâche (OCR, comparaison, inspection d’interface utilisateur, légendage concis). -
Utilisez
--timeout-mspour les modèles de vision locaux lents ou les démarrages à froid d’Ollama. -
Pour
image describe, un--modelexplicite (qui doit être un<provider/model>compatible avec les images) est exécuté en premier, puis les modèles de repli configurés dansagents.defaults.imageModel.fallbackssont essayés si cet appel échoue. Les erreurs de préparation des entrées (fichier manquant, URL non prise en charge) provoquent un échec avant toute tentative de repli, et le modèle doit être déclaré compatible avec les images dans le catalogue de modèles ou la configuration du fournisseur. -
Pour les modèles de vision Ollama locaux, téléchargez d’abord le modèle et définissez
OLLAMA_API_KEYsur une valeur fictive quelconque, par exempleollama-local. Consultez Ollama.
Audio
Transcription de fichiers (et non gestion de sessions en temps réel).
openclaw infer audio transcribe --file ./memo.m4a --jsonopenclaw infer audio transcribe --file ./team-sync.m4a --language en --prompt "Focus on names and action items" --jsonopenclaw infer audio transcribe --file ./memo.m4a --model openai/whisper-1 --json--model doit être au format <provider/model>.
TTS
Synthèse vocale et état du fournisseur/personnage TTS.
openclaw infer tts convert --text "hello from openclaw" --output ./hello.mp3 --jsonopenclaw infer tts convert --text "Your build is complete" --output ./build-complete.mp3 --jsonopenclaw infer tts providers --jsonopenclaw infer tts personas --jsonopenclaw infer tts status --jsonRemarques :
tts statusprend uniquement en charge--gateway(il reflète l’état TTS géré par le Gateway).- Utilisez
tts providers,tts voices,tts personas,tts set-providerettts set-personapour inspecter et configurer le comportement TTS.
Vidéo
Génération et description.
openclaw infer video generate --prompt "cinematic sunset over the ocean" --jsonopenclaw infer video generate --prompt "slow drone shot over a forest lake" --resolution 768P --duration 6 --jsonopenclaw infer video describe --file ./clip.mp4 --jsonopenclaw infer video describe --file ./clip.mp4 --model openai/gpt-5.4-mini --jsonRemarques :
video generateaccepte--size,--aspect-ratio,--resolution,--duration,--audio,--watermarket--timeout-ms, qui sont transmis à l’environnement d’exécution de génération vidéo.- Pour
video describe,--modeldoit être au format<provider/model>.
Web
Recherche et récupération.
openclaw infer web search --query "OpenClaw docs" --jsonopenclaw infer web search --query "OpenClaw infer web providers" --jsonopenclaw infer web fetch --url https://docs.openclaw.ai/cli/infer --jsonopenclaw infer web providers --jsonweb providers répertorie les fournisseurs disponibles, configurés et sélectionnés pour la recherche et la récupération.
Incorporation
Création de vecteurs et inspection des fournisseurs d’incorporations.
openclaw infer embedding create --text "friendly lobster" --jsonopenclaw infer embedding create --text "customer support ticket: delayed shipment" --model openai/text-embedding-3-large --jsonopenclaw infer embedding providers --jsonSortie JSON
Les commandes Infer normalisent la sortie JSON dans une enveloppe commune :
{ "ok": true, "capability": "image.generate", "transport": "local", "provider": "openai", "model": "gpt-image-2", "attempts": [], "outputs": []}Champs de premier niveau stables :
okcapabilitytransportprovidermodelattemptsinputs(pièces jointes d’image envoyées avec la requête, le cas échéant)outputsignoredOverrides(clés d’indication qu’un fournisseur ne prend pas en charge, le cas échéant)error
Pour les commandes de génération de médias, outputs contient les fichiers écrits par OpenClaw. Pour l’automatisation, utilisez les champs path, mimeType, size et toutes les dimensions propres au média présentes dans ce tableau, plutôt que d’analyser la sortie standard lisible par l’utilisateur.
Pièges courants
# Badopenclaw infer media image generate --prompt "friendly lobster" # Goodopenclaw infer image generate --prompt "friendly lobster"# Badopenclaw infer audio transcribe --file ./memo.m4a --model whisper-1 --json # Goodopenclaw infer audio transcribe --file ./memo.m4a --model openai/whisper-1 --json