Lobster
Lobster is een workflow-shell waarmee OpenClaw meerstaps toolsequenties kan uitvoeren als één enkele, deterministische operatie met expliciete goedkeuringscheckpoints.Hook
Je assistent kan de tools bouwen die zichzelf beheren. Vraag om een workflow, en 30 minuten later heb je een CLI plus pijplijnen die als één aanroep draaien. Lobster is het ontbrekende stuk: deterministische pijplijnen, expliciete goedkeuringen en hervatbare status.Waarom
Vandaag vereisen complexe workflows veel heen-en-weer toolaanroepen. Elke aanroep kost tokens en het LLM moet elke stap orkestreren. Lobster verplaatst die orkestratie naar een getypte runtime:- Eén aanroep in plaats van veel: OpenClaw voert één Lobster-toolaanroep uit en krijgt een gestructureerd resultaat.
- Goedkeuringen ingebouwd: Neveneffecten (e-mail verzenden, reactie plaatsen) stoppen de workflow totdat expliciet is goedgekeurd.
- Hervatbaar: Gestopte workflows geven een token terug; keur goed en hervat zonder alles opnieuw uit te voeren.
Waarom een DSL in plaats van gewone programma’s?
Lobster is bewust klein. Het doel is niet “een nieuwe taal”, maar een voorspelbare, AI-vriendelijke pijplijnspecificatie met eersteklas goedkeuringen en hervattokens.- Goedkeuren/hervatten is ingebouwd: Een normaal programma kan een mens vragen, maar kan niet pauzeren en hervatten met een duurzaam token zonder dat je die runtime zelf bouwt.
- Determinisme + auditbaarheid: Pijplijnen zijn data, dus ze zijn eenvoudig te loggen, te diffen, te herhalen en te reviewen.
- Beperkt oppervlak voor AI: Een kleine grammatica + JSON-piping vermindert “creatieve” codepaden en maakt validatie realistisch.
- Veiligheidsbeleid ingebakken: Time-outs, uitvoerlimieten, sandbox-controles en toegestane lijsten worden door de runtime afgedwongen, niet door elk script.
- Nog steeds programmeerbaar: Elke stap kan elke CLI of script aanroepen. Wil je JS/TS, genereer
.lobster-bestanden vanuit code.
Hoe het werkt
OpenClaw start de lokalelobster CLI in toolmodus en parseert een JSON-envelop van stdout.
Als de pijplijn pauzeert voor goedkeuring, retourneert de tool een resumeToken zodat je later kunt doorgaan.
Patroon: kleine CLI + JSON-pipes + goedkeuringen
Bouw kleine commando’s die JSON spreken en koppel ze vervolgens tot één Lobster-aanroep. (Voorbeeldcommando’s hieronder — vervang ze door je eigen.)Alleen-JSON LLM-stappen (llm-task)
Voor workflows die een gestructureerde LLM-stap nodig hebben, schakel de optionelellm-task plugin-tool in en roep deze aan vanuit Lobster. Dit houdt de workflow
deterministisch terwijl je toch kunt classificeren/samenvatten/opstellen met een model.
Schakel de tool in:
Workflowbestanden (.lobster)
Lobster kan YAML/JSON-workflowbestanden uitvoeren metname, args, steps, env, condition en approval-velden. In OpenClaw-toolaanroepen stel je pipeline in op het bestandspad.
stdin: $step.stdoutenstdin: $step.jsongeven de uitvoer van een eerdere stap door.condition(ofwhen) kan stappen afschermen op basis van$step.approved.
Lobster installeren
Installeer de Lobster CLI op dezelfde host die de OpenClaw Gateway draait (zie de Lobster-repo) en zorg datlobster op PATH staat.
Als je een aangepaste binaire locatie wilt gebruiken, geef een absoluut lobsterPath mee in de toolaanroep.
De tool inschakelen
Lobster is een optionele plugin-tool (standaard niet ingeschakeld). Aanbevolen (additief, veilig):tools.allow: ["lobster"] tenzij je van plan bent in een restrictieve toegestane-lijstmodus te draaien.
Let op: toegestane lijsten zijn opt-in voor optionele plugins. Als je toegestane lijst alleen
plugin-tools noemt (zoals lobster), houdt OpenClaw kerntools ingeschakeld. Om kerntools te beperken,
moet je ook de kerntools of -groepen die je wilt opnemen in de toegestane lijst.
Voorbeeld: e-mailtriage
Zonder Lobster:Toolparameters
run
Voer een pijplijn uit in toolmodus.
resume
Ga verder met een gestopte workflow na goedkeuring.
Optionele invoer
lobsterPath: Absoluut pad naar de Lobster-binary (laat weg omPATHte gebruiken).cwd: Werkdirectory voor de pijplijn (standaard de huidige proces-werkdirectory).timeoutMs: Beëindig het subprocess als het deze duur overschrijdt (standaard: 20000).maxStdoutBytes: Beëindig het subprocess als stdout deze grootte overschrijdt (standaard: 512000).argsJson: JSON-string doorgegeven aanlobster run --args-json(alleen workflowbestanden).
Uitvoerenvelop
Lobster retourneert een JSON-envelop met een van drie statussen:ok→ succesvol voltooidneeds_approval→ gepauzeerd;requiresApproval.resumeTokenis vereist om te hervattencancelled→ expliciet geweigerd of geannuleerd
content (mooie JSON) als details (ruw object).
Goedkeuringen
AlsrequiresApproval aanwezig is, inspecteer de prompt en beslis:
approve: true→ hervatten en doorgaan met neveneffectenapprove: false→ annuleren en de workflow afronden
approve --preview-from-stdin --limit N om een JSON-voorbeeld aan goedkeuringsverzoeken toe te voegen zonder aangepaste jq/heredoc-plakwerk. Hervattokens zijn nu compact: Lobster slaat de hervatstatus van workflows op onder zijn statusdirectory en geeft een kleine tokensleutel terug.
OpenProse
OpenProse werkt goed samen met Lobster: gebruik/prose om multi-agentvoorbereiding te orkestreren en voer vervolgens een Lobster-pijplijn uit voor deterministische goedkeuringen. Als een Prose-programma Lobster nodig heeft, sta de lobster-tool toe voor sub-agents via tools.subagents.tools. Zie OpenProse.
Veiligheid
- Alleen lokale subprocessen — geen netwerkoproepen vanuit de plugin zelf.
- Geen geheimen — Lobster beheert geen OAuth; het roept OpenClaw-tools aan die dat wel doen.
- Sandbox-bewust — uitgeschakeld wanneer de toolcontext gesandboxed is.
- Gehard —
lobsterPathmoet absoluut zijn indien opgegeven; time-outs en uitvoerlimieten worden afgedwongen.
Problemen oplossen
lobster subprocess timed out→ verhoogtimeoutMsof splits een lange pijplijn.lobster output exceeded maxStdoutBytes→ verhoogmaxStdoutBytesof verklein de uitvoergrootte.lobster returned invalid JSON→ zorg dat de pijplijn in toolmodus draait en alleen JSON print.lobster failed (code …)→ voer dezelfde pijplijn in een terminal uit om stderr te inspecteren.
Meer informatie
Casestudy: community-workflows
Een openbaar voorbeeld: een “second brain” CLI + Lobster-pijplijnen die drie Markdown-kluizen beheren (persoonlijk, partner, gedeeld). De CLI genereert JSON voor statistieken, inboxlijsten en scans op veroudering; Lobster koppelt die commando’s tot workflows zoalsweekly-review, inbox-triage, memory-consolidation en shared-task-sync, elk met goedkeuringspoorten. AI verzorgt het oordeel (categorisatie) wanneer beschikbaar en valt terug op deterministische regels wanneer dat niet zo is.