Lobster
Lobster es un shell de flujos de trabajo que permite a OpenClaw ejecutar secuencias de herramientas de varios pasos como una sola operación determinista con puntos de control de aprobación explícitos.Gancho
Su asistente puede crear las herramientas que se gestionan a sí mismas. Pida un flujo de trabajo y, 30 minutos después, tendrá una CLI más pipelines que se ejecutan como una sola llamada. Lobster es la pieza que faltaba: pipelines deterministas, aprobaciones explícitas y estado reanudable.Por qué
Hoy, los flujos de trabajo complejos requieren muchas llamadas de herramientas de ida y vuelta. Cada llamada cuesta tokens y el LLM tiene que orquestar cada paso. Lobster traslada esa orquestación a un runtime tipado:- Una llamada en lugar de muchas: OpenClaw ejecuta una llamada de herramienta de Lobster y obtiene un resultado estructurado.
- Aprobaciones integradas: Los efectos secundarios (enviar correo, publicar comentario) detienen el flujo de trabajo hasta que se aprueban explícitamente.
- Reanudable: Los flujos de trabajo detenidos devuelven un token; apruebe y reanude sin volver a ejecutar todo.
¿Por qué un DSL en lugar de programas simples?
Lobster es intencionalmente pequeño. El objetivo no es “un nuevo lenguaje”, sino una especificación de pipeline predecible y amigable para IA, con aprobaciones de primera clase y tokens de reanudación.- Aprobar/reanudar está integrado: Un programa normal puede solicitar a un humano, pero no puede pausar y reanudar con un token duradero sin que usted invente ese runtime por su cuenta.
- Determinismo + auditabilidad: Los pipelines son datos, por lo que es fácil registrarlos, compararlos, reproducirlos y revisarlos.
- Superficie restringida para IA: Una gramática pequeña + canalización JSON reduce rutas de código “creativas” y hace viable la validación.
- Política de seguridad integrada: Tiempos de espera, límites de salida, verificaciones de sandbox y listas de permitidos se aplican por el runtime, no por cada script.
- Aún programable: Cada paso puede llamar a cualquier CLI o script. Si quiere JS/TS, genere archivos
.lobsterdesde código.
Cómo funciona
OpenClaw inicia la CLI locallobster en modo herramienta y analiza un sobre JSON desde stdout.
Si el pipeline se pausa para aprobación, la herramienta devuelve un resumeToken para que pueda continuar más tarde.
Patrón: CLI pequeña + pipes JSON + aprobaciones
Cree comandos pequeños que hablen JSON y luego encadénelos en una sola llamada de Lobster. (Nombres de comandos de ejemplo abajo — sustituya por los suyos.)Pasos de LLM solo JSON (llm-task)
Para flujos de trabajo que necesitan un paso de LLM estructurado, habilite la herramienta de plugin opcionalllm-task y llámela desde Lobster. Esto mantiene el flujo de trabajo
determinista mientras le permite clasificar/resumir/redactar con un modelo.
Habilite la herramienta:
Archivos de flujo de trabajo (.lobster)
Lobster puede ejecutar archivos de flujo de trabajo YAML/JSON con los camposname, args, steps, env, condition y approval. En llamadas de herramientas de OpenClaw, establezca pipeline en la ruta del archivo.
stdin: $step.stdoutystdin: $step.jsonpasan la salida de un paso previo.condition(owhen) puede condicionar pasos en$step.approved.
Instalar Lobster
Instale la CLI de Lobster en el mismo host que ejecuta el Gateway de OpenClaw (vea el repo de Lobster) y asegúrese de quelobster esté en PATH.
Si desea usar una ubicación personalizada del binario, pase un lobsterPath absoluto en la llamada de la herramienta.
Habilitar la herramienta
Lobster es una herramienta de plugin opcional (no habilitada por defecto). Recomendado (aditivo, seguro):tools.allow: ["lobster"] a menos que pretenda ejecutar en modo de lista de permitidos restrictiva.
Nota: las listas de permitidos son opt-in para plugins opcionales. Si su lista de permitidos solo nombra
herramientas de plugin (como lobster), OpenClaw mantiene habilitadas las herramientas principales. Para restringir
las herramientas principales, incluya también en la lista de permitidos las herramientas o grupos principales que desee.
Ejemplo: triaje de correo electrónico
Sin Lobster:Parámetros de la herramienta
run
Ejecuta un pipeline en modo herramienta.
resume
Continúa un flujo de trabajo detenido después de la aprobación.
Entradas opcionales
lobsterPath: Ruta absoluta al binario de Lobster (omitir para usarPATH).cwd: Directorio de trabajo para el pipeline (por defecto, el directorio de trabajo del proceso actual).timeoutMs: Finaliza el subproceso si excede esta duración (predeterminado: 20000).maxStdoutBytes: Finaliza el subproceso si stdout excede este tamaño (predeterminado: 512000).argsJson: Cadena JSON pasada alobster run --args-json(solo archivos de flujo de trabajo).
Sobre de salida
Lobster devuelve un sobre JSON con uno de tres estados:ok→ finalizó correctamenteneeds_approval→ en pausa; se requiererequiresApproval.resumeTokenpara reanudarcancelled→ denegado explícitamente o cancelado
content (JSON con formato) como en details (objeto sin procesar).
Aprobaciones
SirequiresApproval está presente, inspeccione el prompt y decida:
approve: true→ reanudar y continuar los efectos secundariosapprove: false→ cancelar y finalizar el flujo de trabajo
approve --preview-from-stdin --limit N para adjuntar una vista previa JSON a las solicitudes de aprobación sin pegamento personalizado de jq/heredoc. Los tokens de reanudación ahora son compactos: Lobster almacena el estado de reanudación del flujo de trabajo bajo su directorio de estado y devuelve una pequeña clave de token.
OpenProse
OpenProse combina bien con Lobster: use/prose para orquestar la preparación de múltiples agentes y luego ejecute un pipeline de Lobster para aprobaciones deterministas. Si un programa de Prose necesita Lobster, permita la herramienta lobster para subagentes mediante tools.subagents.tools. Vea OpenProse.
Seguridad
- Solo subprocesos locales — sin llamadas de red desde el propio plugin.
- Sin secretos — Lobster no gestiona OAuth; llama a herramientas de OpenClaw que sí lo hacen.
- Consciente del sandbox — deshabilitado cuando el contexto de la herramienta está en sandbox.
- Endurecido —
lobsterPathdebe ser absoluto si se especifica; se aplican tiempos de espera y límites de salida.
Solución de problemas
lobster subprocess timed out→ aumentetimeoutMso divida un pipeline largo.lobster output exceeded maxStdoutBytes→ elevemaxStdoutByteso reduzca el tamaño de la salida.lobster returned invalid JSON→ asegúrese de que el pipeline se ejecute en modo herramienta y emita solo JSON.lobster failed (code …)→ ejecute el mismo pipeline en una terminal para inspeccionar stderr.
Aprenda más
Estudio de caso: flujos de trabajo de la comunidad
Un ejemplo público: una CLI de “segundo cerebro” + pipelines de Lobster que gestionan tres bóvedas Markdown (personal, de pareja, compartida). La CLI emite JSON para estadísticas, listados de bandeja de entrada y escaneos de obsolescencia; Lobster encadena esos comandos en flujos de trabajo comoweekly-review, inbox-triage, memory-consolidation y shared-task-sync, cada uno con compuertas de aprobación. La IA maneja el juicio (categorización) cuando está disponible y recurre a reglas deterministas cuando no lo está.