- 新增 list_workflows / save_workflow 工具:归档式创建与覆盖, 归档时完整结构校验、覆盖前备份可恢复、name 与目录名一致性检查 - 新增内置技能 workflow-authoring:WORKFLOW.md 编写指南 + init/validate 脚本 + 节点详解与三个完整示例,skill_hints 挂载 - deactivate_workflow 挪工具循环特判层并广播摘牌快照, 修复模型自主退出后 slash 菜单与快捷卡片残留 - 工作流卡片消失改为退出动画:store exiting 状态保留快照播完动画 再清空,QuickDock hasContent 动画期间保持展开 - 运行期 workflow 通知 visibility 修正为 compact(原误走用户消息渲染) - 激活/退出通知文案中性化,不向模型透露内部操作路径 - 修复空闲对话刷新后输入栏 token 圆环无数值(bootstrapRoute 补拉取) - 修复 slash 激活工作流后输入栏 "/" 残留(跳转新对话前落盘草稿) - 侧边栏工作流导航图标放大至 20px
4.7 KiB
4.7 KiB
| name | description |
|---|---|
| workflow-authoring | 编写、创建或修改工作流(workflow)定义文件 WORKFLOW.md 时使用。工作流把一套既定流程(阶段、审核、分支、结束方式)存为可复用文档,激活后智能体按流程逐步推进。当用户要求「新建一个工作流」「写一个 xx 流程」「调整工作流结构(增删阶段/审核/分支)」,或需要排查工作流格式与校验问题时使用。附带初始化与校验脚本。 |
工作流(Workflow)文档编写指南
工作流 = 一份 WORKFLOW.md:YAML frontmatter 描述节点拓扑,markdown 正文写流程约定。核心理念:结构在边上,自主在阶段内——拓扑只约束阶段间流转,每个执行阶段内智能体自由工作,阶段完成后汇报推进。
标准创建流程
- 初始化模板:
生成python3 scripts/init_workflow.py <name> [--path <目录>] [--template linear|review|branch]<目录>/<name>/WORKFLOW.md(已存在不覆盖)。三种模板:linear 线性 / review 带审核 / branch 带分支。 - 填写内容:替换模板中所有
[方括号]占位,按需增删节点。 - 保存前自检:
有 error 级问题必须全部修掉,否则保存会被拒绝。python3 scripts/validate_workflow.py <name> - 校验通过后交由保存流程(工作流名即
<name>,合法字符:小写字母/数字/连字符,首字符为字母或数字)。
WORKFLOW.md 格式骨架
---
name: my-pipeline
description: 一句话说明这个流程干什么
review_mode: active
max_stage_rounds: 20
end_conditions: 什么算完成
nodes:
- id: start-1
kind: start
name: 开始
next: explore
- id: explore
kind: stage
name: 代码探索
goal: 理解改动范围,产出影响面清单
instructions: 先读 git diff 总览,再按模块深入;禁止通读整文件。
next: verify-gate
- id: verify-gate
kind: review
name: 验证审核
prompt: 验证证据是否真实可复现
next: end-1
reject_to: explore
max_rejects: 3
- id: end-1
kind: end
name: 结束
---
## 工作方式
先理解再动手,禁止跳过验证。
## 验证方式
构建通过 + 相关测试通过。
## 结束方式
更新文档并汇报。
--- 之后的正文会在激活时原文呈现给执行者——写各阶段通用的整体约定,别写节点级细节。
frontmatter 字段
| 字段 | 必填 | 默认 | 说明 |
|---|---|---|---|
name |
✓ | — | 小写字母/数字/连字符 |
description |
推荐 | '' |
一句话用途,出现在流程选择菜单 |
review_mode |
active |
active:审核时可查证证据;readonly:审核只看汇报与记录 |
|
max_stage_rounds |
20 |
单阶段轮数上限;撞限不停流程,只会让执行者停下来向用户确认是否继续 | |
end_conditions |
'' |
完成标准的声明性描述(展示用) | |
nodes |
✓ | — | 节点数组,五种节点见 references/nodes.md |
节点速查
| kind | 语义 | 关键字段 |
|---|---|---|
start |
入口,恰好 1 个 | next |
end |
终点,至少 1 个 | — |
stage |
执行阶段(阶段内完全自主) | goal + instructions + next |
review |
审核把关(汇报时同步审完立即走,不停留) | prompt + next + reject_to + max_rejects |
branch |
单出线=并线器自动穿过;多出线=AI 决策点(condition 必填为决策依据) |
next[](target/condition) |
字段详解与语义:见 references/nodes.md 完整示例(线性 / 带审核 / 分支+并线):见 references/examples.md
校验规则(违反即保存失败,validate 脚本同款)
name非空且合法;节点 id 全局唯一- 恰好 1 个 start;至少 1 个 end
- start/stage/review 的
next、review 的reject_to、branch 每条出线的target都必须显式连接、指向存在的节点、且不指向 start max_rejects ≥ 1;多出线 branch 的每条condition必填
写作建议
- 阶段 3~7 个为宜;
goal一句话、instructions三五条关键约束(这两者在每次推进时会全文呈现给执行者) - 需要把关就显式放 review 节点——终点前不会自动审核
reject_to指回真正能整改问题的阶段,不要指回紧邻前一站走过场- 分支
condition写给 AI 的决策依据:互斥、可判断、覆盖常见情形 - 修改已激活的工作流文档不影响正在运行的实例——运行中的实例按激活时的版本执行,需退出后重新激活才用新版本