Lobster
Lobster 执行带审批检查点的多步骤工作流。在以下情况下使用它:
- 用户想要可重复的自动化(分类、监控、同步)
- 操作在执行前需要人工批准(发送、发布、删除)
- 多个工具调用应作为一个确定性操作运行
何时使用 Lobster
| 用户意图 | 使用 Lobster? |
|---|---|
| “处理我的邮件” | 是 — 多步骤,可能发送回复 |
| “发送一条消息” | 否 — 单一操作,直接使用消息工具 |
| “每天早上检查我的邮件并在回复前询问我” | 是 — 带审批的定时工作流 |
| “天气怎么样?” | 否 — 简单查询 |
| “监控这个 PR 并在有变化时通知我” | 是 — 有状态的、重复性的 |
基本用法
运行一个流水线
{
"action": "run",
"pipeline": "gog.gmail.search --query 'newer_than:1d' --max 20 | email.triage"
}
返回结构化结果:
{
"protocolVersion": 1,
"ok": true,
"status": "ok",
"output": [{ "summary": {...}, "items": [...] }],
"requiresApproval": null
}
处理审批
如果工作流需要审批:
{
"status": "needs_approval",
"output": [],
"requiresApproval": {
"prompt": "发送 3 封草稿回复?",
"items": [...],
"resumeToken": "..."
}
}
向用户展示提示。如果他们批准:
{
"action": "resume",
"token": "<resumeToken>",
"approve": true
}
示例工作流
邮件分类
gog.gmail.search --query 'newer_than:1d' --max 20 | email.triage
获取最近的电子邮件,分类到不同的桶中(需要回复、需要操作、仅供参考)。
带审批门的邮件分类
gog.gmail.search --query 'newer_than:1d' | email.triage | approve --prompt '处理这些?'
与上面相同,但在返回前暂停等待批准。
关键行为
- 确定性:相同的输入 → 相同的输出(流水线执行中没有 LLM 差异)
- 审批门:
approve命令暂停执行,返回令牌 - 可恢复:使用带有令牌的
resume操作继续执行 - 结构化输出:始终返回带有
protocolVersion的 JSON 信封
不要将 Lobster 用于
- 简单的单一操作请求(直接使用工具即可)
- 需要在流程中 LLM 解释的查询
- 不会重复的一次性任务