CLI commands
CLI di inferenza
openclaw infer è l'interfaccia headless canonica per l'inferenza supportata dai provider. Espone famiglie di funzionalità (model, image, audio, tts, video, web, embedding), non nomi RPC grezzi del Gateway o ID degli strumenti dell'agente. openclaw capability ... è un alias per la stessa struttura di comandi.
Motivi per preferirlo a un wrapper specifico per un singolo provider:
- Riutilizza provider e modelli già configurati in OpenClaw.
- Fornisce un formato stabile
--jsonper script e automazioni gestite da agenti (vedi Output JSON). - Per la maggior parte dei sottocomandi, esegue il normale percorso locale senza il Gateway.
- Per le verifiche end-to-end dei provider, utilizza la CLI distribuita, il caricamento della configurazione, la risoluzione dell'agente predefinito, l'attivazione dei plugin inclusi e il runtime condiviso delle funzionalità prima di inviare la richiesta al provider.
Trasformare infer in una skill
Copia e incolla questo testo in un agente:
Leggi https://docs.openclaw.ai/cli/infer, quindi crea una skill che indirizzi i miei flussi di lavoro comuni verso `openclaw infer`.Concentrati su esecuzioni di modelli, generazione di immagini, generazione di video, trascrizione audio, TTS, ricerca sul web ed embedding.Una buona skill basata su infer associa le intenzioni comuni degli utenti al sottocomando corretto, include alcuni esempi canonici per ogni flusso di lavoro, preferisce openclaw infer ... alle alternative di livello inferiore e non documenta nuovamente l'intera interfaccia di infer nel corpo della skill.
Struttura dei comandi
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> mostrano questa struttura sotto forma di dati (ID della funzionalità, trasporti, descrizione).
Attività comuni
| Attività | Comando | Note |
|---|---|---|
| Eseguire un prompt testuale/per un modello | openclaw infer model run --prompt "..." --json |
Locale per impostazione predefinita |
| Eseguire un prompt per un modello su immagini | openclaw infer model run --prompt "Describe this" --file ./image.png --model provider/model |
Ripeti --file per più immagini |
| Generare un'immagine | openclaw infer image generate --prompt "..." --json |
Usa image edit quando parti da un file esistente |
| Descrivere un file immagine o un URL | openclaw infer image describe --file ./image.png --prompt "..." --json |
--model deve essere un <provider/model> capace di elaborare immagini |
| Trascrivere audio | openclaw infer audio transcribe --file ./memo.m4a --json |
--model deve essere <provider/model> |
| Sintetizzare il parlato | openclaw infer tts convert --text "..." --output ./speech.mp3 --json |
tts status viene eseguito solo tramite il Gateway |
| Generare un video | openclaw infer video generate --prompt "..." --json |
Supporta indicazioni per il provider come --resolution |
| Descrivere un file video | openclaw infer video describe --file ./clip.mp4 --json |
--model deve essere <provider/model> |
| Cercare sul web | openclaw infer web search --query "..." --json |
|
| Recuperare una pagina web | openclaw infer web fetch --url https://example.com --json |
|
| Creare embedding | openclaw infer embedding create --text "..." --json |
Comportamento
- Usa
--jsonquando l'output viene passato a un altro comando o script; altrimenti usa l'output testuale. - Usa
--providero--model provider/modelper fissare un backend specifico. - Usa
model run --thinking <level>per sostituire una tantum il livello di pensiero/ragionamento:off,minimal,low,medium,high,adaptive,xhighomax. - Per
image describe,audio transcribeevideo describe,--modeldeve usare il formato<provider/model>. - Per
image describe,--fileaccetta percorsi locali e URL HTTP(S); gli URL remoti passano attraverso la normale politica SSRF per il recupero dei contenuti multimediali. - I comandi di esecuzione senza stato (
model run,image *,audio *,video *,web *,embedding *) utilizzano il percorso locale per impostazione predefinita. I comandi di stato gestiti dal Gateway (tts status) utilizzano il Gateway per impostazione predefinita. - Il percorso locale non richiede mai che il Gateway sia in esecuzione.
- Il comando locale
model runesegue un completamento del provider essenziale e una tantum: risolve il modello e l'autenticazione dell'agente configurato, ma non avvia un turno dell'agente di chat, non carica strumenti e non apre i server MCP inclusi. model run --fileallega i file immagine al prompt (con rilevamento automatico del tipo MIME); ripeti--fileper più immagini. I file che non sono immagini vengono rifiutati: usa inveceinfer audio transcribeoinfer video describe.model run --gatewayverifica l'instradamento del Gateway, l'autenticazione salvata, la selezione del provider e il runtime incorporato, ma rimane una verifica diretta del modello: nessuna trascrizione della sessione precedente, nessun contesto bootstrap/AGENTS, nessuno strumento e nessun server MCP incluso.model run --gateway --model <provider/model>richiede una credenziale del Gateway per un operatore attendibile, poiché chiede al Gateway di eseguire una sostituzione una tantum di provider/modello.
Modello
Inferenza testuale e ispezione di modelli/provider.
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 --jsonUsa riferimenti completi <provider/model> con --local per eseguire uno smoke test di un provider senza avviare il Gateway o caricare l'interfaccia degli strumenti dell'agente:
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 --jsonNote:
- Il comando locale
model runè lo smoke test CLI più mirato per verificare lo stato di provider/modello/autenticazione: per i provider diversi da ChatGPT-Codex invia solo il prompt specificato. - Il comando locale
model run --model <provider/model>può risolvere righe esatte del catalogo statico incluso, le stesse mostrate daopenclaw models list --all, prima che il provider venga scritto nella configurazione. L'autenticazione del provider è comunque necessaria; le credenziali mancanti generano errori di autenticazione, nonUnknown model. - Per le verifiche di ragionamento con Mistral Medium 3.5, lascia la temperatura non impostata/predefinita. Mistral rifiuta
reasoning_effort="high"contemperature: 0; usa la temperatura predefinita o un valore diverso da zero, ad esempio0.7. - Le verifiche locali con OAuth OpenAI ChatGPT/Codex (API
openai-chatgpt-responses) aggiungono un'istruzione di sistema minima affinché il trasporto possa valorizzare il campo obbligatorioinstructions: nessun contesto completo dell'agente, strumento, memoria o trascrizione della sessione. model run --fileallega direttamente il contenuto dell'immagine al singolo messaggio dell'utente. I formati comuni (PNG, JPEG, WebP) funzionano quando il tipo MIME viene rilevato comeimage/*; i file non supportati o non riconosciuti generano un errore prima della chiamata al provider. Usa inveceinfer image describequando vuoi l'instradamento e i fallback dei modelli di immagini di OpenClaw anziché una verifica diretta di un modello multimodale.- Il modello selezionato deve supportare l'input di immagini; i modelli solo testuali potrebbero rifiutare la richiesta a livello del provider.
model run --promptdeve contenere testo diverso da soli spazi; i prompt vuoti vengono rifiutati prima di qualsiasi chiamata al provider o al Gateway.- Il comando locale
model runtermina con un codice diverso da zero quando il provider non restituisce output testuale, così provider non raggiungibili e completamenti vuoti non appaiono come verifiche riuscite. - Usa
model run --gatewayper verificare l'instradamento del Gateway o la configurazione del runtime dell'agente mantenendo invariato l'input del modello. Usaopenclaw agento un'interfaccia di chat per ottenere il contesto completo dell'agente, gli strumenti, la memoria e la trascrizione della sessione. --thinking adaptivecorrisponde al livellomediumdel runtime di completamento;--thinking maxcorrisponde amaxper i modelli OpenAI che supportano nativamente lo sforzo massimo, altrimenti axhigh.model auth login,model auth logoutemodel auth statusgestiscono lo stato di autenticazione salvato del provider.
Immagine
Generazione, modifica e descrizione.
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 --jsonNote:
-
Usa
image editquando parti da file di input esistenti;--size,--aspect-ratioo--resolutionaggiungono indicazioni geometriche per i provider/modelli che le supportano. -
--output-format png --background transparentcon--model openai/gpt-image-1.5produce un'immagine PNG OpenAI con sfondo trasparente;--openai-backgroundè un alias specifico di OpenAI per la stessa indicazione. I provider che non dichiarano il supporto per lo sfondo la segnalano come opzione ignorata (vediignoredOverridesnell'involucro JSON). -
--quality low|medium|high|autofunziona con i provider che supportano le indicazioni sulla qualità delle immagini, incluso OpenAI. OpenAI accetta anche--openai-moderation low|auto. -
image providers --jsonelenca quali provider di immagini inclusi sono rilevabili, configurati e selezionati, nonché le funzionalità di generazione/modifica esposte da ciascuno. -
image generate --model <provider/model> --jsonè il test rapido in ambiente reale più mirato per le modifiche alla generazione di immagini: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 risposta riporta
ok,provider,model,attemptse i percorsi degli output scritti. Quando è impostato--output, l'estensione finale può seguire il tipo MIME restituito dal provider. -
Per
image describeeimage describe-many, usa--promptper un'istruzione specifica per l'attività (OCR, confronto, ispezione dell'interfaccia utente, didascalia concisa). -
Usa
--timeout-msper modelli di visione locali lenti o per gli avvii a freddo di Ollama. -
Per
image describe, un--modelesplicito (deve essere un<provider/model>con supporto per le immagini) viene eseguito per primo, quindi, se la chiamata non riesce, vengono provati i fallback configurati inagents.defaults.imageModel.fallbacks. Gli errori di preparazione dell'input (file mancante, URL non supportato) causano un errore prima di qualsiasi tentativo di fallback e il modello deve supportare le immagini nel catalogo dei modelli o nella configurazione del provider. -
Per i modelli di visione Ollama locali, scarica prima il modello e imposta
OLLAMA_API_KEYsu un valore segnaposto qualsiasi, ad esempioollama-local. Vedi Ollama.
Audio
Trascrizione di file (non gestione di sessioni in tempo reale).
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 deve essere <provider/model>.
TTS
Sintesi vocale e stato del provider/persona 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 --jsonNote:
tts statussupporta solo--gateway(riflette lo stato TTS gestito dal Gateway).- Usa
tts providers,tts voices,tts personas,tts set-provideretts set-personaper esaminare e configurare il comportamento TTS.
Video
Generazione e descrizione.
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 --jsonNote:
video generateaccetta--size,--aspect-ratio,--resolution,--duration,--audio,--watermarke--timeout-ms, inoltrati al runtime di generazione video.- Per
video describe,--modeldeve essere<provider/model>.
Web
Ricerca e recupero.
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 elenca i provider disponibili, configurati e selezionati per la ricerca e il recupero.
Incorporamento
Creazione di vettori e ispezione dei provider di incorporamento.
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 --jsonOutput JSON
I comandi Infer normalizzano l'output JSON in un involucro condiviso:
{ "ok": true, "capability": "image.generate", "transport": "local", "provider": "openai", "model": "gpt-image-2", "attempts": [], "outputs": []}Campi di primo livello stabili:
okcapabilitytransportprovidermodelattemptsinputs(allegati immagine inviati con la richiesta, quando applicabile)outputsignoredOverrides(chiavi delle indicazioni non supportate da un provider, quando applicabile)error
Per i comandi di generazione di contenuti multimediali, outputs contiene i file scritti da OpenClaw. Per l'automazione, usa path, mimeType, size e le eventuali dimensioni specifiche del contenuto multimediale presenti nell'array, anziché analizzare lo stdout leggibile dall'utente.
Errori comuni
# 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