Uso dei token e costi
OpenClaw tiene traccia dei token, non dei caratteri. I token dipendono dal modello, ma la maggior parte dei modelli in stile OpenAI ha una media di circa 4 caratteri per token per il testo in inglese.Come viene costruito il prompt di sistema
OpenClaw assembla il proprio prompt di sistema a ogni esecuzione. Include:- Elenco degli strumenti + brevi descrizioni
- Elenco delle Skills (solo metadati; le istruzioni vengono caricate on demand con
read) - Istruzioni di auto-aggiornamento
- Workspace + file bootstrap (
AGENTS.md,SOUL.md,TOOLS.md,IDENTITY.md,USER.md,HEARTBEAT.md,BOOTSTRAP.mdquando nuovi, piùMEMORY.mdquando presente oppurememory.mdcome fallback in minuscolo). I file grandi vengono troncati daagents.defaults.bootstrapMaxChars(predefinito: 20000), e l’iniezione bootstrap totale è limitata daagents.defaults.bootstrapTotalMaxChars(predefinito: 150000). I filememory/*.mdsono on demand tramite gli strumenti di memory e non vengono inseriti automaticamente. - Orario (UTC + fuso orario utente)
- Reply tags + comportamento dell’heartbeat
- Metadati runtime (host/OS/model/thinking)
Cosa conta nella finestra di contesto
Tutto ciò che il modello riceve conta ai fini del limite di contesto:- Prompt di sistema (tutte le sezioni elencate sopra)
- Cronologia della conversazione (messaggi utente + assistant)
- Chiamate agli strumenti e risultati degli strumenti
- Allegati/trascrizioni (immagini, audio, file)
- Riepiloghi della compattazione e artefatti di pruning
- Wrapper del provider o header di sicurezza (non visibili, ma comunque conteggiati)
agents.defaults.imageMaxDimensionPx (predefinito: 1200) per regolare questo aspetto:
- Valori più bassi di solito riducono l’uso dei vision-token e la dimensione del payload.
- Valori più alti preservano maggior dettaglio visivo per screenshot ricchi di OCR/UI.
/context list o /context detail. Vedi Contesto.
Come vedere l’uso attuale dei token
Usa questi comandi in chat:/status→ scheda di stato ricca di emoji con il modello della sessione, l’uso del contesto, i token di input/output dell’ultima risposta e il costo stimato (solo API key)./usage off|tokens|full→ aggiunge un footer di utilizzo per risposta a ogni reply.- Persiste per sessione (memorizzato come
responseUsage). - L’auth OAuth nasconde il costo (solo token).
- Persiste per sessione (memorizzato come
/usage cost→ mostra un riepilogo locale dei costi dai log di sessione di OpenClaw.
- TUI/Web TUI:
/statuse/usagesono supportati. - CLI:
openclaw status --usageeopenclaw channels listmostrano finestre di quota provider normalizzate (X% left, non costi per risposta). Provider attuali con finestra d’uso: Anthropic, GitHub Copilot, Gemini CLI, OpenAI Codex, MiniMax, Xiaomi e z.ai.
input_tokens /
output_tokens sia prompt_tokens / completion_tokens, così i nomi dei campi specifici del trasporto
non modificano /status, /usage o i riepiloghi di sessione.
Anche l’utilizzo JSON di Gemini CLI viene normalizzato: il testo della reply proviene da response, e
stats.cached viene mappato a cacheRead con stats.input_tokens - stats.cached
usato quando la CLI omette un campo esplicito stats.input.
Per il traffico nativo Responses della famiglia OpenAI, gli alias di utilizzo WebSocket/SSE sono
normalizzati allo stesso modo, e i totali ricadono su input + output normalizzati quando
total_tokens è mancante o è 0.
Quando lo snapshot della sessione corrente è scarno, /status e session_status possono
anche recuperare contatori token/cache e l’etichetta del modello runtime attivo
dal log di utilizzo più recente della trascrizione. I valori live esistenti diversi da zero hanno comunque la precedenza sui valori di fallback della trascrizione, e i totali della trascrizione più grandi orientati al prompt
possono prevalere quando i totali memorizzati sono mancanti o più piccoli.
L’auth di utilizzo per le finestre di quota del provider proviene da hook specifici del provider quando
disponibili; altrimenti OpenClaw ricade su credenziali OAuth/API-key corrispondenti da auth profile, env o config.
Stima dei costi (quando mostrata)
I costi vengono stimati in base alla configurazione dei prezzi del tuo modello:input, output, cacheRead e
cacheWrite. Se i prezzi mancano, OpenClaw mostra solo i token. I token OAuth
non mostrano mai il costo in dollari.
Impatto di cache TTL e pruning
La prompt cache del provider si applica solo entro la finestra TTL della cache. OpenClaw può facoltativamente eseguire il cache-ttl pruning: riduce la sessione una volta che il TTL della cache è scaduto, poi reimposta la finestra della cache in modo che le richieste successive possano riutilizzare il contesto appena memorizzato in cache invece di ricreare la cache dell’intera cronologia. Questo mantiene più bassi i costi di scrittura della cache quando una sessione resta inattiva oltre il TTL. Configuralo in Configurazione del gateway e vedi i dettagli del comportamento in Potatura delle sessioni. L’heartbeat può mantenere la cache calda durante i periodi di inattività. Se il TTL della cache del tuo modello è1h, impostare l’intervallo dell’heartbeat appena sotto quel valore (ad es. 55m) può evitare
di ricreare la cache del prompt completo, riducendo i costi di scrittura della cache.
Nelle configurazioni multi-agent, puoi mantenere una configurazione modello condivisa e regolare il comportamento della cache
per agente con agents.list[].params.cacheRetention.
Per una guida completa comando per comando, vedi Prompt Caching.
Per i prezzi dell’API Anthropic, le letture della cache sono significativamente più economiche dei token di input,
mentre le scritture della cache vengono fatturate con un moltiplicatore più alto. Vedi i prezzi di Anthropic per il prompt caching per le tariffe e i moltiplicatori TTL più recenti:
https://docs.anthropic.com/docs/build-with-claude/prompt-caching
Esempio: mantenere calda per 1h la cache con heartbeat
Esempio: traffico misto con strategia di cache per-agente
agents.list[].params viene unito sopra i params del modello selezionato, quindi puoi
sovrascrivere solo cacheRetention ed ereditare invariati gli altri valori predefiniti del modello.
Esempio: abilitare l’header beta Anthropic 1M context
La finestra di contesto Anthropic da 1M è attualmente protetta da beta. OpenClaw può inserire il valore richiestoanthropic-beta quando abiliti context1m sui modelli Opus
o Sonnet supportati.
context-1m-2025-08-07.
Si applica solo quando context1m: true è impostato su quella voce di modello.
Requisito: la credenziale deve essere idonea all’uso del contesto lungo (fatturazione con API key
oppure percorso Claude-login di OpenClaw con Extra Usage abilitato). In caso contrario,
Anthropic risponde
con HTTP 429: rate_limit_error: Extra usage is required for long context requests.
Se autentichi Anthropic con token OAuth/abbonamento (sk-ant-oat-*),
OpenClaw salta l’header beta context-1m-* perché Anthropic attualmente
rifiuta questa combinazione con HTTP 401.
Suggerimenti per ridurre la pressione sui token
- Usa
/compactper riassumere sessioni lunghe. - Riduci i grandi output degli strumenti nei tuoi workflow.
- Abbassa
agents.defaults.imageMaxDimensionPxper sessioni ricche di screenshot. - Mantieni brevi le descrizioni delle Skills (l’elenco delle Skills viene inserito nel prompt).
- Preferisci modelli più piccoli per lavoro verboso ed esplorativo.