OpenClaw Lobster: Workflows mit Genehmigung automatisieren
Lobster
Abschnitt betitelt „Lobster“Lobster ist eine Workflow-Shell, mit der OpenClaw mehrstufige Tool-Sequenzen als eine einzige, deterministische Operation mit expliziten Checkpoints für Approvals ausführen kann.
Lobster ist eine Authoring-Ebene über der entkoppelten Hintergrundarbeit. Wenn du auf die ältere ClawFlow-Terminologie stößt, betrachte sie als historischen Namen für denselben aufgabenorientierten Runtime-Bereich; die aktuelle CLI-Oberfläche für Operator ist openclaw tasks.
Kennst du das Problem? Du baust komplexe Workflows für deine AI, aber die Koordination der einzelnen Schritte fühlt sich mühsam an. Jedes Mal, wenn eine Entscheidung oder eine Freigabe nötig ist, bricht der Prozess ab oder verliert den Kontext. Lobster löst genau das: Es bietet dir deterministische Pipelines, bei denen du die volle Kontrolle behältst.
Dein Assistent kann die Tools bauen, die ihn selbst verwalten. Frag nach einem Workflow, und 30 Minuten später hast du eine CLI plus Pipelines, die mit einem einzigen Aufruf laufen. Lobster ist das fehlende Puzzleteil: deterministische Pipelines, explizite Approvals und ein Zustand, der jederzeit fortgesetzt werden kann.
Warum Lobster?
Abschnitt betitelt „Warum Lobster?“Heutzutage erfordern komplexe Workflows viele Hin-und-Her-Aufrufe von Tools. Jeder Aufruf kostet Token, und das LLM muss jeden Schritt einzeln orchestrieren. Lobster verlagert diese Orchestrierung in eine typisierte Runtime:
- Ein Aufruf statt vieler: OpenClaw führt einen einzigen Lobster-Tool-Aufruf aus und erhält ein strukturiertes Ergebnis.
- Integrierte Approvals: Nebenwirkungen (E-Mail senden, Kommentar posten) stoppen den Workflow, bis sie explizit genehmigt werden.
- Fortsetzbar: Angehaltene Workflows geben ein Token zurück; du kannst sie genehmigen und fortsetzen, ohne alles neu ausführen zu müssen.
Warum eine DSL statt normaler Programme?
Abschnitt betitelt „Warum eine DSL statt normaler Programme?“Lobster ist absichtlich klein gehalten. Das Ziel ist keine “neue Sprache”, sondern eine vorhersehbare, AI-freundliche Pipeline-Spezifikation mit erstklassigen Approvals und Resume-Tokens.
- Approve/Resume ist eingebaut: Ein normales Programm kann einen Menschen um Input bitten, aber es kann nicht einfach pausieren und mit einem dauerhaften Token fortfahren, ohne dass du diese Runtime selbst erfindest.
- Determinismus + Auditierbarkeit: Pipelines sind Daten. Das macht es einfach, sie zu loggen, zu diffen, zu replayen und zu reviewen.
- Eingeschränkte Oberfläche für AI: Eine winzige Grammatik + JSON-Piping reduziert “kreative” Codepfade und macht die Validierung realistisch.
- Eingebaute Sicherheitsrichtlinien: Timeouts, Output-Limits, Sandbox-Checks und Allowlists werden von der Runtime erzwungen, nicht von jedem einzelnen Script.
- Trotzdem programmierbar: Jeder Schritt kann jede CLI oder jedes Script aufrufen. Wenn du JS/TS bevorzugst, generiere einfach
.lobster-Dateien aus deinem Code.
Wie es funktioniert
Abschnitt betitelt „Wie es funktioniert“OpenClaw startet die lokale lobster CLI im Tool-Modus und parst einen JSON-Envelope von stdout.
Wenn die Pipeline für ein Approval pausiert, gibt das Tool ein resumeToken zurück, damit du später fortfahren kannst.
Pattern: Kleine CLI + JSON Pipes + Approvals
Abschnitt betitelt „Pattern: Kleine CLI + JSON Pipes + Approvals“Baue winzige Befehle, die JSON sprechen, und verkette sie dann zu einem einzigen Lobster-Aufruf. (Beispielnamen unten – nutze einfach deine eigenen.)
inbox list --jsoninbox categorize --jsoninbox apply --json{ "action": "run", "pipeline": "exec --json --shell 'inbox list --json' | exec --stdin json --shell 'inbox categorize --json' | exec --stdin json --shell 'inbox apply --json' | approve --preview-from-stdin --limit 5 --prompt 'Apply changes?'", "timeoutMs": 30000}Wenn die Pipeline ein Approval anfordert, setze sie mit dem Token fort:
{ "action": "resume", "token": "<resumeToken>", "approve": true}Die AI triggert den Workflow; Lobster führt die Schritte aus. Approval-Gates sorgen dafür, dass Nebenwirkungen explizit und prüfbar bleiben.
Beispiel: Input-Items in Tool-Aufrufe mappen:
gog.gmail.search --query 'newer_than:1d' \ | openclaw.invoke --tool message --action send --each --item-key message --args-json '{"provider":"telegram","to":"..."}'JSON-only LLM Steps (llm-task)
Abschnitt betitelt „JSON-only LLM Steps (llm-task)“Für Workflows, die einen strukturierten LLM-Schritt benötigen, aktiviere das optionale
llm-task Plugin-Tool und rufe es aus Lobster heraus auf. So bleibt der Workflow
deterministisch, während du trotzdem mit einem Modell klassifizieren, zusammenfassen oder entwerfen kannst.
Aktiviere das Tool:
{ "plugins": { "entries": { "llm-task": { "enabled": true } } }, "agents": { "list": [ { "id": "main", "tools": { "allow": ["llm-task"] } } ] }}Nutze es in einer Pipeline:
openclaw.invoke --tool llm-task --action json --args-json '{ "prompt": "Given the input email, return intent and draft.", "thinking": "low", "input": { "subject": "Hello", "body": "Can you help?" }, "schema": { "type": "object", "properties": { "intent": { "type": "string" }, "draft": { "type": "string" } }, "required": ["intent", "draft"], "additionalProperties": false }}'Details und Konfigurationsoptionen findest du unter LLM Task.
Workflow-Dateien (.lobster)
Abschnitt betitelt „Workflow-Dateien (.lobster)“Lobster kann YAML/JSON-Workflow-Dateien mit den Feldern name, args, steps, env, condition und approval ausführen. Setze in OpenClaw-Tool-Calls die pipeline einfach auf den Dateipfad.
name: inbox-triageargs: tag: default: "family"steps: - id: collect command: inbox list --json - id: categorize command: inbox categorize --json stdin: $collect.stdout - id: approve command: inbox apply --approve stdin: $categorize.stdout approval: required - id: execute command: inbox apply --execute stdin: $categorize.stdout condition: $approve.approvedHinweise:
stdin: $step.stdoutundstdin: $step.jsonübergeben den Output eines vorherigen Schritts.condition(oderwhen) kann Schritte basierend auf$step.approvedsteuern.
Lobster installieren
Abschnitt betitelt „Lobster installieren“Installiere die Lobster CLI auf demselben Host, auf dem auch das OpenClaw Gateway läuft (siehe Lobster Repo), und stelle sicher, dass lobster im PATH liegt.
Das Tool aktivieren
Abschnitt betitelt „Das Tool aktivieren“Lobster ist ein optionales Plugin-Tool (standardmäßig nicht aktiviert).
Empfohlen (additiv, sicher):
{ "tools": { "alsoAllow": ["lobster"] }}Oder pro Agent:
{ "agents": { "list": [ { "id": "main", "tools": { "alsoAllow": ["lobster"] } } ] }}Vermeide tools.allow: ["lobster"], es sei denn, du möchtest im restriktiven Allowlist-Modus arbeiten.
Hinweis: Allowlists sind Opt-in für optionale Plugins. Wenn deine Allowlist nur Plugin-Tools (wie lobster) nennt, lässt OpenClaw die Core-Tools aktiviert. Um Core-Tools einzuschränken, nimm sie oder ihre Gruppen ebenfalls in die Allowlist auf.
Beispiel: E-Mail-Triage
Abschnitt betitelt „Beispiel: E-Mail-Triage“Ohne Lobster:
User: "Check my email and draft replies"→ openclaw calls gmail.list→ LLM summarizes→ User: "draft replies to #2 and #5"→ LLM drafts→ User: "send #2"→ openclaw calls gmail.send(repeat daily, no memory of what was triaged)Mit Lobster:
{ "action": "run", "pipeline": "email.triage --limit 20", "timeoutMs": 30000}Gibt einen JSON-Envelope zurück (gekürzt):
{ "ok": true, "status": "needs_approval", "output": [{ "summary": "5 need replies, 2 need action" }], "requiresApproval": { "type": "approval_request", "prompt": "Send 2 draft replies?", "items": [], "resumeToken": "..." }}User genehmigt → Fortsetzen:
{ "action": "resume", "token": "<resumeToken>", "approve": true}Ein Workflow. Deterministisch. Sicher.
Tool-Parameter
Abschnitt betitelt „Tool-Parameter“Führt eine Pipeline im Tool-Modus aus.
{ "action": "run", "pipeline": "gog.gmail.search --query 'newer_than:1d' | email.triage", "cwd": "workspace", "timeoutMs": 30000, "maxStdoutBytes": 512000}Workflow-Datei mit Argumenten ausführen:
{ "action": "run", "pipeline": "/path/to/inbox-triage.lobster", "argsJson": "{\"tag\":\"family\"}"}Setzt einen angehaltenen Workflow nach einem Approval fort.
{ "action": "resume", "token": "<resumeToken>", "approve": true}Optionale Inputs
Abschnitt betitelt „Optionale Inputs“cwd: Relatives Arbeitsverzeichnis für die Pipeline (muss innerhalb des aktuellen Prozessverzeichnisses bleiben).timeoutMs: Beendet den Subprozess, wenn er diese Dauer überschreitet (Default: 20000).maxStdoutBytes: Beendet den Subprozess, wenn stdout diese Größe überschreitet (Default: 512000).argsJson: JSON-String, der anlobster run --args-jsonübergeben wird (nur für Workflow-Dateien).
Output Envelope
Abschnitt betitelt „Output Envelope“Lobster gibt einen JSON-Envelope mit einem von drei Status zurück:
ok→ erfolgreich abgeschlossenneeds_approval→ pausiert;requiresApproval.resumeTokenwird zum Fortsetzen benötigtcancelled→ explizit abgelehnt oder abgebrochen
Das Tool zeigt den Envelope sowohl in content (formatiertes JSON) als auch in details (rohes Objekt) an.
Approvals
Abschnitt betitelt „Approvals“Wenn requiresApproval vorhanden ist, prüfe den Prompt und entscheide:
approve: true→ fortsetzen und Nebenwirkungen ausführenapprove: false→ abbrechen und den Workflow beenden
Nutze approve --preview-from-stdin --limit N, um eine JSON-Vorschau an Approval-Requests anzuhängen, ohne mühsames jq-Gefummel. Resume-Tokens sind jetzt kompakt: Lobster speichert den Status im eigenen Verzeichnis und gibt nur einen kleinen Token-Key zurück.
OpenProse
Abschnitt betitelt „OpenProse“OpenProse lässt sich hervorragend mit Lobster kombinieren: Nutze /prose für die Multi-Agent-Vorbereitung und führe dann eine Lobster-Pipeline für deterministische Approvals aus. Wenn ein Prose-Programm Lobster benötigt, erlaube das lobster Tool für Sub-Agenten via tools.subagents.tools. Siehe OpenProse.
Sicherheit
Abschnitt betitelt „Sicherheit“- Nur lokale Subprozesse — keine Netzwerkaufrufe direkt aus dem Plugin.
- Keine Secrets — Lobster verwaltet kein OAuth; es ruft OpenClaw-Tools auf, die das übernehmen.
- Sandbox-aware — deaktiviert, wenn der Tool-Kontext in einer Sandbox läuft.
- Gehärtet — fester Executable-Name (
lobster) imPATH; Timeouts und Output-Limits werden erzwungen.
Fehlerbehebung
Abschnitt betitelt „Fehlerbehebung“lobster subprocess timed out→ ErhöhetimeoutMsoder teile eine lange Pipeline auf.lobster output exceeded maxStdoutBytes→ ErhöhemaxStdoutBytesoder reduziere die Output-Größe.lobster returned invalid JSON→ Stelle sicher, dass die Pipeline im Tool-Modus läuft und nur JSON ausgibt.lobster failed (code …)→ Führe dieselbe Pipeline im Terminal aus, um stderr zu prüfen.
Mehr erfahren
Abschnitt betitelt „Mehr erfahren“Case Study: Community-Workflows
Abschnitt betitelt „Case Study: Community-Workflows“Ein öffentliches Beispiel: Eine “Second Brain” CLI + Lobster-Pipelines, die drei Markdown-Vaults verwalten (privat, Partner, geteilt). Die CLI liefert JSON für Statistiken, Inbox-Listen und Scans; Lobster verkettet diese Befehle zu Workflows wie weekly-review, inbox-triage, memory-consolidation und shared-task-sync, jeweils mit Approval-Gates. Die AI übernimmt die Bewertung (Kategorisierung), wenn verfügbar, und fällt auf deterministische Regeln zurück, wenn nicht.
- Thread: https://x.com/plattenschieber/status/2014508656335770033
- Repo: https://github.com/bloomedai/brain-cli
Verwandte Themen
Abschnitt betitelt „Verwandte Themen“- Cron vs Heartbeat — Lobster-Workflows planen
- Automation Overview — alle Automatisierungsmechanismen
- Tools Overview — alle verfügbaren Agent-Tools
Nächste Schritte
Abschnitt betitelt „Nächste Schritte“Du willst direkt loslegen? Schau dir den AI Setup Assistant an, um Lobster in deiner Umgebung zu konfigurieren.
OpenClaw Expert
Noch festgefahren?
Wenn diese Seite nicht hilft, frage OpenClaw Expert nach Schritt-fuer-Schritt-Loesungen.