Lobster
Lobster to powłoka workflow, która pozwala OpenClaw uruchamiać wieloetapowe sekwencje narzędzi jako jedną, deterministyczną operację z jawnymi punktami kontrolnymi zatwierdzania. Lobster to warstwa autorska o jeden poziom wyżej niż odłączona praca w tle. W przypadku orkiestracji przepływu ponad pojedynczymi zadaniami zobacz Task Flow (openclaw tasks flow). Rejestr aktywności zadań znajdziesz w openclaw tasks.
Hook
Twój asystent może budować narzędzia, którymi sam sobą zarządza. Poproś o workflow, a 30 minut później masz CLI oraz pipeline’y, które działają jako jedno wywołanie. Lobster to brakujący element: deterministyczne pipeline’y, jawne zatwierdzenia i stan możliwy do wznowienia.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: Efekty uboczne (wysłanie e-maila, opublikowanie komentarza) zatrzymują workflow, dopóki nie zostaną jawnie zatwierdzone.
- Możliwość wznowienia: Zatrzymane workflow zwracają token; zatwierdź i wznów bez ponownego uruchamiania wszystkiego.
Dlaczego DSL zamiast zwykłych programów?
Lobster jest celowo mały. Celem nie jest „nowy język”, tylko przewidywalna, przyjazna AI specyfikacja pipeline’u z natywną obsługą zatwierdzeń i tokenów wznowienia.- Approve/resume jest wbudowane: Zwykły program może poprosić człowieka o decyzję, ale nie potrafi zatrzymać się i wznowić z trwałym tokenem bez samodzielnego zbudowania takiego runtime.
- Deterministyczność + audytowalność: Pipeline’y są danymi, więc łatwo je logować, porównywać, odtwarzać i recenzować.
- Ograniczona powierzchnia dla AI: Mała gramatyka + przekazywanie JSON zmniejszają „kreatywne” ścieżki kodu i czynią walidację realistyczną.
- Wbudowane zasady bezpieczeństwa: Timeouty, limity wyjścia, kontrole sandboxa i listy dozwolonych są egzekwowane przez runtime, 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 workflow Lobster w procesie przy użyciu osadzonego runnera. Nie jest uruchamiany żaden zewnętrzny subprocess CLI; silnik workflow wykonuje się wewnątrz procesu gateway i zwraca bezpośrednio kopertę JSON. Jeśli pipeline zatrzyma się na potrzeby zatwierdzenia, narzędzie zwracaresumeToken, aby można było kontynuować później.
Wzorzec: małe CLI + potoki JSON + zatwierdzenia
Buduj małe polecenia, które komunikują się przez 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, które potrzebują ustrukturyzowanego kroku LLM, włącz opcjonalne
narzędzie pluginu llm-task i wywołuj je z Lobster. Pozwala to zachować deterministyczność
workflow, a jednocześnie nadal umożliwia klasyfikację/podsumowywanie/tworzenie szkiców 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 bramkować kroki na podstawie$step.approved.
Instalacja Lobster
Bundlowane workflow Lobster działają w procesie; nie jest wymagany osobny binarny pliklobster. Osadzony runner jest dostarczany wraz z pluginem Lobster.
Jeśli potrzebujesz samodzielnego CLI Lobster do pracy deweloperskiej albo zewnętrznych pipeline’ów, zainstaluj go z repozytorium Lobster i upewnij się, że lobster znajduje się w PATH.
Włącz narzędzie
Lobster to opcjonalne narzędzie pluginu (domyślnie wyłączone). Zalecane (addytywne, bezpieczne):tools.allow: ["lobster"], chyba że zamierzasz działać w restrykcyjnym trybie listy dozwolonych.
Uwaga: listy dozwolonych są opcjonalne dla pluginów opcjonalnych. Jeśli Twoja lista dozwolonych wymienia tylko
narzędzia pluginów (takie jak lobster), OpenClaw pozostawia narzędzia rdzenia włączone. Aby ograniczyć narzędzia rdzenia,
uwzględnij na liście dozwolonych również narzędzia lub grupy rdzenia, których chcesz używać.
Przykład: triage e-maili
Bez Lobster:Parametry narzędzia
run
Uruchom pipeline w trybie narzędzia.
resume
Kontynuuj zatrzymany workflow po zatwierdzeniu.
Opcjonalne dane wejściowe
cwd: Względny katalog roboczy dla pipeline’u (musi pozostać w obrębie katalogu roboczego gateway).timeoutMs: Przerwij workflow, jeśli przekroczy ten czas (domyślnie: 20000).maxStdoutBytes: Przerwij workflow, jeśli wyjście przekroczy ten rozmiar (domyślnie: 512000).argsJson: Ciąg JSON przekazywany dolobster run --args-json(tylko pliki workflow).
Koperta wyjściowa
Lobster zwraca kopertę JSON z jednym z trzech statusów:ok→ zakończono pomyślnieneeds_approval→ wstrzymano;requiresApproval.resumeTokenjest wymagany do wznowieniacancelled→ jawnie odrzucono lub anulowano
content (ładnie sformatowany JSON), jak i w details (surowy obiekt).
Zatwierdzenia
Jeśli występujerequiresApproval, sprawdź prompt i zdecyduj:
approve: true→ wznów i kontynuuj efekty uboczneapprove: false→ anuluj i zakończ workflow
approve --preview-from-stdin --limit N, aby dołączać podgląd JSON do żądań zatwierdzenia bez własnego klejenia jq/heredoc. Tokeny wznowienia są teraz zwięzłe: Lobster przechowuje stan wznowienia workflow w swoim katalogu stanu i zwraca mały klucz tokena.
OpenProse
OpenProse dobrze współpracuje z Lobster: użyj/prose do orkiestracji przygotowania wieloagentowego, a następnie uruchom pipeline Lobster dla deterministycznych zatwierdzeń. Jeśli program Prose potrzebuje Lobster, zezwól na narzędzie lobster dla subagentów przez tools.subagents.tools. Zobacz OpenProse.
Bezpieczeństwo
- Tylko lokalnie, w procesie — workflow wykonują się wewnątrz procesu gateway; sam plugin nie wykonuje wywołań sieciowych.
- Bez sekretów — Lobster nie zarządza OAuth; wywołuje narzędzia OpenClaw, które to robią.
- Świadomy sandboxa — wyłączony, gdy kontekst narzędzia jest sandboxowany.
- Wzmocniony — timeouty i limity wyjścia są egzekwowane przez osadzony runner.
Rozwiązywanie problemów
lobster timed out→ zwiększtimeoutMsalbo podziel długi pipeline.lobster output exceeded maxStdoutBytes→ zwiększmaxStdoutBytesalbo zmniejsz rozmiar wyjścia.lobster returned invalid JSON→ upewnij się, że pipeline działa w trybie narzędzia i wypisuje tylko JSON.lobster failed→ sprawdź logi gateway, aby uzyskać szczegóły błędu osadzonego runnera.
Dowiedz się więcej
Studium przypadku: workflow społeczności
Jeden publiczny przykład: CLI typu „second brain” + pipeline’y Lobster, które zarządzają trzema skarbcami Markdown (osobistym, partnera i współdzielonym). CLI emituje JSON dla statystyk, list skrzynki odbiorczej i skanów przestarzałych wpisó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 ocenę (kategoryzację), gdy jest dostępna, a w przeciwnym razie wraca do deterministycznych reguł.
- Wątek: https://x.com/plattenschieber/status/2014508656335770033
- Repozytorium: https://github.com/bloomedai/brain-cli
Powiązane
- Automation & Tasks — planowanie workflow Lobster
- Automation Overview — wszystkie mechanizmy automatyzacji
- Tools Overview — wszystkie dostępne narzędzia agenta