WORKFLOW.md 配置
每个项目可以在仓库根目录放置 WORKFLOW.md 文件,配置 AI Agent 行为、质量门禁、钩子等。
格式
WORKFLOW.md 使用 YAML front-matter 进行配置:
markdown
---
orchestration:
mode: polling
interval_seconds: 30
agents:
primary: claude-code
fallback: codex
type_mapping:
design: claude-code
coding: claude-code
testing: claude-code
review: claude-code
fallback_chain:
- claude-code
- codex
- opencode
gate_scores:
auto_merge_threshold: 85
human_review_threshold: 60
block_threshold: 40
hooks:
pre_task:
- npm install
test:
- npm test
lint:
- npm run lint
build:
- npm run build
limits:
max_parallel_tasks: 3
daemon:
selection_strategy: least_loaded
prefer_agent_match: true
sandbox:
enabled: true
base_image: node:22-alpine
memory: 2g
cpus: 2
network: none
---
# 项目工作流
关于项目工作流的额外 Markdown 文档写在这里。配置段
orchestration
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
mode | string | polling | 编排模式:polling、event_driven、hybrid |
interval_seconds | number | 30 | 轮询间隔(≥ 5) |
agents
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
primary | string | claude-code | 主要 Agent |
fallback | string | codex | 后备 Agent |
type_mapping | object | — | 将节点类型映射到特定 Agent |
fallback_chain | list | — | 有序后备链 |
gate_scores
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
auto_merge_threshold | number | 85 | 自动合并分数线 |
human_review_threshold | number | 60 | 需要人工评审的分数线 |
block_threshold | number | 40 | 阻断进度的分数线 |
阈值必须满足:auto_merge ≥ human_review ≥ block。
hooks
钩子命令经过白名单校验以确保安全。允许的前缀包括:
npm install/ci/run/test、yarn install/run/test、pnpm install/run/testpip install、poetry install/runpython -m pytest/ruff/mypygo mod/build/test/vetmake、git、docker runmvn、gradle、cargo
设置 hooks.allow_custom: true 可绕过白名单(需要管理员权限)。
| 钩子 | 触发时机 | 示例 |
|---|---|---|
pre_task | 每个任务之前 | npm install |
post_task | 每个任务之后 | npm run format |
test | 测试执行 | npm test |
lint | Lint 执行 | npm run lint |
build | 构建执行 | npm run build |
sandbox
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
enabled | boolean | false | 启用 Docker 沙箱运行测试 |
base_image | string | 自动检测 | 使用的 Docker 镜像 |
memory | string | 2g | 容器内存限制 |
cpus | number/string | 2 | 容器 CPU 限制 |
network | string | none | 网络模式(none 表示隔离) |
daemon
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
selection_strategy | string | least_loaded | 选择策略:least_loaded、round_robin、affinity、random |
prefer_agent_match | boolean | true | 优先选择匹配 Agent 的守护进程 |
locality_aware | boolean | false | 优先选择靠近 Git 仓库的守护进程 |
热重载
WORKFLOW.md 在检测到变更时自动重载。如果新配置无效:
- 旧配置保持生效
- 无效快照以
invalid状态存储 - 发布警告事件