Skip to main content
Lobster exécute des pipelines d’outils en plusieurs étapes sous la forme d’un unique appel d’outil déterministe, avec des points de contrôle d’approbation explicites et des jetons de reprise. Il se situe un niveau au-dessus des travaux détachés en arrière-plan : pour orchestrer des flux entre de nombreuses tâches détachées, consultez Task Flow (openclaw tasks flow) ; pour le registre d’activité des tâches, consultez Tâches en arrière-plan.

Pourquoi

Sans Lobster, une tâche en plusieurs étapes implique de nombreux allers-retours d’appels d’outils, le modèle orchestrant chaque étape. Lobster transfère cette orchestration dans un environnement d’exécution typé :
  • Un seul appel au lieu de plusieurs : un unique appel à l’outil Lobster renvoie un résultat structuré pour l’ensemble du pipeline.
  • Approbations intégrées : les effets de bord (envoyer, publier, supprimer) interrompent le workflow jusqu’à leur approbation explicite.
  • Reprise possible : un workflow interrompu renvoie un jeton ; approuvez-le et reprenez-le sans réexécuter les étapes précédentes.
Lobster est un petit DSL contraint plutôt qu’un langage de script généraliste : l’approbation et la reprise constituent une primitive durable et intégrée ; les pipelines sont des données (faciles à journaliser, comparer, rejouer et examiner) ; la grammaire minimale limite les chemins de code « créatifs », ce qui permet de conserver une validation réaliste ; les délais d’expiration, limites de sortie, contrôles du bac à sable et listes d’autorisation sont imposés par l’environnement d’exécution, et non par chaque script. Chaque étape peut néanmoins appeler n’importe quelle CLI ou n’importe quel script ; générez des fichiers .lobster depuis d’autres outils si vous souhaitez disposer d’un langage de création plus riche. Sans Lobster, un tri récurrent des e-mails ressemble à ceci :
Avec Lobster, la même tâche tient en un seul appel qui s’interrompt pour approbation et peut ensuite reprendre :

Fonctionnement

OpenClaw exécute les workflows Lobster dans le processus à l’aide du paquet @clawdbot/lobster intégré, utilisé comme moteur d’exécution embarqué. Aucun sous-processus externe lobster n’est lancé ; l’appel d’outil renvoie directement une enveloppe JSON. Si le pipeline s’interrompt pour approbation, l’enveloppe contient un jeton de reprise (ou un identifiant d’approbation court) permettant de continuer ultérieurement.

Activation

Lobster est un outil de Plugin facultatif, qui n’est pas activé par défaut. Il est fourni avec OpenClaw ; aucune étape d’installation distincte n’est donc requise, il suffit d’autoriser l’outil :
Ou pour chaque agent :
alsoAllow ajoute lobster au profil d’outils actif sans restreindre les autres outils principaux. Utilisez tools.allow uniquement si vous souhaitez plutôt un mode restrictif fondé sur une liste d’autorisation.
L’outil est entièrement désactivé dans les contextes d’outils placés en bac à sable. Si vous avez besoin de la CLI Lobster autonome pour le développement ou pour des pipelines externes (en dehors du moteur Gateway embarqué), installez-la depuis le dépôt Lobster et ajoutez lobster au PATH.

Modèle : petite CLI, tubes JSON et approbations

Créez de petites commandes qui communiquent en JSON, puis enchaînez-les dans un unique appel à Lobster. (Les noms de commandes ci-dessous sont des exemples ; remplacez-les par les vôtres.)
Si le pipeline demande une approbation, reprenez son exécution avec le jeton :
Exemple : convertir les éléments d’entrée en appels d’outils :

Étapes LLM exclusivement en JSON (llm-task)

Pour intégrer une étape LLM structurée à un workflow, activez l’outil de Plugin facultatif llm-task et appelez-le depuis Lobster :

Limitation importante : Lobster embarqué et openclaw.invoke

Le Plugin Lobster fourni exécute les workflows dans le processus, à l’intérieur du Gateway. Dans ce mode embarqué, openclaw.invoke n’hérite pas automatiquement d’un contexte d’URL ou d’authentification du Gateway pour les appels imbriqués aux outils de la CLI OpenClaw. Cela signifie que ce modèle n’est actuellement pas fiable dans le moteur embarqué :
N’utilisez l’exemple ci-dessous que lorsque vous exécutez la CLI Lobster autonome dans un environnement où openclaw.invoke est déjà configuré avec le bon contexte de Gateway et d’authentification.
Si vous utilisez actuellement le Plugin Lobster embarqué, privilégiez soit :
  • un appel direct à l’outil llm-task en dehors de Lobster, soit
  • des étapes n’utilisant pas openclaw.invoke dans le pipeline Lobster, jusqu’à l’ajout d’une passerelle embarquée prise en charge.
