mcpField
C
clawflows

clawflows

github.com/alphaonedevAgent 工作流147 次安装
代码仓库

关于 clawflows

clawflows 是一项用于在 OpenClaw 中定义和运行多步骤工作流的技能。它支持条件步骤、事件触发器、定时安排和重试,并提供命令行与 API 的使用方式。

主要功能

  1. 01用 JSON 或 YAML 定义工作流
  2. 02条件步骤
  3. 03Webhook 和文件触发器
  4. 04Cron 风格的定时安排
  5. 05可配置的重试

适用场景

  1. 01安排定期数据备份
  2. 02在文件变更时处理文件
  3. 03跨 OpenClaw 工具运行条件流程

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill clawflows

安装后在 Claude Code 中输入/clawflows确认已加载。

详细介绍

clawflows

用途

此技能通过定义多步骤任务链,并加入条件逻辑、触发器和调度,自动化 OpenClaw 中的工作流,从而简化复杂操作。

适用场景

当需要执行重复的任务序列时使用此技能,例如处理数据管道、进行条件判断(如文件存在时执行)、设置事件驱动触发器(如收到 API 调用时触发)或安排定时任务(如每日生成报告)。在需要编排的场景中使用,例如集成多个 OpenClaw 工具或外部服务。

主要功能

  • 定义任务链:在 JSON 配置中指定步骤,例如 {"steps": [{"name": "step1", "action": "run_script"}, {"name": "step2", "action": "send_email"}]}
  • 条件逻辑:在配置中使用 if-else,例如 {"condition": "if status == 'success' then next: step2 else: abort"}
  • 触发器:设置基于事件的触发器,例如 Webhook 或文件变更,如通过 {"trigger": {"type": "http", "endpoint": "/webhook"}}
  • 调度:使用 cron 风格的计划,例如 {"schedule": "0 0 * * *"} 表示每天午夜运行
  • 错误恢复:内置失败步骤重试功能,可逐步配置

使用模式

要创建并运行工作流,首先定义配置文件(JSON/YAML),然后使用 CLI 或 API 执行。对于简单流程,直接使用 CLI;对于程序化使用,通过 API 集成。始终设置用于身份验证的环境变量,例如 export CLAWFLOWS_API_KEY=$SERVICE_API_KEY。安排流程前,先单独测试。常见模式:加载配置、验证、运行并监控输出。

常用命令/API

使用 OpenClaw CLI 执行快速操作:

  • 创建流程:clawflows create --name myworkflow --config path/to/config.json --cluster community
  • 运行流程:clawflows run --flow-id 123 --env VAR=VALUE(输出状态 JSON)
  • 安排流程:clawflows schedule --flow-id 123 --cron "0 9 * * *" --trigger-type http
  • API 端点:POST /api/workflows 用于创建(请求体:{"name": "myworkflow", "steps": [...] }),GET /api/workflows/{id} 用于获取 Python API 调用代码片段:
import requests
headers = {"Authorization": f"Bearer {os.environ['CLAWFLOWS_API_KEY']}"}
response = requests.post("https://api.openclaw.com/api/workflows", headers=headers, json={"name": "test", "steps": [{"action": "echo hello"}]})
print(response.json())

配置格式示例(JSON): { "steps": [ {"name": "step1", "action": "run_command", "command": "ls -l"}, {"name": "step2", "condition": "step1.success", "action": "log_message", "message": "Success!"} ] }

集成说明

通过在步骤操作中引用其他 OpenClaw 技能,将 clawflows 与其集成,例如 {"action": "call_skill", "skill_id": "another_skill"}。进行身份验证时,在 API 请求中使用 $CLAWFLOWS_API_KEY 等环境变量。与外部工具组合时,通过 JSON 路径映射输出,例如在配置中使用:{"input_mapping": {"var1": "$.output.data"}}。在命令中指定集群以确保兼容性,例如 --cluster community。对于 Webhook,公开一个端点,通过 POST /api/triggers/{flow-id} 触发流程。

错误处理

常见错误包括身份验证失败(HTTP 401)、配置无效(例如 JSON 语法错误)或步骤超时。处理方法:运行前检查 $CLAWFLOWS_API_KEY;使用 clawflows validate --config path/to/config.json 尽早发现问题。在代码中,使用 try-except 块包装 API 调用:

try:
    response = requests.post("https://api.openclaw.com/api/workflows", headers=headers, json=data)
    response.raise_for_status()
except requests.exceptions.HTTPError as e:
    print(f"Error: {e.response.status_code} - {e.response.text}")

对于运行时错误,可在配置中设置重试,例如 {"step": {"action": "...", "retries": 3, "timeout": 30}}。使用 clawflows logs --flow-id 123 监控日志,并通过条件步骤在发生严重故障时中止。

具体用法示例

示例 1:自动执行数据备份流程。创建配置文件:{"steps": [{"name": "backup", "action": "run_command", "command": "rsync /data/ backup-server:"}, {"condition": "backup.success", "action": "send_email", "to": "[email protected]", "subject": "Backup complete"}]} 然后运行:clawflows create --name backupflow --config backup.json 并设置计划:clawflows schedule --flow-id 456 --cron "0 2 * * *" 示例 2:文件变更时触发工作流。定义:{"trigger": {"type": "file_watch", "path": "/monitored/dir"}, "steps": [{"action": "process_file", "file": "$.trigger.file"}]} 通过 API 执行:使用此配置向 POST /api/workflows 发送请求,然后使用 clawflows run --flow-id 789 --watch 监控。

图关系

  • 关联:openclaw-core(用于基本任务执行)、openclaw-triggers(用于事件处理)、community-cluster(作为生态系统的一部分)
  • 依赖:用于 API 访问的身份验证服务
  • 集成:通过步骤连接外部 API,例如用于获取数据或发送通知

评论

支持 Markdown