Lobster выполняет многошаговые конвейеры инструментов как один детерминированный вызов инструмента с
явными контрольными точками подтверждения и токенами возобновления. Он находится на один уровень выше
отделённых фоновых задач: для координации потоков из множества отделённых задач
см. Task Flow (openclaw tasks flow); журнал активности задач
см. в разделе Фоновые задачи.
Без Lobster многошаговое задание требует множества последовательных вызовов инструментов, при этом
модель координирует каждый шаг. Lobster переносит эту координацию в типизированную
среду выполнения:
Один вызов вместо множества: один вызов инструмента Lobster возвращает структурированный
результат всего конвейера.
Встроенные подтверждения: побочные эффекты (отправка, публикация, удаление) приостанавливают рабочий процесс
до явного подтверждения.
Возможность возобновления: приостановленный рабочий процесс возвращает токен; подтвердите и возобновите его без
повторного выполнения предыдущих шагов.
Lobster — это небольшой ограниченный DSL, а не универсальный язык сценариев:
подтверждение и возобновление являются надёжным встроенным примитивом; конвейеры представлены данными (их легко
журналировать, сравнивать, повторно выполнять и проверять); компактная грамматика ограничивает «творческие» пути выполнения кода,
благодаря чему проверка остаётся реалистичной; ограничения времени, размера вывода, проверки песочницы и
списки разрешений применяются средой выполнения, а не каждым сценарием. Каждый шаг при этом может
вызывать любой CLI или сценарий — при необходимости создавайте файлы .lobster с помощью других инструментов,
если вам нужен более выразительный язык описания.Без Lobster регулярная сортировка электронной почты выглядит так:
Пользователь: «Проверь мою почту и подготовь черновики ответов»→ openclaw вызывает gmail.list→ LLM формирует сводку→ Пользователь: «подготовь черновики ответов на сообщения № 2 и № 5»→ LLM создаёт черновики→ Пользователь: «отправь № 2»→ openclaw вызывает gmail.send(повторяется ежедневно, без сохранения сведений о том, что уже было отсортировано)
С Lobster то же задание выполняется одним вызовом, который приостанавливается для подтверждения, а затем возобновляется:
OpenClaw выполняет рабочие процессы Lobster внутри процесса, используя входящий в комплект
пакет @clawdbot/lobster как встроенную среду выполнения. Внешний подпроцесс
lobster не запускается; вызов инструмента напрямую возвращает JSON-конверт. Если
конвейер приостанавливается для подтверждения, конверт содержит токен возобновления (или короткий
идентификатор подтверждения), позволяющий продолжить выполнение позднее.
Lobster — необязательный инструмент плагина, по умолчанию отключённый. Он поставляется
в комплекте, поэтому отдельная установка не требуется — достаточно разрешить инструмент:
alsoAllow добавляет lobster поверх активного профиля инструментов, не
ограничивая другие основные инструменты. Используйте tools.allow, только если вам нужен режим
строгого списка разрешений.
В контекстах инструментов с песочницей этот инструмент полностью отключён.Если для разработки или внешних конвейеров вам нужен автономный CLI Lobster
(вне встроенной среды выполнения Gateway), установите его из
репозитория Lobster и добавьте lobster в
PATH.
Шаблон: небольшие CLI + каналы JSON + подтверждения
Создавайте небольшие команды, обменивающиеся данными в формате JSON, а затем объединяйте их в один вызов Lobster.
(Имена команд ниже приведены для примера — замените их своими.)
inbox list --jsoninbox categorize --jsoninbox apply --json
Важное ограничение: встроенный Lobster и openclaw.invoke
Входящий в комплект плагин Lobster выполняет рабочие процессы внутри процесса Gateway.
В этом встроенном режиме openclaw.invokeне наследует автоматически
URL-адрес Gateway и контекст аутентификации для вложенных вызовов инструментов CLI OpenClaw.Поэтому этот шаблон в настоящее время ненадёжен во встроенной среде выполнения:
Используйте приведённый ниже пример, только если запускаете автономный CLI Lobster в
среде, где openclaw.invoke уже настроен с правильным
контекстом Gateway и аутентификации.
Lobster может выполнять файлы рабочих процессов YAML/JSON с полями name, args, steps, env,
condition и approval. В вызове инструмента задайте в pipeline путь к файлу.
resume принимает либо token (полный токен возобновления из requiresApproval),
либо approvalId (короткий идентификатор из того же объекта) — используйте значение, возвращённое
приостановленным выполнением. approve является обязательным.
Передача flowControllerId и flowGoal в run (либо flowId и
flowExpectedRevision в resume) направляет вызов через управляемый API
Task Flow среды выполнения плагина вместо возврата
простого конверта: OpenClaw создаёт или возобновляет постоянную запись потока, применяет к ней
конверт Lobster (waiting при подтверждении, succeeded/failed при
завершении) и возвращает { ok, envelope, flow, mutation }. Для этого режима требуется
привязанная среда выполнения Task Flow; он предназначен для кода плагинов и контроллеров, которому необходимо
сохранять состояние потока после перезапусков Gateway, а не для обычного нерегулярного использования агентом.
Если присутствует requiresApproval, изучите запрос и примите решение:
approve: true — возобновить выполнение и продолжить побочные эффекты
approve: false — отменить и завершить рабочий процесс
Используйте approve --preview-from-stdin --limit N, чтобы прикрепить предварительный просмотр в формате JSON к
запросам подтверждения без специальной связки jq/heredoc. Состояние возобновления хранится в
небольших JSON-файлах в каталоге состояния Lobster (~/.lobster/state по
умолчанию, переопределяется с помощью LOBSTER_STATE_DIR); сам токен кодирует только
указатель на это состояние, а не полное состояние конвейера.
OpenProse хорошо сочетается с Lobster: используйте /prose для координации подготовки
несколькими агентами, а затем запускайте конвейер Lobster для детерминированных подтверждений. Если программе Prose
нужен Lobster, разрешите инструмент lobster для субагентов через
tools.subagents.tools. См. OpenProse.
Один из общедоступных примеров — CLI «второго мозга» и конвейеры Lobster, управляющие тремя
хранилищами Markdown (личным, партнёра и общим). CLI выводит JSON со статистикой,
списками входящих данных и результатами поиска устаревших элементов; Lobster объединяет эти команды в рабочие процессы,
такие как weekly-review, inbox-triage, memory-consolidation и
shared-task-sync, каждый из которых содержит этапы подтверждения. Когда ИИ доступен, он выполняет задачи,
требующие оценки (категоризацию), а при его отсутствии используются детерминированные правила.