📦 EVR Framework - 执行验证报告

v1.0.0

FrameworkExecute-Verify-Report 三步法工具 —— 强制 AI 遵循“执行→验证→报告”流程,杜绝“说做了其实没做”“完成了但不验证”等问题。基于 STANDING-ORDERS 核心原则设计。

18· 18·0 当前·0 累计
aptratcn 头像by @aptratcn (Erwin)·MIT
下载技能包
License
MIT
最后更新
2026/4/21
0
安全扫描
VirusTotal
无害
查看报告
OpenClaw
安全
high confidence
该技能是一个仅含指令的框架(执行→验证→报告),其内部逻辑与声明目的一致,但示例假设可通过 shell 访问本地文件,并提到一个独立的“evr”助手(未提供安装方式)——请在允许执行前审查这些操作。
评估建议
此技能主要是一套 runbook 和模板,用于强制“执行→验证→报告”流程,并围绕该目的设计。使用前请注意: 1. 按模板操作会让 agent 运行可读取、修改或删除本地文件的 shell 命令——除非信任 agent 及具体命令,否则勿以 root 或高权限运行。 2. README 提到需克隆外部 GitHub 仓库并使用 'evr' CLI 辅助工具,但技能本身未提供安装包或二进制——若决定克隆/运行该仓库,请先审阅其代码。 3. 若允许自动执行,请限制 agent 可运行的内容(沙箱、非 root 账户、命令/路径白名单)。 4. 如需更高保障,可向作者索取 'evr' 工具源码或安装说明,或仅将本技能当作手动指导模板。...
详细分析 ▾
用途与能力
名称/描述与内容相符:SKILL.md 是一个强制执行 Execute→Verify→Report 的指令模板。然而,README 和 SKILL.md 引用了外部 'evr' CLI 以及 GitHub 仓库克隆(https://github.com/aptratcn/skill-evr.git),尽管该软件包没有安装规范或附带二进制文件;这是一个小不一致(文档暗示了一个未提供的可选辅助工具)。
指令范围
该指令明确要求 agent 运行 shell 命令(rm、chmod、git、curl、systemctl 等)并读取/检查本地路径(例如 ~/.openclaw/openclaw.json)。此行为与技能目标(强制验证操作)一致,但意味着 agent 将被要求访问并修改本地系统状态,甚至可能涉及敏感文件;若严格按模板执行,将赋予其运行任意命令的广泛权限。
安装机制
无安装配置、无代码文件——安装风险最低。README 提到可选择克隆 GitHub 仓库,但 skill 本身不会自动安装或拉取代码;若用户按 README 执行克隆/安装,将引入外部代码,需自行审查。
凭证需求
该技能未声明任何必需的环境变量、凭据或配置路径。尽管如此,示例却鼓励访问本地配置和系统服务(~/.openclaw 下的文件、systemctl、删除文件)。未请求任何密钥,但运行时行为暗示可访问潜在的敏感本地数据。
持久化与权限
未请求提升权限:always 为 false,user-invocable 为 true,允许自主调用(平台默认)。该 skill 在提供的文件中不请求常驻,也不修改其他 skill 或全局 agent 配置。
安全有层次,运行前请审查代码。

License

MIT

可自由使用、修改和再分发,需保留版权声明。

运行时依赖

无特殊依赖

版本

latestv1.0.02026/4/21

首次发布到 ClawHub

无害

安装命令

点击复制
官方npx clawhub@latest install evr-xiaobai
镜像加速npx clawhub@latest install evr-xiaobai --registry https://cn.longxiaskill.com

技能文档

执行不是确认,验证不是可选,报告不是敷衍

问题背景

AI Agent 常见错误:
  • ❌ “我会做的” ≠ 做了
  • ❌ “完成了”但没有验证
  • ❌ 无限重试同一失败操作
  • ❌ 静默失败不报告

EVR 三步法从根源解决。

核心原则

| 步骤 | 含义 | 反例 | 正例 | |------|------|------|------| | Execute | 实际执行 | “我会去做的” | “已执行:date 输出 13:17:23” | | Verify | 验证结果 | “应该成功了” | “验证:文件存在,大小 2.3 KB” | | Report | 完整汇报 | “搞定了” | “执行→验证→结果→下一步” |

使用方法

方式 1:汇报模板(强制)

任务: [任务描述]  
🔧 Execute  
bash [实际执行的命令]
输出: [粘贴实际输出]  

Verify

  • 验证方法: [如何验证]
  • 验证结果: ✅通过 / ❌失败
  • 失败原因: [如果失败]

📋 Report

  • 结果: [一句话总结]
  • 数据: [具体数字/状态]
  • 下一步: [下一步行动]

方式 2:脚本辅助

# 开始任务
evr start "修复安全漏洞"

# 执行步骤 evr step "修改配置文件权限" # 自动提示: 请运行验证命令

# 验证步骤 evr verify "chmod 600 ~/.openclaw/openclaw.json" # 自动检查: 文件权限是否为 600?

# 结束任务 evr done # 生成完整 EVR 报告

失败处理

重试规则

// 最多重试 3 次
for (let attempt = 1; attempt <= 3; attempt++) {
  const result = execute(command);
  if (verify(result)) {
    report("✅ 成功", result);
    break;
  }
  if (attempt === 3) {
    report("❌ 连续 3 次失败,停止重试", result);
    escalate("需要人工干预");
  }
}

静默失败检测

# 错误示例(静默失败)
rm important-file.txt   # 文件不存在时命令仍返回 0

# EVR 正确做法 if [ -f important-file.txt ]; then rm important-file.txt # 验证: 文件是否确实被删除 if [ ! -f important-file.txt ]; then echo "✅ 验证通过: 文件已删除" else echo "❌ 验证失败: 文件仍存在" fi else echo "⚠️ 文件不存在,无需删除" fi

案例分析

案例 1:文件删除

❌ 错误方式:
用户: 删除文件  
AI: 好的,我会删除的。 [然后没做]
✅ EVR 正确方式:
🔧 Execute
$ rm /path/to/file.txt   [无输出,命令成功]

✅ Verify $ ls -la /path/to/file.txt ls: cannot access '/path/to/file.txt': No such file or directory 验证结果: ✅ 文件确实已删除

📋 Report

  • 结果: 文件删除成功
  • 数据: 删除了 1 个文件
  • 验证: 文件不存在确认
  • 下一步: 进行下一个任务

案例 2:Git 提交

❌ 错误方式:
用户: 提交更改  
AI: 好的,已提交。 [实际有未提交文件]
✅ EVR 正确方式:
🔧 Execute
$ git add -A
$ git commit -m "fix: 修复安全问题"
[master a1b2c3d] fix: 修复安全问题
 2 files changed, 15 insertions(+)

✅ Verify $ git status On branch master nothing to commit, working tree clean $ git log --oneline -1 a1b2c3d fix: 修复安全问题 验证结果: ✅ 提交成功,工作区干净

📋 Report

  • 结果: Git 提交成功
  • 数据: 2 个文件,15 行改动
  • 提交: a1b2c3d
  • 验证: working tree clean
  • 下一步: 推送到远程

集成到 AGENTS.md

## Execute-Verify-Report (EVR) 铁律

所有任务必须遵循:

  • Execute — 实际执行,不只是确认
- 必须看到命令输出 - 必须等待命令完成 - 必须捕获返回码
  • Verify — 验证结果正确
- 文件操作: 检查文件存在/内容/权限 - 网络操作: 检查响应状态码 - 系统操作: 检查进程/服务状态 - 数据操作: 检查数据准确性
  • Report — 汇报做了什么和验证结果
- 不要只说“完成了” - 要说“完成了什么,如何验证的” - 包含具体数据

禁止:

  • ❌ “我会做的” ≠ 做了
  • ❌ “完成了”但没有验证
  • ❌ 最多重试 3 次,之后必须停止
  • ❌ 静默失败

违反 EVR = 严重错误,立即纠正

最佳实践

验证方法速查

| 操作类型 | 验证命令 | 通过标准 | |---------|---------|---------| | 文件创建 | ls -la file | 文件存在 | | 文件删除 | ls file 2>&1 | 文件不存在 | | 文件修改 | cat file / md5sum | 内容/哈希匹配 | | 权限修改 | stat -c "%a" file | 权限值正确 | | Git 提交 | git status / git log | 干净/提交存在 | | 网络请求 | curl -I url | HTTP 200 | | 服务启动 | systemctl status svc | active (running) | | 进程运行 | pgrep process | 返回 PID |

报告模板

✅ [任务名] 完成  
执行: [命令]  
验证: [方法] → [结果]  
数据: [具体数字]  
下一步: [行动]  

License

MIT

--- Created by 小白 🤍 基于 STANDING-ORDERS 核心原则 "执行不是确认,验证不是可选,报告不是敷衍"

数据来源ClawHub ↗ · 中文优化:龙虾技能库