OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  lobster-jobs:将 OpenClaw 的 Cron 任务转化为 Lobster 工作流

lobster-jobs:将 OpenClaw 的 Cron 任务转化为 Lobster 工作流

 
  type ·  2026-02-19 03:50:01 · 3 次点击  · 0 条评论  

名称: lobster-jobs
描述: 将 OpenClaw 定时任务转换为 Lobster 工作流。分析、检查并验证任务迁移。适用于将自动化任务转换为具备确定性、审批门控和可恢复执行能力的工作流。
元数据:
openclaw:
emoji: 🦞
requires:
bins: ["openclaw", "python3"]


lobster-jobs

将 OpenClaw 定时任务转换为具备审批门控和可恢复执行能力的 Lobster 工作流。

目的

OpenClaw 定时任务分为两类:
- systemEvent:简单的 Shell 命令(完全确定性)
- agentTurn:生成 AI 代理的自然语言指令(灵活但消耗大量 Token)

Lobster 工作流提供:
- 确定性执行:每个步骤无需 LLM 重新规划
- 审批门控:需要用户明确批准的硬性停止点
- 状态化执行:记录游标/检查点
- 可恢复性:可从暂停处精确恢复执行

本技能用于分析现有的定时任务,并将其转换为 Lobster 工作流。

命令

第一层级(现已可用)

lobster-jobs list

列出所有定时任务及其 Lobster 迁移就绪度评分。

输出分类:
- ✅ 完全可迁移:简单的 Shell 命令(systemEvent)
- 🟡 部分可迁移:混合了确定性步骤和 LLM 步骤(agentTurn)
- ❌ 不可迁移:需要大量 LLM 推理

lobster-jobs inspect <job-id>

检查指定的定时任务,提供详细的迁移评估。

显示内容:
- 任务元数据(计划、目标、负载类型)
- Lobster 迁移状态及原因
- 负载预览
- 迁移建议

lobster-jobs validate <workflow-file>

根据模式验证 Lobster 工作流 YAML 文件。

检查项:
- 必填字段(名称、步骤)
- 步骤结构(id、command)
- 审批门控语法
- 条件语法

第二层级(现已可用)

lobster-jobs convert <job-id>

将定时任务转换为 Lobster 工作流。

lobster-jobs convert 17fe68ca
lobster-jobs convert 17fe68ca --output-dir ~/workflows
lobster-jobs convert 17fe68ca --force  # 覆盖现有文件

生成内容:
- .lobster 工作流文件,位于 ~/.lobster/workflows/
- 从 systemEvent 或 agentTurn 负载中提取命令
- 自动验证生成的工作流

选项:
- --output-dir, -o:自定义输出目录
- --force, -f:覆盖现有工作流
- --keep-on-error:即使验证失败也保留文件

lobster-jobs new <name>

使用模板从头创建新的 Lobster 工作流。

lobster-jobs new my-workflow
lobster-jobs new my-workflow --template with-approval
lobster-jobs new my-workflow --template stateful

模板:
- simple-shell:基本命令执行
- with-approval:包含审批门控的工作流
- stateful:包含游标/状态跟踪的工作流

安装

# 添加到 PATH
export PATH="$PATH:/home/art/niemand/skills/lobster-jobs/bin"

# 或创建符号链接
ln -s /home/art/niemand/skills/lobster-jobs/bin/lobster-jobs ~/.local/bin/

快速开始

# 查看所有定时任务及其迁移状态
lobster-jobs list

# 检查特定任务
lobster-jobs inspect 17fe68ca

# 将任务转换为 Lobster 工作流
lobster-jobs convert 17fe68ca

# 使用模板创建新工作流
lobster-jobs new my-workflow --template with-approval

# 验证工作流文件
lobster-jobs validate ~/.lobster/workflows/my-workflow.lobster

工作流文件格式

名称: my-workflow
**描述:** 可选描述

steps:
  - id: fetch_data
    command: some-cli fetch --json

  - id: process
    command: some-cli process
    stdin: $fetch_data.stdout

  - id: approve_send
    command: approve --prompt "发送通知?"
    approval: required

  - id: send
    command: message.send --channel telegram --text "完成!"
    condition: $approve_send.approved

迁移策略

包装器方法(推荐)

保留 cron 作为调度器,将负载修改为调用 Lobster:

{
  "payload": {
    "kind": "systemEvent",
    "text": "lobster run ~/.lobster/workflows/my-workflow.lobster"
  }
}

优点:
- 回滚简单(恢复负载即可)
- 支持增量迁移
- 已有的 cron 调度机制保持不变

处理 LLM 判断

对于需要确定性步骤和 LLM 推理的任务:

steps:
  - id: gather
    command: gh issue list --json title,body

  - id: triage
    command: clawd.invoke
    prompt: "根据紧急程度对这些问题进行分类"

  - id: notify
    command: telegram-send

工作流本身是确定性的;LLM 步骤被视为一个黑盒。

边界情况处理

问题 处理方式
幂等性 工作流跟踪步骤完成状态;重启安全
审批超时 可配置超时时间及默认操作
密钥处理 使用环境变量或 1Password 引用
部分失败 convert 命令在写入前会进行验证

参考

  • Lobster: https://github.com/openclaw/lobster
  • Lobster VISION: https://github.com/openclaw/lobster/blob/main/VISION.md
3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor