Skip to content

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

字段类型默认值说明
modestringpolling编排模式:pollingevent_drivenhybrid
interval_secondsnumber30轮询间隔(≥ 5)

agents

字段类型默认值说明
primarystringclaude-code主要 Agent
fallbackstringcodex后备 Agent
type_mappingobject将节点类型映射到特定 Agent
fallback_chainlist有序后备链

gate_scores

字段类型默认值说明
auto_merge_thresholdnumber85自动合并分数线
human_review_thresholdnumber60需要人工评审的分数线
block_thresholdnumber40阻断进度的分数线

阈值必须满足:auto_merge ≥ human_review ≥ block

hooks

钩子命令经过白名单校验以确保安全。允许的前缀包括:

  • npm install/ci/run/testyarn install/run/testpnpm install/run/test
  • pip installpoetry install/run
  • python -m pytest/ruff/mypy
  • go mod/build/test/vet
  • makegitdocker run
  • mvngradlecargo

设置 hooks.allow_custom: true 可绕过白名单(需要管理员权限)。

钩子触发时机示例
pre_task每个任务之前npm install
post_task每个任务之后npm run format
test测试执行npm test
lintLint 执行npm run lint
build构建执行npm run build

sandbox

字段类型默认值说明
enabledbooleanfalse启用 Docker 沙箱运行测试
base_imagestring自动检测使用的 Docker 镜像
memorystring2g容器内存限制
cpusnumber/string2容器 CPU 限制
networkstringnone网络模式(none 表示隔离)

daemon

字段类型默认值说明
selection_strategystringleast_loaded选择策略:least_loadedround_robinaffinityrandom
prefer_agent_matchbooleantrue优先选择匹配 Agent 的守护进程
locality_awarebooleanfalse优先选择靠近 Git 仓库的守护进程

热重载

WORKFLOW.md 在检测到变更时自动重载。如果新配置无效:

  • 旧配置保持生效
  • 无效快照以 invalid 状态存储
  • 发布警告事件

Forgexa — AI 软件工厂