Documentation Index
Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Le bozze di avanzamento fanno sembrare vivi in chat i turni degli agenti di lunga durata senza trasformare
la conversazione in una pila di risposte di stato temporanee.
Quando le bozze di avanzamento sono abilitate, OpenClaw crea un solo messaggio visibile di lavoro in corso
solo dopo che il turno dimostra che sta svolgendo lavoro reale, lo aggiorna mentre
l’agente legge, pianifica, chiama strumenti o attende approvazione, e poi trasforma quella bozza
nella risposta finale quando il canale può farlo in modo sicuro.
Shelling...
📖 from docs/concepts/progress-drafts.md
🔎 Web Search: for "discord edit message"
🛠️ Bash: run tests
Usa le bozze di avanzamento quando vuoi un unico messaggio di stato ordinato durante lavori intensivi sugli strumenti
e la risposta finale quando il turno è terminato.
Avvio rapido
Abilita le bozze di avanzamento per canale con streaming.mode: "progress":
{
channels: {
discord: {
streaming: {
mode: "progress",
},
},
},
}
Di solito è sufficiente. OpenClaw sceglierà un’etichetta automatica di una parola, aspetterà
finché il lavoro dura almeno cinque secondi o emette un secondo evento di lavoro, aggiungerà righe di avanzamento
compatte mentre avviene lavoro utile e sopprimerà il chiacchiericcio di avanzamento autonomo duplicato
per quel turno.
Cosa vedono gli utenti
Una bozza di avanzamento ha due parti:
| Parte | Scopo |
|---|
| Etichetta | Una breve riga iniziale/di stato come Thinking... o Shelling.... |
| Righe di avanzamento | Aggiornamenti di esecuzione compatti che usano le stesse icone degli strumenti e lo stesso formattatore dei dettagli dell’output dettagliato. |
L’etichetta appare dopo che l’agente avvia un lavoro significativo e resta occupato
per cinque secondi o emette un secondo evento di lavoro. Fa parte dell’elenco scorrevole delle righe di avanzamento,
quindi lo stato iniziale scorre via quando appare abbastanza lavoro concreto.
Le risposte di solo testo semplice non mostrano una bozza di avanzamento. Le righe di avanzamento vengono aggiunte
solo quando l’agente emette aggiornamenti di lavoro utili, per esempio 🛠️ Bash: run tests,
🔎 Web Search: for "discord edit message" o ✍️ Write: to /tmp/file.
Per impostazione predefinita usano la stessa modalità di spiegazione compatta di /verbose; imposta
agents.defaults.toolProgressDetail: "raw" durante il debug se vuoi anche comandi/dettagli grezzi
aggiunti.
La risposta finale sostituisce la bozza quando possibile; altrimenti
OpenClaw invia normalmente la risposta finale e ripulisce o smette di aggiornare la
bozza in base al trasporto del canale.
Scegliere una modalità
channels.<channel>.streaming.mode controlla il comportamento visibile di lavoro in corso:
| Modalità | Ideale per | Cosa appare in chat |
|---|
off | Canali silenziosi | Solo la risposta finale. |
partial | Osservare comparire il testo della risposta | Una bozza modificata con il testo più recente della risposta. |
block | Blocchi più grandi di anteprima della risposta | Un’anteprima aggiornata o aggiunta in blocchi più grandi. |
progress | Turni intensivi sugli strumenti o di lunga durata | Una bozza di stato, poi la risposta finale. |
Scegli progress quando agli utenti interessa più “cosa sta succedendo” che vedere
il testo della risposta fluire token per token.
Scegli partial quando la risposta stessa è il segnale di avanzamento.
Scegli block quando vuoi aggiornamenti dell’anteprima della bozza in blocchi di testo più grandi. Su
Discord e Telegram, streaming.mode: "block" è ancora streaming di anteprima, non
normale consegna a blocchi. Usa streaming.block.enabled o il legacy
blockStreaming quando vuoi normali risposte a blocchi.
Configurare le etichette
Le etichette di avanzamento si trovano sotto channels.<channel>.streaming.progress.
L’etichetta predefinita è auto, che sceglie dal pool integrato di OpenClaw
di etichette con una sola parola e puntini di sospensione:
Thinking...
Shelling...
Scuttling...
Clawing...
Pinching...
Molting...
Bubbling...
Tiding...
Reefing...
Cracking...
Sifting...
Brining...
Nautiling...
Krilling...
Barnacling...
Lobstering...
Tidepooling...
Pearling...
Snapping...
Surfacing...
Usa un’etichetta fissa:
{
channels: {
discord: {
streaming: {
mode: "progress",
progress: {
label: "Investigating",
},
},
},
},
}
Usa il tuo pool di etichette automatiche:
{
channels: {
discord: {
streaming: {
mode: "progress",
progress: {
label: "auto",
labels: ["Checking", "Reading", "Testing", "Finishing"],
},
},
},
},
}
Nascondi l’etichetta e mostra solo le righe di avanzamento:
{
channels: {
discord: {
streaming: {
mode: "progress",
progress: {
label: false,
},
},
},
},
}
Controllare le righe di avanzamento
Le righe di avanzamento sono abilitate per impostazione predefinita in modalità avanzamento. Provengono da eventi di esecuzione reali:
avvii di strumenti, aggiornamenti di elementi, piani di attività, approvazioni, output di comandi, riepiloghi di patch
e attività simili dell’agente.
OpenClaw usa lo stesso formattatore per le bozze di avanzamento e /verbose:
{
agents: {
defaults: {
toolProgressDetail: "explain", // explain | raw
},
},
}
"explain" è il valore predefinito e mantiene stabili le bozze con etichette concise come
🛠️ check JS syntax for /tmp/app.js. "raw" aggiunge il
comando/dettaglio sottostante quando disponibile, cosa utile durante il debug ma più rumorosa in
chat.
Per esempio, lo stesso comando appare in modo diverso a seconda della modalità di dettaglio:
| Modalità | Riga di avanzamento |
|---|
explain | 🛠️ check JS syntax for /tmp/app.js |
raw | 🛠️ check JS syntax for /tmp/app.js, node --check /tmp/app.js |
Limita quante righe restano visibili:
{
channels: {
discord: {
streaming: {
mode: "progress",
progress: {
maxLines: 4,
},
},
},
},
}
Le righe di avanzamento vengono compattate automaticamente per ridurre la ridisposizione delle bolle di chat mentre la bozza viene modificata.
OpenClaw tronca per impostazione predefinita le righe di avanzamento lunghe, così le modifiche ripetute alla bozza non
vanno a capo in modo diverso a ogni aggiornamento. Il prefisso resta leggibile e i dettagli lunghi
come percorsi o comandi grezzi vengono abbreviati con puntini di sospensione.
Slack può renderizzare le righe di avanzamento come campi strutturati Block Kit invece che come
un singolo corpo di testo:
{
channels: {
slack: {
streaming: {
mode: "progress",
progress: {
render: "rich",
},
},
},
},
}
La renderizzazione avanzata mantiene lo stesso fallback in testo semplice, così i canali e i client che
non supportano la forma più ricca possono comunque mostrare il testo di avanzamento compatto.
Mantieni la singola bozza di avanzamento ma nascondi le righe di strumenti e attività:
{
channels: {
discord: {
streaming: {
mode: "progress",
progress: {
toolProgress: false,
},
},
},
},
}
Con toolProgress: false, OpenClaw sopprime comunque i vecchi messaggi autonomi
di avanzamento degli strumenti per quel turno. Il canale resta visivamente silenzioso fino alla
risposta finale, eccetto l’etichetta se ne è configurata una.
Comportamento dei canali
Ogni canale usa il trasporto più pulito che supporta:
| Canale | Trasporto di avanzamento | Note |
|---|
| Discord | Invia un messaggio, poi lo modifica. | Il testo finale viene modificato sul posto quando rientra in un unico messaggio di anteprima sicuro. |
| Matrix | Invia un evento, poi lo modifica. | La configurazione di streaming a livello di account controlla le bozze a livello di account. |
| Microsoft Teams | Stream nativo di Teams nelle chat personali. | streaming.mode: "block" corrisponde alla consegna a blocchi di Teams. |
| Slack | Stream nativo o post bozza modificabile. | La disponibilità del thread influisce sulla possibilità di usare lo streaming nativo. |
| Telegram | Invia un messaggio, poi lo modifica. | Le bozze visibili più vecchie possono essere sostituite in modo che i timestamp finali restino utili. |
| Mattermost | Post bozza modificabile. | L’attività degli strumenti viene incorporata nello stesso post in stile bozza. |
I canali senza supporto sicuro alla modifica di solito ripiegano sugli indicatori di digitazione o
sulla consegna solo finale.
Finalizzazione
Quando la risposta finale è pronta, OpenClaw prova a mantenere pulita la chat:
- Se la bozza può diventare in modo sicuro la risposta finale, OpenClaw la modifica sul posto.
- Se il canale usa streaming di avanzamento nativo, OpenClaw finalizza quello stream
quando il trasporto nativo accetta il testo finale.
- Se la risposta finale contiene media, una richiesta di approvazione, un target di risposta esplicito,
troppi blocchi o una modifica/invio non riusciti, OpenClaw invia la risposta finale tramite
il normale percorso di consegna del canale.
Il percorso di fallback è intenzionale. È meglio inviare una nuova risposta finale che
perdere testo, inserire una risposta nel thread sbagliato o sovrascrivere una bozza con un payload che il canale
non può rappresentare in modo sicuro.
Risoluzione dei problemi
Vedo solo la risposta finale.
Controlla che channels.<channel>.streaming.mode sia impostato su progress per
l’account o il canale che ha gestito il messaggio. Alcuni percorsi di gruppo o di risposta citata possono
disabilitare le anteprime bozza per un turno quando il canale non può modificare in modo sicuro il messaggio
corretto.
Vedo l’etichetta ma nessuna riga degli strumenti.
Controlla streaming.progress.toolProgress. Se è false, OpenClaw mantiene il
comportamento con una singola bozza ma nasconde le righe di avanzamento di strumenti e attività.
Vedo un nuovo messaggio finale invece di una bozza modificata.
È un fallback di sicurezza. Può accadere per risposte con media, risposte lunghe,
target di risposta espliciti, vecchie bozze di Telegram, target di thread Slack mancanti,
messaggi di anteprima eliminati o finalizzazione non riuscita dello stream nativo.
Vedo ancora messaggi di avanzamento autonomi.
La modalità avanzamento sopprime i messaggi predefiniti autonomi di avanzamento degli strumenti quando una bozza
è attiva. Se i messaggi autonomi appaiono ancora, verifica che il turno stia effettivamente
usando la modalità avanzamento e non streaming.mode: "off" o un percorso di canale che
non può creare una bozza per quel messaggio.
Teams si comporta in modo diverso da Discord o Telegram.
Microsoft Teams usa uno stream nativo nelle chat personali invece del trasporto generico
di anteprima invio-e-modifica. Teams tratta anche streaming.mode: "block" come
consegna a blocchi di Teams perché non ha la stessa modalità di anteprima bozza a blocchi
usata da Discord e Telegram.
Correlati