Lobster
Lobster to powłoka workflow, która pozwala OpenClaw uruchamiać wieloetapowe sekwencje narzędzi jako jedną, deterministyczną operację z jawnymi punktami zatwierdzania. Lobster to jedna warstwa tworzenia ponad odłączoną pracą w tle. W przypadku orkiestracji przepływów ponad pojedynczymi zadaniami zobacz Task Flow (openclaw tasks flow). Informacje o rejestrze aktywności zadań znajdziesz w openclaw tasks.
Hook
Twój asystent może budować narzędzia, które zarządzają nim samym. Poproś o workflow, a 30 minut później masz CLI oraz potoki, które działają jako jedno wywołanie. Lobster to brakujący element: deterministyczne potoki, jawne zatwierdzenia i wznawialny stan.Dlaczego
Obecnie złożone workflow wymagają wielu wywołań narzędzi tam i z powrotem. Każde wywołanie kosztuje tokeny, a LLM musi orkiestracją zarządzać na każdym kroku. Lobster przenosi tę orkiestrację do typowanego środowiska uruchomieniowego:- Jedno wywołanie zamiast wielu: OpenClaw wykonuje jedno wywołanie narzędzia Lobster i otrzymuje ustrukturyzowany wynik.
- Wbudowane zatwierdzenia: skutki uboczne (wysłanie e-maila, opublikowanie komentarza) zatrzymują workflow do czasu jawnego zatwierdzenia.
- Wznawialność: zatrzymane workflow zwracają token; zatwierdź i wznów bez ponownego uruchamiania wszystkiego.
Dlaczego DSL zamiast zwykłych programów?
Lobster jest celowo niewielki. Celem nie jest „nowy język”, lecz przewidywalna, przyjazna dla AI specyfikacja potoków z zatwierdzeniami pierwszej klasy i tokenami wznowienia.- Approve/resume jest wbudowane: zwykły program może poprosić człowieka o decyzję, ale nie potrafi wstrzymać się i wznowić z trwałym tokenem bez samodzielnego wynalezienia takiego środowiska uruchomieniowego.
- Deterministyczność + audytowalność: potoki są danymi, więc łatwo je logować, porównywać jako diff, odtwarzać i przeglądać.
- Ograniczona powierzchnia dla AI: mała gramatyka + potoki JSON ograniczają „kreatywne” ścieżki kodu i sprawiają, że walidacja jest realistyczna.
- Polityka bezpieczeństwa wbudowana: timeouty, limity wyjścia, kontrole sandbox i allowlist są egzekwowane przez środowisko uruchomieniowe, a nie przez każdy skrypt osobno.
- Nadal programowalne: każdy krok może wywołać dowolne CLI lub skrypt. Jeśli chcesz JS/TS, generuj pliki
.lobsterz kodu.
Jak to działa
OpenClaw uruchamia lokalne CLIlobster w trybie narzędzia i analizuje obwiednię JSON ze stdout.
Jeśli potok zatrzyma się z powodu zatwierdzenia, narzędzie zwróci resumeToken, aby można było kontynuować później.
Wzorzec: małe CLI + potoki JSON + zatwierdzenia
Twórz małe polecenia mówiące w JSON, a następnie łącz je w jedno wywołanie Lobster. (Nazwy poleceń poniżej to tylko przykłady — podmień je na własne).Kroki LLM tylko w JSON (llm-task)
Dla workflow wymagających ustrukturyzowanego kroku LLM włącz opcjonalne
narzędzie pluginu llm-task i wywołuj je z Lobster. Dzięki temu workflow pozostaje
deterministyczny, a jednocześnie nadal możesz klasyfikować, streszczać i tworzyć szkice przy użyciu modelu.
Włącz narzędzie:
Pliki workflow (.lobster)
Lobster może uruchamiać pliki workflow YAML/JSON z polaminame, args, steps, env, condition i approval. W wywołaniach narzędzi OpenClaw ustaw pipeline na ścieżkę do pliku.
stdin: $step.stdoutistdin: $step.jsonprzekazują wyjście wcześniejszego kroku.condition(lubwhen) może warunkowo uruchamiać kroki na podstawie$step.approved.
Zainstaluj Lobster
Zainstaluj CLI Lobster na tym samym hoście, na którym działa Gateway OpenClaw (zobacz repozytorium Lobster), i upewnij się, żelobster jest na PATH.
Włącz narzędzie
Lobster to opcjonalne narzędzie pluginu (domyślnie niewłączone). Zalecane (addytywne, bezpieczne):tools.allow: ["lobster"], chyba że zamierzasz działać w restrykcyjnym trybie allowlist.
Uwaga: allowlist są opt-in dla opcjonalnych pluginów. Jeśli allowlist zawiera tylko
narzędzia pluginów (takie jak lobster), OpenClaw pozostawia narzędzia rdzenia włączone. Aby ograniczyć narzędzia rdzenia, uwzględnij w allowlist także narzędzia lub grupy rdzenia, których chcesz używać.
Przykład: triage e-maili
Bez Lobster:Parametry narzędzia
run
Uruchamia potok w trybie narzędzia.
resume
Kontynuuje zatrzymany workflow po zatwierdzeniu.
Opcjonalne dane wejściowe
cwd: względny katalog roboczy dla potoku (musi pozostać w bieżącym katalogu roboczym procesu).timeoutMs: zabija podproces, jeśli przekroczy ten czas trwania (domyślnie: 20000).maxStdoutBytes: zabija podproces, jeśli stdout przekroczy ten rozmiar (domyślnie: 512000).argsJson: ciąg JSON przekazywany dolobster run --args-json(tylko pliki workflow).
Obwiednia wyjściowa
Lobster zwraca obwiednię JSON z jednym z trzech statusów:ok→ zakończono pomyślnieneeds_approval→ wstrzymano; do wznowienia wymagane jestrequiresApproval.resumeTokencancelled→ jawnie odrzucono lub anulowano
content (sformatowany JSON), jak i w details (surowy obiekt).
Zatwierdzenia
Jeśli istniejerequiresApproval, sprawdź prompt i zdecyduj:
approve: true→ wznów i kontynuuj skutki uboczneapprove: false→ anuluj i zakończ workflow
approve --preview-from-stdin --limit N, aby dołączyć podgląd JSON do żądań zatwierdzenia bez niestandardowego klejenia jq/heredoc. Tokeny wznowienia są teraz kompaktowe: Lobster przechowuje stan wznowienia workflow w swoim katalogu stanu i zwraca mały klucz tokenu.
OpenProse
OpenProse dobrze współpracuje z Lobster: użyj/prose, aby orkiestracją przygotować pracę wielu agentów, a następnie uruchom potok Lobster dla deterministycznych zatwierdzeń. Jeśli program Prose potrzebuje Lobster, zezwól na narzędzie lobster dla podagentów przez tools.subagents.tools. Zobacz OpenProse.
Bezpieczeństwo
- Tylko lokalne podprocesy — sam plugin nie wykonuje wywołań sieciowych.
- Bez sekretów — Lobster nie zarządza OAuth; wywołuje narzędzia OpenClaw, które to robią.
- Świadomość sandbox — wyłączone, gdy kontekst narzędzia działa w sandbox.
- Wzmocnione — stała nazwa pliku wykonywalnego (
lobster) naPATH; wymuszane są timeouty i limity wyjścia.
Rozwiązywanie problemów
lobster subprocess timed out→ zwiększtimeoutMsalbo podziel długi potok.lobster output exceeded maxStdoutBytes→ zwiększmaxStdoutBytesalbo zmniejsz rozmiar wyjścia.lobster returned invalid JSON→ upewnij się, że potok działa w trybie narzędzia i wypisuje tylko JSON.lobster failed (code …)→ uruchom ten sam potok w terminalu, aby sprawdzić stderr.
Dowiedz się więcej
Studium przypadku: workflow społeczności
Jeden publiczny przykład: CLI „second brain” + potoki Lobster, które zarządzają trzema skarbcami Markdown (osobistym, partnera, współdzielonym). CLI emituje JSON dla statystyk, list inbox i skanów nieaktualnych elementów; Lobster łączy te polecenia w workflow, takie jakweekly-review, inbox-triage, memory-consolidation i shared-task-sync, każde z bramkami zatwierdzeń. AI obsługuje osąd (kategoryzację), gdy jest dostępne, i przechodzi do reguł deterministycznych, gdy nie jest.
- Wątek: https://x.com/plattenschieber/status/2014508656335770033
- Repozytorium: https://github.com/bloomedai/brain-cli
Powiązane
- Automatyzacja i zadania — planowanie workflow Lobster
- Przegląd automatyzacji — wszystkie mechanizmy automatyzacji
- Przegląd narzędzi — wszystkie dostępne narzędzia agenta