Lobster
Lobster est un shell de workflow qui permet à OpenClaw d’exécuter des séquences d’outils en plusieurs étapes comme une seule opération déterministe avec des points de contrôle d’approbation explicites. Lobster se situe un niveau d’écriture au-dessus du travail détaché en arrière-plan. Pour l’orchestration de flux au-dessus des tâches individuelles, consultez Task Flow (openclaw tasks flow). Pour le registre d’activité des tâches, consultez openclaw tasks.
Hook
Votre assistant peut créer les outils qui le gèrent lui-même. Demandez un workflow, et 30 minutes plus tard vous avez un CLI ainsi que des pipelines qui s’exécutent comme un seul appel. Lobster est la pièce manquante : des pipelines déterministes, des approbations explicites et un état reprenable.Pourquoi
Aujourd’hui, les workflows complexes nécessitent de nombreux appels d’outils aller-retour. Chaque appel coûte des jetons, et le LLM doit orchestrer chaque étape. Lobster déplace cette orchestration dans un runtime typé :- Un appel au lieu de plusieurs : OpenClaw exécute un seul appel d’outil Lobster et obtient un résultat structuré.
- Approbations intégrées : les effets de bord (envoyer un e-mail, publier un commentaire) interrompent le workflow jusqu’à approbation explicite.
- Reprenable : les workflows interrompus renvoient un jeton ; approuvez puis reprenez sans tout réexécuter.
Pourquoi un DSL plutôt que des programmes simples ?
Lobster est volontairement minimal. L’objectif n’est pas « un nouveau langage », mais une spécification de pipeline prévisible et adaptée à l’IA, avec approbations de premier plan et jetons de reprise.- L’approbation/reprise est intégrée : un programme normal peut solliciter un humain, mais il ne peut pas s’interrompre et reprendre avec un jeton durable sans que vous inventiez vous-même ce runtime.
- Déterminisme + auditabilité : les pipelines sont des données, ils sont donc faciles à journaliser, comparer, rejouer et examiner.
- Surface contrainte pour l’IA : une petite grammaire + des pipelines JSON réduisent les chemins de code « créatifs » et rendent la validation réaliste.
- Politique de sécurité intégrée : délais d’expiration, plafonds de sortie, vérifications de sandbox et listes d’autorisation sont appliqués par le runtime, pas par chaque script.
- Toujours programmable : chaque étape peut appeler n’importe quel CLI ou script. Si vous voulez du JS/TS, générez des fichiers
.lobsterà partir du code.
Fonctionnement
OpenClaw lance le CLI locallobster en mode outil et analyse une enveloppe JSON depuis stdout.
Si le pipeline se met en pause pour une approbation, l’outil renvoie un resumeToken pour que vous puissiez continuer plus tard.
Modèle : petit CLI + pipelines JSON + approbations
Créez de petites commandes qui parlent JSON, puis enchaînez-les dans un seul appel Lobster. (Noms de commandes d’exemple ci-dessous — remplacez-les par les vôtres.)Étapes LLM uniquement en JSON (llm-task)
Pour les workflows qui nécessitent une étape LLM structurée, activez l’outil de plugin facultatifllm-task et appelez-le depuis Lobster. Cela permet au workflow de rester
déterministe tout en vous laissant classifier/résumer/rédiger avec un modèle.
Activez l’outil :
Fichiers de workflow (.lobster)
Lobster peut exécuter des fichiers de workflow YAML/JSON avec les champsname, args, steps, env, condition et approval. Dans les appels d’outil OpenClaw, définissez pipeline sur le chemin du fichier.
stdin: $step.stdoutetstdin: $step.jsontransmettent la sortie d’une étape précédente.condition(ouwhen) peut contrôler des étapes selon$step.approved.
Installer Lobster
Installez le CLI Lobster sur le même hôte que celui qui exécute la Gateway OpenClaw (voir le dépôt Lobster), et assurez-vous quelobster est sur le PATH.
Activer l’outil
Lobster est un outil de plugin facultatif (il n’est pas activé par défaut). Recommandé (additif, sûr) :tools.allow: ["lobster"] sauf si vous avez l’intention d’exécuter en mode restrictif par liste d’autorisation.
Remarque : les listes d’autorisation sont facultatives pour les plugins optionnels. Si votre liste d’autorisation ne nomme que
des outils de plugin (comme lobster), OpenClaw garde les outils principaux activés. Pour restreindre les outils principaux,
incluez aussi les outils ou groupes principaux que vous voulez dans la liste d’autorisation.
Exemple : tri des e-mails
Sans Lobster :Paramètres de l’outil
run
Exécuter un pipeline en mode outil.
resume
Continuer un workflow interrompu après approbation.
Entrées facultatives
cwd: Répertoire de travail relatif pour le pipeline (doit rester dans le répertoire de travail du processus courant).timeoutMs: Tuer le sous-processus s’il dépasse cette durée (par défaut : 20000).maxStdoutBytes: Tuer le sous-processus si stdout dépasse cette taille (par défaut : 512000).argsJson: Chaîne JSON transmise àlobster run --args-json(fichiers de workflow uniquement).
Enveloppe de sortie
Lobster renvoie une enveloppe JSON avec l’un des trois statuts suivants :ok→ terminé avec succèsneeds_approval→ mis en pause ;requiresApproval.resumeTokenest requis pour reprendrecancelled→ explicitement refusé ou annulé
content (JSON mis en forme) et details (objet brut).
Approbations
SirequiresApproval est présent, examinez l’invite et décidez :
approve: true→ reprendre et poursuivre les effets de bordapprove: false→ annuler et finaliser le workflow
approve --preview-from-stdin --limit N pour joindre un aperçu JSON aux demandes d’approbation sans colle personnalisée jq/heredoc. Les jetons de reprise sont désormais compacts : Lobster stocke l’état de reprise du workflow dans son répertoire d’état et renvoie une petite clé de jeton.
OpenProse
OpenProse se marie bien avec Lobster : utilisez/prose pour orchestrer une préparation multi-agent, puis exécutez un pipeline Lobster pour des approbations déterministes. Si un programme Prose a besoin de Lobster, autorisez l’outil lobster pour les sous-agents via tools.subagents.tools. Consultez OpenProse.
Sécurité
- Sous-processus local uniquement — aucun appel réseau depuis le plugin lui-même.
- Pas de secrets — Lobster ne gère pas OAuth ; il appelle les outils OpenClaw qui le font.
- Compatible sandbox — désactivé lorsque le contexte de l’outil est sandboxé.
- Renforcé — nom d’exécutable fixe (
lobster) sur lePATH; délais d’expiration et plafonds de sortie appliqués.
Dépannage
lobster subprocess timed out→ augmenteztimeoutMs, ou divisez un pipeline long.lobster output exceeded maxStdoutBytes→ augmentezmaxStdoutBytesou réduisez la taille de sortie.lobster returned invalid JSON→ assurez-vous que le pipeline s’exécute en mode outil et n’affiche que du JSON.lobster failed (code …)→ exécutez le même pipeline dans un terminal pour inspecter stderr.
En savoir plus
Étude de cas : workflows de la communauté
Un exemple public : un CLI de « second cerveau » + des pipelines Lobster qui gèrent trois coffres Markdown (personnel, partenaire, partagé). Le CLI produit du JSON pour les statistiques, les listes de boîte de réception et les analyses d’ancienneté ; Lobster enchaîne ces commandes dans des workflows commeweekly-review, inbox-triage, memory-consolidation et shared-task-sync, chacun avec des portes d’approbation. L’IA gère le jugement (catégorisation) lorsqu’elle est disponible et revient à des règles déterministes dans le cas contraire.
- Fil : https://x.com/plattenschieber/status/2014508656335770033
- Dépôt : https://github.com/bloomedai/brain-cli
Voir aussi
- Automation & Tasks — planification des workflows Lobster
- Vue d’ensemble de l’automatisation — tous les mécanismes d’automatisation
- Vue d’ensemble des outils — tous les outils d’agent disponibles