Vai al contenuto principale

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:
ParteScopo
EtichettaUna breve riga iniziale/di stato come Thinking... o Shelling....
Righe di avanzamentoAggiornamenti 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 perCosa appare in chat
offCanali silenziosiSolo la risposta finale.
partialOsservare comparire il testo della rispostaUna bozza modificata con il testo più recente della risposta.
blockBlocchi più grandi di anteprima della rispostaUn’anteprima aggiornata o aggiunta in blocchi più grandi.
progressTurni intensivi sugli strumenti o di lunga durataUna 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:
CanaleTrasporto di avanzamentoNote
DiscordInvia un messaggio, poi lo modifica.Il testo finale viene modificato sul posto quando rientra in un unico messaggio di anteprima sicuro.
MatrixInvia un evento, poi lo modifica.La configurazione di streaming a livello di account controlla le bozze a livello di account.
Microsoft TeamsStream nativo di Teams nelle chat personali.streaming.mode: "block" corrisponde alla consegna a blocchi di Teams.
SlackStream nativo o post bozza modificabile.La disponibilità del thread influisce sulla possibilità di usare lo streaming nativo.
TelegramInvia un messaggio, poi lo modifica.Le bozze visibili più vecchie possono essere sostituite in modo che i timestamp finali restino utili.
MattermostPost 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