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