Consultez Tâche LLM pour plus de détails et connaître les options de configuration.

Fichiers de workflow (.lobster)

Lobster peut exécuter des fichiers de workflow YAML/JSON comportant les champs name, args, steps, env, condition et approval. Dans l’appel d’outil, définissez pipeline sur le chemin du fichier.
Remarques :
  • stdin: $step.stdout et stdin: $step.json transmettent la sortie d’une étape précédente.
  • condition (ou when) peut conditionner les étapes à $step.approved.

Paramètres de l’outil

run

Exécuter un fichier de workflow avec des arguments :

resume

resume accepte soit token (le jeton de reprise complet provenant de requiresApproval), soit approvalId (l’identifiant court provenant du même objet) ; utilisez celui que l’exécution interrompue a renvoyé. approve est obligatoire.

Mode Task Flow géré

La transmission de flowControllerId et flowGoal à run (ou de flowId et flowExpectedRevision à resume) fait passer l’appel par l’API Task Flow gérée de l’environnement d’exécution du Plugin, au lieu de renvoyer une enveloppe brute : OpenClaw crée ou reprend un enregistrement de flux durable, lui applique l’enveloppe Lobster (waiting lors d’une approbation, succeeded/failed à la fin) et renvoie { ok, envelope, flow, mutation }. Ce mode nécessite un environnement d’exécution Task Flow associé et s’adresse au code de Plugin ou de contrôleur qui requiert un état de flux durable malgré les redémarrages du Gateway, et non à l’utilisation ponctuelle habituelle d’un agent.

Enveloppe de sortie

Lobster renvoie une enveloppe JSON présentant l’un des trois états suivants :
  • ok - exécution terminée avec succès
  • needs_approval - exécution en pause ; requiresApproval contient un resumeToken et un approvalId court, chacun pouvant servir à reprendre l’exécution
  • cancelled - exécution explicitement refusée ou annulée
L’outil expose l’enveloppe à la fois dans content (JSON mis en forme) et dans details (objet brut).

Approbations

Si requiresApproval est présent, examinez le message et décidez :
  • approve: true - reprendre l’exécution et poursuivre les effets de bord
  • approve: false - annuler et terminer le workflow
Utilisez approve --preview-from-stdin --limit N pour joindre un aperçu JSON aux demandes d’approbation sans assemblage personnalisé avec jq ou heredoc. L’état de reprise est stocké sous forme de petits fichiers JSON dans le répertoire d’état de Lobster (~/.lobster/state par défaut, remplaçable avec LOBSTER_STATE_DIR) ; le jeton lui-même encode uniquement un pointeur vers cet état, et non l’état complet du pipeline.

OpenProse

OpenProse s’associe bien à Lobster : utilisez /prose pour orchestrer la préparation multi-agent, puis exécutez un pipeline Lobster pour obtenir 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é

  • Uniquement en local et dans le processus - les workflows s’exécutent dans le processus du Gateway ; le Plugin lui-même n’effectue aucun appel réseau.
  • Aucun secret - Lobster ne gère pas OAuth ; il appelle les outils OpenClaw qui s’en chargent.
  • Compatible avec le bac à sable - désactivé lorsque le contexte d’outil est placé en bac à sable.
  • Renforcé - les délais d’expiration et les limites de sortie sont imposés par le moteur embarqué.

Résolution des problèmes

En savoir plus

Étude de cas : workflows de la communauté

Un exemple public : une CLI de « second cerveau » et des pipelines Lobster qui gèrent trois coffres Markdown (personnel, partenaire, partagé). La CLI génère du JSON pour les statistiques, les listes de la boîte de réception et les analyses des éléments obsolètes ; Lobster enchaîne ces commandes dans des flux de travail tels que weekly-review, inbox-triage, memory-consolidation et shared-task-sync, chacun comportant des étapes d’approbation. L’IA se charge des décisions (catégorisation) lorsqu’elle est disponible et se rabat sur des règles déterministes dans le cas contraire.

Ressources connexes