Saltar al contenido principal

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.

Los borradores de progreso hacen que los turnos largos de agente se sientan vivos en el chat sin convertir la conversación en una pila de respuestas de estado temporales. Cuando los borradores de progreso están habilitados, OpenClaw crea un único mensaje visible de trabajo en curso solo después de que el turno demuestra que está haciendo trabajo real, lo actualiza mientras el agente lee, planifica, llama herramientas o espera aprobación, y luego convierte ese borrador en la respuesta final cuando el canal puede hacerlo de forma segura.
Shelling...
📖 from docs/concepts/progress-drafts.md
🔎 Web Search: for "discord edit message"
🛠️ Bash: run tests
Usa borradores de progreso cuando quieres un único mensaje de estado ordenado durante trabajo intensivo en herramientas y la respuesta final cuando el turno termina.

Inicio rápido

Habilita los borradores de progreso por canal con streaming.mode: "progress":
{
  channels: {
    discord: {
      streaming: {
        mode: "progress",
      },
    },
  },
}
Eso suele ser suficiente. OpenClaw elegirá una etiqueta automática de una palabra, esperará hasta que el trabajo dure al menos cinco segundos o emita un segundo evento de trabajo, añadirá líneas de progreso compactas mientras ocurre trabajo útil y suprimirá la charla de progreso independiente duplicada para ese turno.

Lo que ven los usuarios

Un borrador de progreso tiene dos partes:
PartePropósito
EtiquetaUna línea breve inicial/de estado como Thinking... o Shelling....
Líneas de progresoActualizaciones de ejecución compactas con los mismos iconos de herramientas y formateador de detalles que la salida detallada.
La etiqueta aparece después de que el agente inicia trabajo significativo y permanece ocupado durante cinco segundos o emite un segundo evento de trabajo. Forma parte de la lista continua de líneas de progreso, por lo que el estado inicial desaparece al desplazarse una vez que aparece suficiente trabajo concreto. Las respuestas solo de texto sin formato no muestran un borrador de progreso. Las líneas de progreso se añaden solo cuando el agente emite actualizaciones de trabajo útiles, por ejemplo 🛠️ Bash: run tests, 🔎 Web Search: for "discord edit message" o ✍️ Write: to /tmp/file. De forma predeterminada usan el mismo modo de explicación compacto que /verbose; configura agents.defaults.toolProgressDetail: "raw" al depurar y si también quieres que se anexen comandos/detalles sin procesar. La respuesta final reemplaza el borrador cuando es posible; de lo contrario OpenClaw envía la respuesta final normalmente y limpia o deja de actualizar el borrador según el transporte del canal.

Elegir un modo

channels.<channel>.streaming.mode controla el comportamiento visible en progreso:
ModoIdeal paraLo que aparece en el chat
offCanales silenciososSolo la respuesta final.
partialVer aparecer el texto de respuestaUn borrador editado con el texto de respuesta más reciente.
blockFragmentos más grandes de vista previa de respuestaUna vista previa actualizada o anexada en fragmentos más grandes.
progressTurnos intensivos en herramientas o de larga duraciónUn borrador de estado, luego la respuesta final.
Elige progress cuando a los usuarios les importa más “qué está pasando” que ver el texto de la respuesta transmitirse token por token. Elige partial cuando la respuesta en sí sea la señal de progreso. Elige block cuando quieras actualizaciones de vista previa de borrador en fragmentos de texto más grandes. En Discord y Telegram, streaming.mode: "block" sigue siendo streaming de vista previa, no entrega normal en bloques. Usa streaming.block.enabled o el valor heredado blockStreaming cuando quieras respuestas normales en bloques.

Configurar etiquetas

Las etiquetas de progreso viven en channels.<channel>.streaming.progress. La etiqueta predeterminada es auto, que elige del conjunto integrado de OpenClaw de etiquetas de una sola palabra con puntos suspensivos:
Thinking...
Shelling...
Scuttling...
Clawing...
Pinching...
Molting...
Bubbling...
Tiding...
Reefing...
Cracking...
Sifting...
Brining...
Nautiling...
Krilling...
Barnacling...
Lobstering...
Tidepooling...
Pearling...
Snapping...
Surfacing...
Usa una etiqueta fija:
{
  channels: {
    discord: {
      streaming: {
        mode: "progress",
        progress: {
          label: "Investigating",
        },
      },
    },
  },
}
Usa tu propio conjunto de etiquetas automáticas:
{
  channels: {
    discord: {
      streaming: {
        mode: "progress",
        progress: {
          label: "auto",
          labels: ["Checking", "Reading", "Testing", "Finishing"],
        },
      },
    },
  },
}
Oculta la etiqueta y muestra solo líneas de progreso:
{
  channels: {
    discord: {
      streaming: {
        mode: "progress",
        progress: {
          label: false,
        },
      },
    },
  },
}

Controlar las líneas de progreso

