使用 Workflow Skill

工作流插件提供配套 Skill,使应用 Agent 能够基于当前应用的真实代码和已注册能力完成工作流任务。

Workflow Skill 随插件发布。插件启用时,应用会把它同步到 .agents/skills/。如果该目录缺失或明显过期,在应用根目录运行:

pnpm nocobase skills sync

.agents/skills/ 是同步生成的本地内容,下一次同步会整体替换,不要直接修改。

Skill 可以帮助完成什么

它帮助 Agent:

  • 判断业务适合工作流、普通类型化代码,还是两者结合;
  • 查找当前应用已有的工作流及其输入约定;
  • 使用当前版本的 DSL、内置节点和公开 Service API;
  • 检查其他插件是否提供了额外 Instruction;
  • 运行真实的源码检查与应用构建;
  • 在获得授权后启停、配置或手动运行工作流;
  • 根据具体版本、运行和节点尝试诊断异常。

通常无需显式指定 Skill。只要需求包含多阶段处理、条件路径、后台执行或过程观测,应用 Agent 应主动发现它。需要约束任务路径时,可以明确说:

请使用当前应用提供的 Workflow Skill 分析这个业务过程,先判断是否适合工作流,不要立即修改代码。

Skill 不会替用户补全缺失的业务规则,也不会让 Agent 跳过权限或副作用确认。人的主要职责是提供这些业务信息,并审核 Agent 的选型、风险和证据;不需要先学会 DSL 再描述需求。

判断实现方式

描述业务生命周期,而不是先指定技术方案:

客户提交入驻资料后,需要检查资料完整性、计算风险,并根据结果开通账号或标记为待处理。处理在后台完成,运营人员需要看到每次处理进行到哪一步。请检查当前应用能力,判断应该使用工作流、普通业务代码还是两者结合,并说明流程阶段、原子业务动作和当前能力限制。

理想答复应说明为什么选择工作流、哪些动作留在 Service 中、是否存在当前节点无法表达的等待或审批,以及需要确认的数据结构。

创建工作流

一个可执行的需求至少应包含触发事件、业务规则、管理员配置、真实副作用和重复事件处理。例如:

当报价提交后,在后台计算风险。风险超过管理员配置的阈值时记录为需要人工处理,否则记录为自动通过。管理员需要查看每次评估的路径和结果;同一版报价被重复提交时不能重复记录决定。请先检查报价相关的 Collection、Service 和已有节点,再实现并验证。

Agent 应自动选择工作流目录和稳定内部标识,不要求业务用户提前命名。

修改已有工作流

修改时先让 Agent 找到现有源码和版本关系:

将现有报价评估修改为:金额超过阈值并且客户风险等级为高时,记录为待人工处理。请先定位负责该业务的现有工作流和 Service,说明本次变化对输入、参数、节点结果及已发布版本的影响,再修改、测试和构建新版本。不要修改历史运行记录。

标题相似时,Agent 应通过工作流源码目录、标题、说明和节点来消除歧义,而不是猜测数据库 ID。

接入业务事件

创建流程并不会自动监听业务事件。继续要求 Agent 接入真实业务代码:

把报价提交成功事件接入现有报价评估流程。请从工作流源码读取输入约定,使用同一版报价的稳定事件标识处理重试,分别处理 accepted 和 skipped,并补充测试。不要新增通用公开触发接口。

如果用户没有提供内部工作流名称,Agent 应枚举当前应用的工作流目录,按标题和说明匹配业务含义。

诊断运行异常

诊断请求应提供运行 ID,或者提供足以唯一定位运行的工作流、时间和业务事件:

请使用 Workflow Skill 诊断运行 <运行 ID>。确认它实际使用的版本和执行路径,找到第一个失败的叶子节点,查看该节点的最新尝试、错误和日志,并区分根因与父节点传播错误。只读取证据,不要重新运行、修改参数或改写数据。

诊断与恢复是两步。需要重跑、启用版本或修改参数时,应在诊断完成后单独授权。

如何审核

检查 Agent 是否明确报告:

  • 工作流与普通业务代码的职责边界;
  • 实际读取过的 Collection、Service 和插件能力;
  • 每次运行输入与管理员参数的区别;
  • 使用的节点类型是否已在应用中注册;
  • 业务副作用如何保证幂等,失败后如何重试或补偿;
  • 实际运行了哪些检查、测试、构建和必要的运行验证;
  • 哪些数据库、外部系统或运行时行为尚未验证。

这是 Agent 开发任务的集中审核清单。其他页面只会补充各专题特有的检查项。不要把“代码看起来正确”当成构建和运行证据。

常见问题

Agent 没有使用工作流怎么办

先看它的理由。原子、同步且无需运行记录的操作本来就更适合普通代码。如果业务确实需要持久化过程、条件路径或运营观测,补充这些要求,让 Agent 重新进行架构判断。

Agent 使用了当前应用不存在的节点怎么办

要求 Agent 读取当前应用已安装插件的公开导出和 Workflow Skill,确认源码检查、Artifact 构建与运行时都注册了该 Instruction。缺失时应改用已有能力、实现可复用扩展,或重新设计流程,不能仅凭节点名称继续编码。

Agent 只报告成功但没有提供检查证据怎么办

要求它逐项列出实际执行的命令、退出结果和跳过原因。至少应区分 DSL 检查、Run 模块的应用类型检查、测试与完整构建。