Version: 2.0.0
AgentSkills: v1.1.0
Author: OpenClaw Community
Created: 2026-03-28
Updated: 2026-03-29
Test-Driven Revolution (TDR) 是一个 测试驱动的 AI 自动进化系统:
text
AI 写代码 → AI 测试 → AI 改 bug → 测试通过 → 下一轮
与 Auto Revolution 的关系:
触发方式对比:
系统触发方式适用场景TDR用户说"用 TDR 创建 XX"主动开发新功能Auto RevolutionCron 定时任务(每 5 分钟)后台自动执行任务队列
核心工作流:
角色说明:
系统特性:
mkdir 原子操作,防止并发竞态主动触发(推荐):
"用 TDR 创建一个 HTTP 服务器""启动 TDR,做个报价单生成器""运行进化系统,开发 XX 功能""创建 TDR 任务"不要触发(直接执行):
"创建一个频道" → 直接调用 message 工具"给张三发邮件" → 直接调用邮件工具"查天气" → 直接调用 weather 工具"创建文件" → 直接写文件场景示例推荐流程复杂功能开发"用 TDR 做个邮件自动回复系统"完整流程代码生成 + 测试"用 TDR 创建 API 客户端,带单元测试"完整流程多步骤任务"用 TDR 开发完整的 CRUD 接口"完整流程需要质量保证"用 TDR 开发支付模块"高级流程文档更新"用 TDR 补齐 references 文档"简化流程Bug 修复(紧急)"用 TDR 修复登录漏洞"简化流程
场景正确做法原因简单操作直接调用工具不需要迭代测试一次性任务直接执行TDR 流程太重外部 API 调用直接调用 APITDR 不直接调外部 API日常对话正常回复不需要代码生成
步骤: Executor 直连(无审阅/审核)
模型: Executor = 默认模型
耗时: ~5 分钟/任务
成本: 🆓 免费(使用包月额度)
适用场景:
示例:
bash
node scripts/auto-plan.js "更新 references 文档"
# 自动选择:简化流程
步骤: Reviewer → Executor → Auditor
模型:
高级模型 → fallback → 备用模型默认模型高级模型 → fallback → 备用模型耗时: ~15 分钟/任务
成本: 🆓 免费(使用包月额度)
适用场景:
示例:
bash
node scripts/auto-plan.js "实现 forward 命令"
# 自动选择:完整流程
步骤: Reviewer → Executor → Auditor
模型:
顶级模型默认模型顶级模型耗时: ~15 分钟/任务
成本: 💰$$(按量计费,约 $0.5-2/任务)
适用场景:
示例:
bash
node scripts/auto-plan.js "修复 prompt injection 漏洞"
# 自动选择:高级流程
维度简单中等复杂代码量<100 行100-500 行>500 行文件数1-2 个3-5 个>5 个依赖无部分跨模块风险低中高可回滚是部分否
任务类型默认流程例外情况文档更新简化流程大规模重构→完整Bug 修复简化流程安全漏洞→高级新功能完整流程核心功能→高级代码重构完整流程核心架构→高级安全修复高级流程-批量改进简化流程影响核心→完整
全自动模式:
bash
# Step 1: 分析任务并推荐流程
node scripts/auto-plan.js "创建一个 HTTP 服务器,监听 3000 端口"
# 输出:
# 📋 任务分析
# - 复杂度:中等(预计 300 行代码,3 个文件)
# - 风险:中(新功能,不影响现有模块)
# - 时间:正常
#
# 🎯 流程推荐:完整流程
# 理由:
# 1. 新功能开发,需要质量保证
# 2. 多文件修改(route/controller/test)
# 3. 预计耗时 ~15 分钟
#
# ❓ 请选择流程:
# A. 简化流程(5 分钟,无审核)
# B. 完整流程(15 分钟,有审核)⭐ 推荐
# C. 高级流程(15 分钟,顶级模型审核,付费)
用户确认后执行:
bash
# 用户回复 "B" 或 "完整流程"
node scripts/auto-plan.js --confirm B
在 tasks/ 目录下创建 JSON 文件:
bash
cat > tasks/task-001.json << 'EOF'
{
"task_id": "task-001",
"title": "手动创建的任务",
"description": "任务描述",
"status": "pending",
"priority": "P1",
"flow": "full",
"subtasks": [
{
"id": 0,
"title": "子任务 1",
"description": "描述"
}
]
}
EOF
flow 字段可选值:
simplified - 简化流程full - 完整流程advanced - 高级流程bash
# 自动执行(按任务配置的 flow 字段)
node scripts/auto-execute.js task-001
# 手动指定流程
node scripts/auto-execute.js task-001 --flow full
位置: config/models.json
json
{
"roles": {
"reviewer": {
"primary": "高级模型",
"fallback": "备用模型"
},
"executor": "默认模型",
"auditor": {
"primary": "高级模型",
"fallback": "备用模型"
}
},
"timeouts": {
"reviewer": 300,
"executor": 300,
"auditor": 180
},
"enforceAudit": true,
"executorDefault": "默认模型"
}
特性简化流程完整流程高级流程步骤ExecutorReviewer→Executor→AuditorReviewer→Executor→AuditorExecutor默认模型默认模型默认模型Reviewer-高级模型顶级模型Auditor-高级模型顶级模型耗时5m15m~15m成本🆓🆓💰$$成功率~80%~90%~95%适用文档/简单 Bug新功能/重构核心/安全
rm -rf、 DROP TABLE 等text
审核失败 → current_iteration++ → 打回 Executor 重做
最多 3 次迭代 → 标记 failed → 人工介入
text
超时 → 重试(最多 2 次) → 切换 fallback 模型 → 仍失败则标记 failed
text
401 认证失败 → 切换 fallback 模型 → 记录错误日志
好:
json
{
"subtasks": [
{"title": "创建 HTTP 服务器", "description": "监听 3000 端口"},
{"title": "添加路由", "description": "GET /health, GET /api/data"},
{"title": "编写测试", "description": "单元测试覆盖率>80%"}
]
}
不好:
json
{
"subtasks": [
{"title": "完成整个项目"} // 太笼统
]
}
版本日期更新内容2.0.02026-03-29添加任务难度分析、三种流程模式、用户选择机制1.0.02026-03-28初始版本
最后更新: 2026-03-29
维护者: OpenClaw Community