Lobster
Lobster 是一個工作流程 shell,讓 OpenClaw 以單個、確定性操作運行多步驟工具序列,具有明確的核准檢查點。Hook
你的助手可以建造管理自己的工具。要求一個工作流程,30 分鐘後你有一個 CLI 加上運行為單個呼叫的管道。Lobster 是遺漏的部分:確定性管道、明確的核准和可恢復的狀態。為什麼
今天,複雜工作流程需要許多往返工具呼叫。每個呼叫都消耗 tokens,而 LLM 必須協調每個步驟。Lobster 將該協調移到型別 runtime 中:- 一個呼叫而不是許多:OpenClaw 執行一個 Lobster 工具呼叫並取得結構化結果。
- 內建核准:副作用(傳送電子郵件、發佈評論)在明確核准前暫停工作流程。
- 可恢復:暫停的工作流程傳回 token;核准並恢復而不重新執行一切。
為什麼是 DSL 而不是純程式?
Lobster 有意很小。目標不是「新語言」,而是具有一流核准和恢復 tokens 的可預測、AI 友善的管道規格。- 核准/恢復是內建的:普通程式可以提示人類,但它不能 暫停並恢復 帶有耐久 token,而不用你自己發明該 runtime。
- 確定性 + 可審計性:管道是資料,因此很容易記錄、diff、重播和審視。
- 為 AI 限制表面:一個小文法 + JSON 管道減少「創意」程式碼路徑並使驗證現實。
- 安全原則內建:逾時、輸出上限、sandbox 檢查和允許列表由 runtime 強制,而不是每個指令碼。
- 仍然是可程式化的:每個步驟可以呼叫任何 CLI 或指令碼。如果你想要 JS/TS,從程式碼產生
.lobster檔案。
它如何運作
OpenClaw 在 tool mode 中啟動本機lobster CLI,並從 stdout 解析 JSON 信封。
如果管道為核准暫停,工具傳回 resumeToken,以便你稍後可以繼續。
模式:小 CLI + JSON pipes + 核准
建造說 JSON 的小命令,然後將它們鏈接到單個 Lobster 呼叫。(下面是範例命令名稱 — 交換到你的。)僅限 JSON 的 LLM 步驟(llm-task)
對於需要 結構化 LLM 步驟 的工作流程,啟用選擇性llm-task plugin 工具並從 Lobster 呼叫它。這保持工作流程確定性同時仍然讓你使用模型分類/總結/草稿。
啟用工具:
工作流程檔案 (.lobster)
Lobster 可以執行具有name、args、steps、env、condition 和 approval 欄位的 YAML/JSON 工作流程檔案。在 OpenClaw 工具呼叫中,設定 pipeline 到檔案路徑。
stdin: $step.stdout和stdin: $step.json傳送先前步驟的輸出。condition(或when)可以閘控$step.approved上的步驟。
安裝 Lobster
在 執行 OpenClaw Gateway 的相同主機 上安裝 Lobster CLI(見 Lobster repo),並確保lobster 在 PATH 上。
啟用工具
Lobster 是一個 選擇性 plugin 工具(預設未啟用)。 推薦(加法、安全):tools.allow: ["lobster"],除非你打算在限制性允許列表 mode 中執行。
注意:允許列表是選擇加入用於選擇性 plugins。如果你的允許列表僅命名 plugin 工具(如 lobster),OpenClaw 保持核心工具啟用。要限制核心工具,在允許列表中包含你想要的核心工具或群組。
範例:電子郵件分類
沒有 Lobster:工具參數
run
在 tool mode 中執行管道。
resume
在核准後繼續暫停的工作流程。
選擇性輸入
cwd: 管道的相對工作目錄(必須保持在目前進程工作目錄內)。timeoutMs: 如果超過此持續時間,殺死子進程(預設:20000)。maxStdoutBytes: 如果 stdout 超過此大小,殺死子進程(預設:512000)。argsJson: 傳遞給lobster run --args-json的 JSON 字串(工作流程檔案僅限)。
輸出信封
Lobster 傳回具有三種狀態之一的 JSON 信封:ok→ 成功完成needs_approval→ 暫停;需要requiresApproval.resumeToken恢復cancelled→ 明確被拒絕或取消
content(漂亮 JSON)和 details(原始物件)中表面信封。
核准
如果requiresApproval 存在,檢查提示並決定:
approve: true→ 恢復並繼續副作用approve: false→ 取消並終結工作流程
approve --preview-from-stdin --limit N 將 JSON 預覽附加到核准請求,而不需要自訂 jq/heredoc glue。恢復 tokens 現在緊湊:Lobster 在其狀態目錄下儲存工作流程恢復狀態並遞交回小 token key。
OpenProse
OpenProse 與 Lobster 配對良好:使用/prose 協調多 agent 預備,然後為確定性核准執行 Lobster 管道。如果 Prose 程式需要 Lobster,透過 tools.subagents.tools 為 sub agents 允許 lobster 工具。見 OpenProse。
安全
- 本機子進程僅限 — plugin 本身沒有網路呼叫。
- 沒有密碼 — Lobster 不管理 OAuth;它呼叫執行的 OpenClaw 工具。
- Sandbox 感知 — 當工具 context 已沙箱化時停用。
- 強化 — 固定可執行名稱(
lobster)在PATH上;逾時和輸出上限被強制。
疑難排解
lobster subprocess timed out→ 增加timeoutMs,或分割長管道。lobster output exceeded maxStdoutBytes→ 提高maxStdoutBytes或減少輸出大小。lobster returned invalid JSON→ 確保管道在 tool mode 中執行且僅列印 JSON。lobster failed (code …)→ 在終端機中執行相同管道以檢查 stderr。
深入學習
個案研究:社群工作流程
一個公開範例:「第二大腦」CLI + Lobster 管道,管理三個 Markdown vaults(個人、夥伴、共用)。CLI 發出 JSON 用於統計、inbox 列表和舊掃描;Lobster 將這些命令鏈接到weekly-review、inbox-triage、memory-consolidation 和 shared-task-sync 等工作流程,每個都具有核准閘門。AI 在可用時處理判斷(分類),在沒有時回退到確定性規則。