Error Guard — Control‑Plane Safety

🛡️ 系统级死锁防护与紧急恢复

系统级安全技能,防止 Agent 死锁与冻结,提供非阻塞的紧急状态检查、任务取消与恢复命令

收藏
10.1k
安装
3.2k
版本
1.0.0
CLS 安全性认证2026-05-09
点击查看完整报告 >

使用说明

核心用法

error-guard 是 OpenClaw 的控制平面安全原语,专为长时运行或高风险工作负载设计。其核心命令包括:

  • /status:常数时间返回系统健康状态,包括活跃任务列表、启动时间、最后心跳及停滞任务标记,绝不调用模型或外部 API
  • /flush:紧急停止命令,立即取消所有任务、终止进程会话、清空消息队列、重置任务注册表,保证必响应、无等待
  • /recover:安全恢复序列,依次执行 flush、重置控制平面状态,可选重载技能而无需重启容器

显著优点

1. 非阻塞设计:主 Agent 永不执行长时操作,杜绝外部 I/O 和 LLM 调用导致的冻结
2. 故障优先:所有恢复命令强制响应,确保极端情况下仍可操作

3. 最小状态追踪:仅记录任务元数据(taskId、时间戳、状态),不存储任何业务载荷

4. 事件驱动架构:Worker 异步上报,控制平面监听,避免轮询开销

潜在局限

  • 高级用户专用:需理解 OpenClaw 执行模型,误用可能导致正常任务被误杀
  • 功能极简:无业务逻辑、无后台监控、无用户界面,仅提供底层原语
  • 扩展未实现:子 Agent 运行器、任务看门狗、结构化事件协议等仍处于规划阶段

适合人群

  • 实现长时任务、子 Agent、基准测试或后台监控(如 Moltbook、PNR 检查)的开发者
  • 需要系统级紧急恢复能力的运维人员
  • 运行可能阻塞、挂起或长时间执行工作负载的高级用户

常规风险

| 风险项 | 说明 |
|--------|------|
| 误操作数据丢失 | /flush 强制终止所有任务,未保存的进度将丢失 |
| 状态不一致 | 快速恢复后可能需要手动校验业务状态 |
| 学习成本 | 控制平面概念对普通用户门槛较高 |

安全解读

核心用法

error-guard 是 OpenClaw 生态系统的控制平面安全基础设施,专为防止 Agent 死锁、冻结和不可恢复状态而设计。核心能力通过三条极简命令实现:

  • `/status` —— 恒定时间返回系统健康状态,包括活跃任务列表、启动时间、最后心跳及停滞/逾期任务标记。完全不调用模型或外部 API。
  • `/flush` —— 紧急停止:立即取消所有活跃任务、终止执行会话、清空消息队列、重置内存任务注册表。设计为必须始终响应,不等待 Worker、不调用模型。
  • `/recover` —— 安全恢复序列:先执行 /flush,再重置控制平面状态,可选重载技能/状态而无需重启容器。

显著优点

1. Fail-safe 优先设计:所有命令均为非阻塞、非 LLM 调用,确保系统在最极端情况下仍能响应恢复指令。
2. 零敏感数据存储:仅保留 taskId、timestamps、state 等最小元数据,不存储 payloads、prompts、messages 或模型输出,隐私风险极低。

3. 无供应链攻击面:依赖极少,仅使用 @openclaw/sdk 和 Node.js 内置模块(fs、path),无第三方依赖包。

4. T1 级官方来源:由 OpenClaw 官方生态维护,MIT 许可证,文档透明完整。

潜在局限

  • 类型定义待完善:部分 import 使用 as any 断言,需补充 @openclaw/sdk 的 TypeScript 类型定义。
  • 状态路径硬编码STATE_PATH 使用 process.cwd() 拼接,建议通过环境变量支持自定义。
  • 示例代码需替换moltbook-worker.tsbenchmark-worker.ts 含模拟延迟/随机数据,生产部署前需替换真实实现。

适合人群

  • 运行长时任务、子 Agent、基准测试或后台监控(如 Moltbook、PNR checks)的高级用户
  • 需实现高可用 Agent 系统的架构师与运维工程师
  • 理解 OpenClaw 执行模型、需要最后一道防线的生产环境部署者

常规风险

该 Skill 自身风险极低(S+ 安全评级),但作为系统控制平面,误用 `/flush` 可能导致正在进行的任务被强制终止。建议在自动化流程中配合 /status 健康检查,避免对关键业务任务误触发紧急停止。

Error Guard — Control‑Plane Safety 内容

手动下载zip · 7.2 kB
benchmark-worker.tstext/plain
请选择文件