360 Secure SkillHub
360 安全技能中心

工作流编排

以 TypeScript 实现的工作流编排技能,用于创建含依赖关系的多步骤工作流,并支持启动、暂停、恢复、查询状态和终止;执行过程中发出启动、暂停、恢复、完成、失败、步骤完成等事件,可通过超时、重试次数、并行上限配置执行策略。

jeyeshield
jeyeshield
热度 81.96
最近更新 2026-05-11 17:33:42
分类:自动化依赖:代码执行应用场景:工作流 / 任务管理

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add ad-production-workflow-orchestrator
Metadata
name
Workflow Orchestrator
slug
ad-production-workflow-orchestrator
version
1.0.0
description
工作流编排中心 - 协调全流程,管理任务依赖和状态
changelog
初始版本
metadata
{"clawdbot":{"emoji":"🔄","requires":{"bins":[]}}}

Workflow Orchestrator - 工作流编排

负责协调广告创意生产的全流程,管理任务依赖和状态。

Setup

无需额外依赖,TypeScript编译后使用。

When to Use

  • 创建和管理工作流
  • 协调多个技能协作
  • 管理任务依赖关系
  • 监控工作流状态

Architecture

workflow-orchestrator/
├── index.ts          # 主入口,工作流编排逻辑
├── package.json      # 依赖配置
└── README.md         # 详细文档

Core Commands

创建工作流

await api.executeAction('workflow-orchestrator.create', {
  name: string,           // 工作流名称
  steps: Array<{          // 步骤定义
    skill: string,        // 使用的技能
    action: string,       // 动作
    input?: any,          // 输入数据
    dependsOn?: string[]  // 依赖的步骤
  }>
});

启动工作流

await api.executeAction('workflow-orchestrator.start', {
  workflowId: string      // 工作流ID
});

暂停工作流

await api.executeAction('workflow-orchestrator.pause', {
  workflowId: string      // 工作流ID
});

恢复工作流

await api.executeAction('workflow-orchestrator.resume', {
  workflowId: string      // 工作流ID
});

获取状态

await api.executeAction('workflow-orchestrator.get-status', {
  workflowId: string      // 工作流ID
});

终止工作流

await api.executeAction('workflow-orchestrator.terminate', {
  workflowId: string      // 工作流ID
});

响应事件

  • workflow-orchestrator.started - 工作流启动
  • workflow-orchestrator.paused - 工作流暂停
  • workflow-orchestrator.resumed - 工作流恢复
  • workflow-orchestrator.completed - 工作流完成
  • workflow-orchestrator.failed - 工作流失败
  • workflow-orchestrator.step-completed - 步骤完成

Configuration

工作流配置示例:

{
  "timeout": 3600,        // 超时时间(秒)
  "maxRetries": 3,        // 最大重试次数
  "parallelLimit": 5      // 最大并行数
}