Lobster 工作流运行时,用于确定性管道和审批门控。 适用场景:(1) 需要人工审批后才执行副作用的多步骤自动化;(2) 监控 PR/Issue 变更;(3) 通过类型化 JSON 管道处理数据;(4) 邮件分类或批量操作;(5) 任何需暂停等待批准的工作流。 Lobster 通过运行确定性管道而非每步重新规划来节省 tokens。
分配: 源代码和PRs欢迎在 github.com/guwidoe/lobster-skill.是一项面向实际任务的技能,主要用于Workflow 运行时间为AI代理商——有批准门的打字管道.;CLI Lace QQ快参考.;
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
参与贡献:源代码与 Pull Request 欢迎提交至 github.com/guwidoe/lobster-skill
AI agent 的工作流运行时 —— 支持类型定义的流水线,内置审批关卡(approval gates)。
# 设置别名(请根据实际安装路径调整) LOBSTER="node /home/molt/clawd/tools/lobster/bin/lobster.js" # 或全局安装:npm install -g @clawdbot/lobster # 然后使用:lobster ''
# 运行流水线(human 模式 — 输出格式化友好) $LOBSTER '' # 运行流水线(tool 模式 — 返回 JSON 封装格式,便于集成) $LOBSTER run --mode tool ' ' # 运行工作流文件 $LOBSTER run path/to/workflow.lobster # 审批后恢复执行 $LOBSTER resume --token " " --approve yes|no # 列出可用命令 / 工作流 $LOBSTER commands.list $LOBSTER workflows.list
| 命令 | 用途 |
|---|---|
exec --json --shell "cmd" |
执行 shell 命令,并将 stdout 解析为 JSON |
where 'field=value' |
按条件筛选对象 |
pick field1,field2 |
投影(提取)指定字段 |
head --n 5 |
取前 N 项 |
sort --key field --desc |
按指定字段排序(支持降序) |
groupBy --key field |
按指定键分组 |
dedupe --key field |
按指定键去重 |
map --wrap key |
对每一项进行转换(包裹在指定键下) |
template --text "{{field}}" |
渲染模板 |
approve --prompt "ok?" |
暂停并等待人工审批 |
diff.last --key "mykey" |
与上一次运行结果对比(有状态) |
state.get key / state.set key |
读取 / 写入持久化状态 |
json / table |
输出格式化(JSON 或表格) |
# 监控 PR 变更(有状态 — 记住上次运行状态)
$LOBSTER "workflows.run --name github.pr.monitor --args-json '{"repo":"owner/repo","pr":123}'"
# 监控 PR 并仅在发生变更时发出通知
$LOBSTER "workflows.run --name github.pr.monitor.notify --args-json '{"repo":"owner/repo","pr":123}'"
当流水线执行到 approve 时,将返回如下响应:
{
"status": "needs_approval",
"requiresApproval": {
"prompt": "发送 3 封邮件?",
"items": [...],
"resumeToken": "eyJ..."
}
}
继续执行需调用:
$LOBSTER resume --token "eyJ..." --approve yes
# 列出最近的 PR,筛选已合并项,并以表格形式展示
$LOBSTER 'exec --json --shell "gh pr list --repo owner/repo --json number,title,state --limit 20" | where "state=MERGED" | table'
# 获取数据 → 请求审批 → 后续处理
$LOBSTER run --mode tool 'exec --json --shell "echo [{"id":1},{"id":2}]" | approve --prompt "处理这些数据?" | pick id | json'
# 与上一次运行结果对比(仅在内容变化时输出)
$LOBSTER 'exec --json --shell "gh pr view 123 --repo o/r --json state,title" | diff.last --key "pr:o/r#123" | json'
采用 YAML/JSON 格式,定义步骤、条件及审批关卡:
name: pr-review-reminder
steps:
- id: fetch
command: gh pr list --repo ${repo} --json number,title,reviewDecision
- id: filter
command: jq '[.[] | select(.reviewDecision == "")]'
stdin: $fetch.stdout
- id: notify
command: echo "待评审的 PR:" && cat
stdin: $filter.stdout
approval: required
执行方式:$LOBSTER run workflow.lobster --args-json '{"repo":"owner/repo"}'
Lobster 可通过 clawd.invoke 调用 Clawdbot 工具:
$LOBSTER 'clawd.invoke --tool message --action send --args-json "{"target":"123","message":"hello"}"'
需配置环境变量:CLAWD_URL 和 CLAWD_TOKEN。
Lobster 默认将状态存储于 ~/.lobster/state/。可通过环境变量 LOBSTER_STATE_DIR 覆盖该路径。
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习