Ir al contenido

Flujo de tareas

Task Flow es el sustrato de orquestación de flujos que se sitúa por encima de las tareas en segundo plano. Gestiona flujos multipaso duraderos con su propio estado, seguimiento de revisiones y semántica de sincronización, mientras que las tareas individuales siguen siendo la unidad de trabajo desacoplado.

Use Task Flow cuando el trabajo abarque varios pasos secuenciales o ramificados y necesite un seguimiento del progreso duradero a través de reinicios de la puerta de enlace. Para operaciones en segundo plano únicas, una tarea sencilla es suficiente.

EscenarioUso
Trabajo en segundo plano únicoTarea sencilla
Canalización multipaso (A luego B luego C)Task Flow (gestionado)
Observar tareas creadas externamenteTask Flow (reflejado)
Recordatorio de un solo usoTrabajo de Cron

Patrón de flujo de trabajo programado confiable

Sección titulada «Patrón de flujo de trabajo programado confiable»

Para los flujos de trabajo recurrentes, como los resúmenes de inteligencia de mercado, trate la programación, la orquestación y las comprobaciones de fiabilidad como capas separadas:

  1. Use Tareas programadas para la temporización.
  2. Use una sesión de cron persistente cuando el flujo de trabajo debe basarse en el contexto anterior.
  3. Use Lobster para pasos deterministas, puertas de aprobación y tokens de reanudación.
  4. Use Task Flow para rastrear la ejecución multipaso a través de tareas secundarias, esperas, reintentos y reinicios de la puerta de enlace.

Forma de cron de ejemplo:

Ventana de terminal
openclaw cron add \
--name "Market intelligence brief" \
--cron "0 7 * * 1-5" \
--tz "America/New_York" \
--session session:market-intel \
--message "Run the market-intel Lobster workflow. Verify source freshness before summarizing." \
--announce \
--channel slack \
--to "channel:C1234567890"

Use session:<id> en lugar de isolated cuando el flujo de trabajo recurrente necesite un historial deliberado, resúmenes de ejecuciones anteriores o un contexto permanente. Use isolated cuando cada ejecución deba comenzar de cero y todo el estado necesario esté explícito en el flujo de trabajo.

Dentro del flujo de trabajo, coloque las comprobaciones de fiabilidad antes del paso de resumen del LLM:

name: market-intel-brief
steps:
- id: preflight
command: market-intel check --json
- id: collect
command: market-intel collect --json
stdin: $preflight.json
- id: summarize
command: market-intel summarize --json
stdin: $collect.json
- id: approve
command: market-intel deliver --preview
stdin: $summarize.json
approval: required
- id: deliver
command: market-intel deliver --execute
stdin: $summarize.json
condition: $approve.approved

Comprobaciones previas al vuelo recomendadas:

  • Disponibilidad del navegador y elección del perfil, por ejemplo openclaw para el estado gestionado o user cuando se requiere una sesión de Chrome iniciada. Consulte Navegador.
  • Credenciales de API y cuota para cada fuente.
  • Accesibilidad de red para los endpoints requeridos.
  • Herramientas requeridas habilitadas para el agente, como lobster, browser y llm-task.
  • Destino de fallo configurado para cron, de modo que los fallos de preflight sean visibles. Consulte Tareas programadas.

Campos de procedencia de datos recomendados para cada elemento recopilado:

{
"sourceUrl": "https://example.com/report",
"retrievedAt": "2026-04-24T12:00:00Z",
"asOf": "2026-04-24",
"title": "Example report",
"content": "..."
}

Haga que el flujo de trabajo rechace o marque los elementos obsoletos antes del resumen. El paso LLM debe recibir solo JSON estructurado y se le debe pedir que preserve sourceUrl, retrievedAt y asOf en su salida. Use LLM Task cuando necesite un paso de modelo validado por esquema dentro del flujo de trabajo.

Para flujos de trabajo reutilizables de equipo o de la comunidad, empaqueta la CLI, los archivos .lobster y cualquier nota de configuración como una habilidad o complemento y publícalo a través de ClawHub. Mantén las salvaguardas específicas del flujo de trabajo en ese paquete, a menos que falte en la API del complemento una capacidad genérica necesaria.

Task Flow es propietario del ciclo de vida de extremo a extremo. Crea tareas como pasos del flujo, las impulsa hasta su finalización y avanza el estado del flujo automáticamente.

Ejemplo: un flujo de informe semanal que (1) recopila datos, (2) genera el informe y (3) lo entrega. Task Flow crea cada paso como una tarea en segundo plano, espera a que se complete y luego pasa al siguiente paso.

Flow: weekly-report
Step 1: gather-data → task created → succeeded
Step 2: generate-report → task created → succeeded
Step 3: deliver → task created → running

Task Flow observa las tareas creadas externamente y mantiene el estado del flujo sincronizado sin asumir la propiedad de la creación de tareas. Esto es útil cuando las tareas se originan en trabajos cron, comandos de CLI u otras fuentes y desea una vista unificada de su progreso como un flujo.

Ejemplo: tres trabajos cron independientes que juntos forman una rutina de “operaciones matutinas”. Un flujo reflejado rastrea su progreso colectivo sin controlar cuándo o cómo se ejecutan.

Cada flujo conserva su propio estado y rastrea las revisiones, por lo que el progreso sobrevive a los reinicios de la puerta de enlace. El seguimiento de revisiones permite la detección de conflictos cuando múltiples fuentes intentan avanzar el mismo flujo simultáneamente. El registro de flujos utiliza SQLite con mantenimiento de registro de escritura anticipada (write-ahead-log) limitado, que incluye puntos de control periódicos y de apagado, de modo que las puertas de enlace de larga ejecución no retienen archivos sidecar registry.sqlite-wal ilimitados.

openclaw tasks flow cancel establece una intención de cancelación persistente en el flujo. Las tareas activas dentro del flujo se cancelan y no se inician nuevos pasos. La intención de cancelación persiste a través de los reinicios, por lo que un flujo cancelado permanece cancelado incluso si la puerta de enlace se reinicia antes de que todas las tareas secundarias hayan terminado.

Ventana de terminal
# List active and recent flows
openclaw tasks flow list
# Show details for a specific flow
openclaw tasks flow show <lookup>
# Cancel a running flow and its active tasks
openclaw tasks flow cancel <lookup>
ComandoDescripción
openclaw tasks flow listMuestra los flujos rastreados con estado y modo de sincronización
openclaw tasks flow show <id>Inspecciona un flujo por ID de flujo o clave de búsqueda
openclaw tasks flow cancel <id>Cancela un flujo en ejecución y sus tareas activas

Cómo se relacionan los flujos con las tareas

Sección titulada «Cómo se relacionan los flujos con las tareas»

Los flujos coordinan tareas, no las reemplazan. Un solo flujo puede ejecutar múltiples tareas en segundo plano durante su vida útil. Use openclaw tasks para inspeccionar registros de tareas individuales y openclaw tasks flow para inspeccionar el flujo de orquestación.