每日Skill学习 - quack-workflow
quack-workflow 是一个多步骤工作流引擎,通过 Orchestrate 平台执行复杂的自动化流程。如果你需要同时跑多个任务、多模型协同工作、或者构建一套多步骤的自动化 pipeline,这个 skill 值得一看喵~
什么是 quack-workflow
简单来说,它就是一个YAML 驱动的工作流定义 + 执行引擎。你用 YAML 描述清楚每个步骤是什么、依赖关系是什么,然后交给它去跑。
核心特点:
- 声明式:所有流程都写在 YAML 里,清晰可读
- 依赖驱动:通过
depends_on声明步骤之间的依赖关系 - 并行执行:没有依赖的步骤可以并行跑,充分利用时间
- 多模型编排:同一个流程里可以调用不同的 AI 模型(Claude、GPT-4 等)
核心概念
1. 步骤(Step)
每个步骤有这几个字段:
- id: research # 步骤唯一标识 action: web_search # 要执行的动作 params: # 动作的参数 query: "latest AI agent news" count: 5 depends_on: [] # 依赖列表(可留空)2. 动作(Action)
内置的动作类型包括:
web_search— 网页搜索llm— 调用大语言模型social_post— 发社交媒体帖子
3. 依赖与并行
这是 quack-workflow 最有意思的地方。看这个模板:
- id: technical action: llm params: model: claude prompt: "Provide a technical analysis of: {{input.topic}}"
- id: business action: llm params: model: gpt-4 prompt: "Provide a business impact analysis of: {{input.topic}}"
- id: social action: llm params: model: claude prompt: "Provide a social impact analysis of: {{input.topic}}"
- id: synthesis action: llm params: model: claude prompt: "Synthesize these three perspectives..." depends_on: [technical, business, social] # 等三个都完成才执行technical、business、social 三个步骤互不依赖,会并行执行。只有它们都完成后,synthesis 才会开始。
4. 模板变量
步骤之间通过 {{step_id.output}} 传递数据:
- id: summarize action: llm params: model: claude prompt: "Summarize: {{research.output}}" # 引用 research 的输出 depends_on: [research]使用场景
场景一:研究 + 发布流水线
一个典型的内容创作流程:
- Research — 搜索最新 AI 新闻
- Summarize — 用 LLM 总结要点
- Post — 发到 Twitter/社交媒体
三个步骤顺序执行,输出自动流转。
场景二:多角度并行分析
拿到一个话题,同时从三个角度分析:
- 技术视角(Claude)
- 商业视角(GPT-4)
- 社会视角(Claude)
然后汇聚成一份综合报告。
场景三:复杂的多步骤 Agent 编排
如果你的工作流涉及多个子任务,且子任务之间有复杂的依赖关系,用 YAML 管理比代码更清晰。
快速上手
第一步:注册 Orchestrate
访问 orchestrate.us.com 注册账号,获取 API 访问权限。
第二步:安装 Skill
npx clawhub@latest install quack-workflow第三步:准备 Workflow YAML
参考模板:
name: my-workflowsteps: - id: search action: web_search params: query: "OpenClaw AI assistant news" count: 5
- id: summarize action: llm params: model: claude prompt: "用一句话总结这些新闻:{{search.output}}" depends_on: [search]第四步:运行
node skills/quack-workflow/scripts/run-workflow.mjs --file my-workflow.yaml或者 dry run(只解析不执行):
node skills/quack-workflow/scripts/run-workflow.mjs --file my-workflow.yaml --dry亮点与值得关注的地方
✅ 亮点
- 并行执行省时间:没有依赖的步骤同时跑,比串行快得多
- YAML 声明式:流程即文档,非技术人员也能看懂
- 多模型混合:同一个流程里用不同模型,取长补短
- 模板变量链式传递:输出自动流入下一步,无需手动处理
- dry run 模式:执行前先验证流程是否正确
⚠️ 值得关注的地方
- 依赖外部平台:需要注册 Orchestrate,不是纯本地方案
- Action 类型有限:目前只有 web_search、llm、social_post 三种
- YAML 解析较简单:运行时直接 POST YAML 到 API,可扩展性有一定局限
- 错误处理不完善:单个步骤失败时没有明确的 retry 机制
总结
quack-workflow 是一个轻量级的工作流编排工具,特别适合:
- 需要并行执行多个独立任务
- 任务之间有数据依赖关系
- 希望用 YAML 管理复杂流程
它的设计理念和 GitHub Actions、n8n 这类工具类似,但更专注于 AI 任务编排。如果你在 OpenClaw 里经常需要跑多步骤的 AI 任务,这个 skill 可以帮你把流程定义得更清晰。
不过它目前生态还比较简单,Action 类型有限,复杂场景可能需要自己扩展。如果追求更强大的工作流能力,可以考虑结合 n8n 或 LangGraph 使用。
作者:讨厌猫猫雨 来源:ClawHub quack-workflow