跳到主要内容

动作工作流

动作工作流是 Monoceros 的核心执行单元。你可以在 workflow/action/ 目录下用 YAML 定义工作流,每个文件描述一条节点链,节点按顺序执行并共享上下文变量。

基本结构

resource-version: 1
id: combat.hit-feedback
failure-policy: continue
nodes:
- id: log-hit
type: log
message: "战斗命中反馈触发"
- id: set-damage
type: set
key: damage
value: 10
- id: run-script
type: script
script: action.combat.hit-feedback

YAML 字段说明

字段说明
resource-version资源版本号,当前为 1
id工作流 ID,全局唯一,建议使用 域.名称 格式
failure-policy节点执行失败时的处理策略
nodes有序节点列表

每个节点包含以下基础字段:

字段说明
id节点 ID,在当前工作流内唯一
type节点类型,决定执行逻辑
其他字段由节点类型决定的配置参数

失败策略

当某个节点执行出错时,failure-policy 决定工作流的行为:

策略行为
STOP立即中止整个工作流
CONTINUE忽略错误,继续执行后续节点
SKIP_NODE跳过出错的节点,继续执行下一个

节点执行与上下文

所有节点按定义顺序依次执行,共享同一个上下文(Context)。上下文是一个键值存储空间,节点可以通过 set 节点写入变量,后续节点可以读取这些变量。

每个节点执行后会产生一个结果,决定工作流的下一步行为:

结果行为
Continue继续执行下一个节点
Delay异步等待指定时间后继续
Branch条件跳转到其他工作流
Break立即中止当前工作流

文件组织

工作流文件放在 workflow/action/ 目录下,支持子目录。文件名不影响工作流 ID,ID 由 YAML 中的 id 字段决定。

workflow/
action/
combat/
hit-feedback.yml
skill-chain.yml
region/
enter-dungeon.yml

所有工作流支持热重载,修改文件后执行重载命令即可生效。

完整的内建节点列表见 内建节点