核心用法
safety-checks 是一套用于 AI 代理运行时的安全验证套件,通过 /sc 命令提供四大子功能:
| 子命令 | 用途 | 触发条件 |
|--------|------|----------|
| `/sc model` | 验证模型版本是否与配置锁定一致 | HEARTBEAT/手动 |
| `/sc fallback` | 检查降级链路(API/模型/存储)可用性 | HEARTBEAT/手动 |
| `/sc cache` | 检测缓存条目是否超过 TTL | HEARTBEAT/手动 |
| `/sc session` | 识别跨会话状态泄漏(文件锁、孤儿文件) | HEARTBEAT/手动 |
配置通过 .openclaw/safety-checks.yaml 或 .claude/safety-checks.yaml 加载,支持严格模式(strict)控制版本漂移时的行为(警告 vs 失败)。
显著优点
1. 零外部依赖:纯指令型技能(disable-model-invocation: true),不调用任何 AI 模型或外部 API,仅读取本地配置和运行时状态
2. 事前防御:在问题发生前捕获模型漂移、缓存失效、降级链路断裂等风险
3. 工作区隔离:严格限定访问范围为 .openclaw/、.claude/ 和 output/safety/,不触碰系统环境变量或其他工具配置
4. 自动化集成:支持 HEARTBEAT 定时触发,可与 constraint-engine 联动实现强制约束
5. 多配置兼容:同时支持 OpenClaw 标准路径和 Claude Code 兼容路径
潜在缺点与局限性
- 非系统级扫描:仅检查声明的工作区路径,无法检测全局环境变量或
/tmp等系统目录的状态 - 被动检测:
/sc model读取的是代理运行时已报告的版本元数据,而非主动调用 API 验证,若代理本身报告错误版本则无法识别 - 手动降级测试:
--test参数需实际触发降级链路,在生产环境使用时需谨慎 - 依赖 constraint-engine:完整强制约束功能需额外安装
leegitw/constraint-engine
适合人群
- 运行多模型切换或 A/B 测试的 AI 工程团队
- 需要缓存一致性保障的对话系统开发者
- 对跨会话状态隔离有合规要求的金融、医疗等敏感场景
- 使用 OpenClaw/Claude Code 工作流的代理运维人员
常规风险
| 风险类型 | 说明 | 缓解措施 |
|----------|------|----------|
| 配置漂移 | 预期版本未及时更新导致误报 | 建立版本变更 SOP,结合 CI/CD 自动更新配置 |
| 误清除风险 | `/sc cache --clear` 可能删除仍在使用的缓存 | 生产环境建议先运行无 `--clear` 的检查确认 |
| 文件锁误删 | `--clear-state` 可能移除正在使用的锁文件 | 检查 PID 存在性后再操作,日志留痕 |
| 依赖循环 | 与 constraint-engine 双向依赖需确保安装顺序 | 按文档顺序安装依赖 |
来源与可信度
由 Live Neon 开发并维护(GitHub: live-neon/skills),以 MIT 协议开源,发布于 ClawHub(leegitw/safety-checks)。代码仓库公开可审计,无商业闭源组件。