核心用法
context-verifier 是一套用于文件完整性验证的基础层技能,通过显式命令调用(/cv)实现以下功能:
| 子命令 | 功能 |
|--------|------|
| `/cv hash <file>` | 计算文件 SHA-256 哈希值 |
| `/cv verify <file> <hash>` | 验证文件是否与预期哈希匹配 |
| `/cv tag <file>` | 按关键程度标记文件(critical/important/minor)|
| `/cv packet <files>` | 创建包含哈希、标记、时间戳的上下文包 |
典型工作流
# 编辑前保存哈希 /cv hash src/main.go # 得到 a1b2c3... # 编辑前验证未变更 /cv verify src/main.go a1b2c3... # ✓ MATCH 则安全编辑
---
显著优点
1. 纯本地处理:SHA-256 计算完全本地执行,文件内容绝不发送至任何模型、API 或外部服务
2. 零依赖基础层:作为 Neon Agentic Suite 的根基技能,可被其他技能安全依赖
3. 智能关键文件识别:自动识别 .env、*credentials*、*secret* 等敏感文件,标记为 critical 级别
4. 防漂移设计:专门解决"AI 操作过期数据"问题——读取后文件被修改,导致编辑冲突
5. 可配置严重度规则:通过 .openclaw/context-verifier.yaml 自定义关键文件模式
6. 审计追踪:上下文包(context packet)可用于重构操作前后的文件状态
---
潜在缺点与局限性
| 局限 | 说明 |
|------|------|
| **仅支持 SHA-256** | 明确移除 MD5/SHA-1(密码学已破解),无其他算法选项 |
| **显式调用负担** | 不会自动验证,需用户主动执行 `/cv` 命令 |
| **元数据级验证** | 仅验证哈希匹配,不验证语义正确性 |
| **无自动冲突解决** | 检测到不匹配仅警告/阻断,不提供合并方案 |
| **敏感文件误包风险** | `--include-content` 标志可将敏感内容写入磁盘,需人工规避 |
| **无加密存储** | 上下文包为明文 JSON,依赖文件系统权限保护 |
| **无自动清理** | 数据包永久保留,需手动清理 |
---
适合人群
- AI Agent 开发者:构建需要状态感知的 Agent 工作流
- 代码重构场景:大规模改动前创建快照,事后比对变更
- CI/CD 流程:验证部署前配置文件未被篡改
- 多轮对话场景:防止 LLM 在长时间对话中操作已变更的文件
- 敏感代码库:需要明确区分 critical/important/minor 文件变更影响
---
常规风险
高危操作:`--include-content`
# ⚠️ 危险:将 secrets 写入磁盘 /cv packet .env --include-content # ✓ 安全:仅存储哈希 /cv packet src/*.go --name "pre-refactor"
必做配置
必须将以下目录加入 .gitignore:
output/context-packets/
权限建议
- 限制
output/目录权限(非全局可读) - 敏感环境使用加密文件系统
- 定期清理历史数据包
设计特性风险
> 与其他技能不同,context-verifier 会读取任意用户指定的文件路径(不仅限于元数据声明的路径)。这是验证功能的必要设计,但意味着 /cv hash ~/myfile 会实际读取该文件——即使它包含敏感数据。