---
read_when:
    - Configurare aggiornamenti visibili sull'avanzamento per turni di chat di lunga durata
    - Scegliere tra le modalità di streaming parziale, a blocchi e di avanzamento
    - Spiegazione di come OpenClaw aggiorna un messaggio di canale mentre il lavoro è in corso
    - Risoluzione dei problemi relativi a bozze di avanzamento, messaggi di avanzamento autonomi o ripiego per la finalizzazione
summary: 'Bozze di avanzamento: un unico messaggio visibile di lavoro in corso che si aggiorna mentre un agente è in esecuzione'
title: Bozze in corso
x-i18n:
    generated_at: "2026-05-10T19:33:10Z"
    model: gpt-5.5
    provider: openai
    source_hash: 3d84027a412a2c62ea9a5698d015c7aeb8a7f27d9db79112bb2c1c10f97ebd88
    source_path: concepts/progress-drafts.md
    workflow: 16
---

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.

```text
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"`:

```json5
{
  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:

```text
Thinking...
Shelling...
Scuttling...
Clawing...
Pinching...
Molting...
Bubbling...
Tiding...
Reefing...
Cracking...
Sifting...
Brining...
Nautiling...
Krilling...
Barnacling...
Lobstering...
Tidepooling...
Pearling...
Snapping...
Surfacing...
```

Usa un'etichetta fissa:

```json5
{
  channels: {
    discord: {
      streaming: {
        mode: "progress",
        progress: {
          label: "Investigating",
        },
      },
    },
  },
}
```

Usa il tuo pool di etichette automatiche:

```json5
{
  channels: {
    discord: {
      streaming: {
        mode: "progress",
        progress: {
          label: "auto",
          labels: ["Checking", "Reading", "Testing", "Finishing"],
        },
      },
    },
  },
}
```

Nascondi l'etichetta e mostra solo le righe di avanzamento:

```json5
{
  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`:

```json5
{
  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:

```json5
{
  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:

```json5
{
  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à:

```json5
{
  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

- [Streaming e suddivisione in blocchi](/it/concepts/streaming)
- [Messaggi](/it/concepts/messages)
- [Configurazione dei canali](/it/gateway/config-channels)
- [Discord](/it/channels/discord)
- [Matrix](/it/channels/matrix)
- [Microsoft Teams](/it/channels/msteams)
- [Slack](/it/channels/slack)
- [Telegram](/it/channels/telegram)
