Lobster
Lobsterは、OpenClawがマルチステップのtool sequenceを、明示的な承認チェックポイントを備えた単一の決定論的操作として実行できるようにするワークフローshellです。 Lobsterは、detached background workの一段上にあるauthoring layerです。個々のタスクより上のフローオーケストレーションについては、Task Flow(openclaw tasks flow)を参照してください。タスク活動ledgerについては、openclaw tasksを参照してください。
Hook
あなたのassistantは、自分自身を管理するtoolsを構築できます。ワークフローを依頼すれば、30分後にはCLIと、1回の呼び出しで動くパイプラインが手に入ります。Lobsterはその欠けていたピースです。決定論的なパイプライン、明示的な承認、そして再開可能な状態を提供します。なぜ必要なのか
現在、複雑なワークフローには多くの往復tool callが必要です。各callにはトークンコストがかかり、LLMはすべてのステップをオーケストレーションしなければなりません。Lobsterは、そのオーケストレーションを型付きruntimeへ移します。- 多数のcallではなく1回のcall: OpenClawは1回のLobster tool callを実行し、構造化された結果を受け取ります。
- 承認を内蔵: 副作用(メール送信、コメント投稿など)は、明示的に承認されるまでワークフローを停止します。
- 再開可能: 停止したワークフローはtokenを返し、すべてを再実行せずに承認して再開できます。
なぜ通常のプログラムではなくDSLなのか
Lobsterは意図的に小さく作られています。目標は「新しい言語」ではなく、ファーストクラスの承認とresume tokenを備えた、予測可能でAIフレンドリーなpipeline specです。- approve/resumeが組み込み: 通常のプログラムでも人に確認を求めることはできますが、永続的なtokenで_一時停止して再開する_ことは、そのruntimeを自前で発明しない限りできません。
- 決定論性 + 監査可能性: パイプラインはデータなので、ログ化、差分確認、再実行、レビューが容易です。
- AI向けの制約されたsurface: 小さな文法 + JSONパイピングにより「創造的」なコードパスが減り、現実的な検証が可能になります。
- 安全ポリシーを内蔵: タイムアウト、出力上限、sandboxチェック、許可リストは、各scriptではなくruntimeによって強制されます。
- それでもプログラム可能: 各ステップは任意のCLIまたはscriptを呼び出せます。JS/TSを使いたい場合は、コードから
.lobsterfilesを生成してください。
仕組み
OpenClawは、組み込みrunnerを使ってLobsterワークフローをプロセス内で実行します。外部CLI subprocessは生成されません。ワークフローエンジンはgateway process内で実行され、JSON envelopeを直接返します。 承認待ちでpipelineが一時停止した場合、toolは後で継続できるようresumeTokenを返します。
パターン: 小さなCLI + JSON pipes + 承認
JSONを話す小さなコマンドを作り、それらを1回のLobster callへ連結します。(以下のコマンド名は例です。自分のものに置き換えてください。)JSON専用LLMステップ(llm-task)
ワークフロー内で構造化されたLLMステップが必要な場合は、任意のllm-taskプラグインtoolを有効にし、Lobsterから呼び出してください。これにより、
workflowを決定論的に保ちながら、モデルによる分類/要約/下書きも可能になります。
toolを有効化する:
ワークフローファイル(.lobster)
Lobsterは、name、args、steps、env、condition、approvalフィールドを持つYAML/JSONワークフローファイルを実行できます。OpenClawのtool callでは、pipelineにファイルパスを設定します。
stdin: $step.stdoutとstdin: $step.jsonは、前のステップの出力を渡します。condition(またはwhen)で、$step.approvedに基づいてステップを制御できます。
Lobsterをインストールする
バンドルされたLobsterワークフローはプロセス内で実行されるため、別個のlobster binaryは不要です。組み込みrunnerはLobsterプラグインとともに提供されます。
開発や外部pipelineのためにスタンドアロンのLobster CLIが必要な場合は、Lobster repoからインストールし、lobsterがPATH上にあることを確認してください。
toolを有効にする
Lobsterは任意のプラグインtoolです(デフォルトでは有効ではありません)。 推奨(加算的、安全):tools.allow: ["lobster"]の使用は避けてください。
注意: allowlistは任意プラグイン向けのオプトインです。allowlistに
lobsterのような
plugin toolsだけを指定した場合でも、OpenClawはcore toolsを有効のままにします。core
toolsも制限したい場合は、allowlistに希望するcore toolsまたはgroupsも含めてください。
例: Email triage
Lobsterなし:tool parameters
run
tool modeでpipelineを実行します。
resume
承認後に停止したワークフローを継続します。
任意入力
cwd: pipeline用の相対working directory(gateway working directory内に留まる必要があります)。timeoutMs: この時間を超えた場合はワークフローを中止します(デフォルト: 20000)。maxStdoutBytes: 出力がこのサイズを超えた場合はワークフローを中止します(デフォルト: 512000)。argsJson:lobster run --args-jsonに渡されるJSON文字列(ワークフローファイルのみ)。
出力envelope
Lobsterは、次の3つのstatusのいずれかを持つJSON envelopeを返します。ok→ 正常終了needs_approval→ 一時停止中。再開にはrequiresApproval.resumeTokenが必要cancelled→ 明示的に拒否またはキャンセル
content(整形JSON)とdetails(生オブジェクト)の両方で公開します。
承認
requiresApprovalが存在する場合は、promptを確認して判断します。
approve: true→ 再開し、副作用を継続approve: false→ キャンセルしてワークフローを終了
approve --preview-from-stdin --limit Nを使用してください。resume tokenは現在コンパクトです。Lobsterはworkflow resume stateをstate dir配下に保存し、小さなtoken keyを返します。
OpenProse
OpenProseはLobsterと相性が良く、/proseでマルチエージェント準備をオーケストレーションし、その後Lobster pipelineで決定論的な承認を実行できます。Prose programでLobsterが必要な場合は、tools.subagents.tools経由でsub-agentsにlobster toolを許可してください。OpenProseを参照してください。
安全性
- ローカルのプロセス内のみ — ワークフローはgateway process内で実行され、プラグイン自体からのnetwork callsはありません。
- シークレットなし — LobsterはOAuthを管理しません。代わりに、それを管理するOpenClaw toolsを呼び出します。
- sandbox対応 — tool contextがsandbox化されている場合は無効になります。
- 堅牢化済み — タイムアウトと出力上限は組み込みrunnerによって強制されます。
トラブルシューティング
lobster timed out→timeoutMsを増やすか、長いpipelineを分割してください。lobster output exceeded maxStdoutBytes→maxStdoutBytesを増やすか、出力サイズを減らしてください。lobster returned invalid JSON→ pipelineがtool modeで実行され、JSONだけを出力していることを確認してください。lobster failed→ 組み込みrunnerのエラー詳細についてgateway logsを確認してください。
詳しく知る
ケーススタディ: コミュニティワークフロー
公開例の1つとして、3つのMarkdown vault(personal、partner、shared)を管理する「second brain」CLI + Lobster pipelinesがあります。このCLIは統計、inbox一覧、stale scan用にJSONを出力し、Lobsterはそれらのコマンドをweekly-review、inbox-triage、memory-consolidation、shared-task-syncのような承認ゲート付きワークフローへ連結します。利用可能なときはAIが判断(分類)を担当し、そうでない場合は決定論的ルールへフォールバックします。
- スレッド: https://x.com/plattenschieber/status/2014508656335770033
- Repo: https://github.com/bloomedai/brain-cli
関連
- Automation & Tasks — Lobsterワークフローのスケジューリング
- Automation Overview — すべての自動化メカニズム
- Tools Overview — 利用可能なすべてのagent tools