Las líneas de progreso están habilitadas de forma predeterminada en modo de progreso. Provienen de eventos reales de ejecución: inicios de herramientas, actualizaciones de elementos, planes de tareas, aprobaciones, salida de comandos, resúmenes de parches y actividad similar del agente. OpenClaw usa el mismo formateador para los borradores de progreso y /verbose:
{
  agents: {
    defaults: {
      toolProgressDetail: "explain", // explain | raw
    },
  },
}
"explain" es el valor predeterminado y mantiene los borradores estables con etiquetas concisas como 🛠️ check JS syntax for /tmp/app.js. "raw" anexa el comando/detalle subyacente cuando está disponible, lo cual es útil durante la depuración pero genera más ruido en el chat. Por ejemplo, el mismo comando aparece de forma diferente según el modo de detalle:
ModoLínea de progreso
explain🛠️ check JS syntax for /tmp/app.js
raw🛠️ check JS syntax for /tmp/app.js, node --check /tmp/app.js
Limita cuántas líneas permanecen visibles:
{
  channels: {
    discord: {
      streaming: {
        mode: "progress",
        progress: {
          maxLines: 4,
        },
      },
    },
  },
}
Las líneas de progreso se compactan automáticamente para reducir el reajuste de la burbuja de chat mientras se edita el borrador. OpenClaw trunca las líneas de progreso largas de forma predeterminada para que las ediciones repetidas del borrador no se ajusten de forma diferente en cada actualización. El prefijo permanece legible, y los detalles largos como rutas o comandos sin procesar se acortan con puntos suspensivos. Slack puede renderizar líneas de progreso como campos estructurados de Block Kit en lugar de un único cuerpo de texto:
{
  channels: {
    slack: {
      streaming: {
        mode: "progress",
        progress: {
          render: "rich",
        },
      },
    },
  },
}
El renderizado enriquecido mantiene la misma alternativa de texto sin formato para que los canales y clientes que no admiten la forma más rica aún puedan mostrar el texto de progreso compacto. Mantén el único borrador de progreso pero oculta las líneas de herramientas y tareas:
{
  channels: {
    discord: {
      streaming: {
        mode: "progress",
        progress: {
          toolProgress: false,
        },
      },
    },
  },
}
Con toolProgress: false, OpenClaw aún suprime los mensajes independientes más antiguos de progreso de herramientas para ese turno. El canal permanece visualmente silencioso hasta la respuesta final, excepto por la etiqueta si hay una configurada.

Comportamiento de canales

Cada canal usa el transporte más limpio que admite:
CanalTransporte de progresoNotas
DiscordEnvía un mensaje y luego lo edita.El texto final se edita en su lugar cuando cabe en un mensaje seguro de vista previa.
MatrixEnvía un evento y luego lo edita.La configuración de streaming a nivel de cuenta controla los borradores a nivel de cuenta.
Microsoft TeamsStream nativo de Teams en chats personales.streaming.mode: "block" se asigna a la entrega en bloques de Teams.
SlackStream nativo o publicación de borrador editable.La disponibilidad del hilo afecta si se puede usar streaming nativo.
TelegramEnvía un mensaje y luego lo edita.Los borradores visibles más antiguos pueden reemplazarse para que las marcas de tiempo finales sigan siendo útiles.
MattermostPublicación de borrador editable.La actividad de herramientas se incorpora en la misma publicación de estilo borrador.
Los canales sin soporte de edición segura normalmente recurren a indicadores de escritura o entrega solo final.

Finalización

Cuando la respuesta final está lista, OpenClaw intenta mantener limpio el chat:
  • Si el borrador puede convertirse de forma segura en la respuesta final, OpenClaw lo edita en su lugar.
  • Si el canal usa streaming de progreso nativo, OpenClaw finaliza ese stream cuando el transporte nativo acepta el texto final.
  • Si la respuesta final tiene medios, una solicitud de aprobación, un destino explícito de respuesta, demasiados fragmentos o un envío/edición fallido, OpenClaw envía la respuesta final mediante la ruta normal de entrega del canal.
La ruta alternativa es intencional. Es mejor enviar una nueva respuesta final que perder texto, enhebrar mal una respuesta o sobrescribir un borrador con una carga que el canal no puede representar de forma segura.

Solución de problemas

Solo veo la respuesta final. Comprueba que channels.<channel>.streaming.mode esté establecido en progress para la cuenta o el canal que gestionó el mensaje. Algunas rutas de grupo o de respuesta con cita pueden deshabilitar las vistas previas de borrador para un turno cuando el canal no puede editar de forma segura el mensaje correcto. Veo la etiqueta pero no líneas de herramientas. Comprueba streaming.progress.toolProgress. Si es false, OpenClaw conserva el comportamiento de borrador único pero oculta las líneas de progreso de herramientas y tareas. Veo un mensaje final nuevo en lugar de un borrador editado. Eso es una ruta alternativa de seguridad. Puede ocurrir con respuestas con medios, respuestas largas, destinos explícitos de respuesta, borradores antiguos de Telegram, destinos de hilo de Slack faltantes, mensajes de vista previa eliminados o finalización fallida de stream nativo. Sigo viendo mensajes de progreso independientes. El modo de progreso suprime los mensajes independientes predeterminados de progreso de herramientas cuando hay un borrador activo. Si aún aparecen mensajes independientes, verifica que el turno realmente esté usando el modo de progreso y no streaming.mode: "off" ni una ruta de canal que no pueda crear un borrador para ese mensaje. Teams se comporta de forma diferente a Discord o Telegram. Microsoft Teams usa un stream nativo en chats personales en lugar del transporte genérico de vista previa de enviar y editar. Teams también trata streaming.mode: "block" como entrega en bloques de Teams porque no tiene el mismo modo de bloques de vista previa de borrador usado por Discord y Telegram.

Relacionado