error-guard

🛡️ 系统级防死锁安全控制中枢

🥥13总安装量 6评分人数 4
100% 的用户推荐

OpenClaw官方系统级控制平面技能,通过非阻塞命令防止代理死锁冻结,保障长时任务安全运行与紧急恢复。

A

基本安全,请在特定环境下使用

  • 来自可信组织或认证账号,需要结合权限范围判断
  • ✅ 最小数据收集:仅存储 taskId、state、时间戳等元数据,不收集 payload、提示词或用户敏感信息
  • ✅ 无危险代码执行:未发现 eval、new Function、动态导入等远程代码执行风险
  • ✅ 完善的错误处理:所有异步操作均有 try-catch 保护,状态持久化失败不会破坏控制平面
  • ⚠️ 外部 SDK 依赖:核心功能依赖 @openclaw/sdk,需确认其 API 安全行为和完整性校验
  • ⚠️ 进程终止副作用:flush 命令会强制终止所有活跃 exec 会话,可能导致未保存数据丢失

使用说明

核心用法

error-guard 是 OpenClaw 的系统级控制平面安全技能,专为解决代理长时间运行任务时的死锁、冻结和不可恢复状态而设计。它提供三个核心命令:

  • /status:实时报告系统健康状态和任务注册表,返回活跃任务列表、启动时间、最后心跳及停滞标记,且必须在常数时间内完成,不调用任何模型或外部 API。
  • /flush:紧急停止命令,立即取消所有活跃任务、终止执行会话、清空消息队列并重置内存中的任务注册表,确保在任何情况下都能响应。
  • /recover:安全恢复序列,依次执行 flush、重置控制平面状态,并可选择性地重新加载技能状态而无需重启容器。

该技能采用事件驱动架构,主代理永不阻塞,所有操作均为非 LLM 控制命令,适用于长时任务、子代理、基准测试、后台监控等场景。

显著优点

1. 故障安全优先:所有恢复命令设计为必须响应,即使在系统濒临冻结时也能执行紧急操作。
2. 零数据风险:明确不存储任何 payload、提示词、消息内容或模型输出,仅保留 taskId、时间戳和状态等最小元数据。

3. 架构简洁可靠:遵循最小状态原则,无业务逻辑、无后台轮询、无用户界面,专注于单一职责。

4. 性能保障:状态查询和紧急操作均为常数时间复杂度,不会因系统负载增加而降级。

潜在缺点与局限性

1. 高级用户门槛:SKILL.md 明确警告此为系统级技能,需要理解 OpenClaw 执行模型才能正确安装和使用。
2. 功能范围受限:作为"最后一道防线",刻意保持极简,不提供业务逻辑或用户-facing 功能。

3. 依赖外部 SDK:核心功能依赖 @openclaw/sdk 的 process、sessions 等 API,其安全行为需单独确认。

4. 未来扩展未实现:子代理运行辅助、任务看门狗、结构化事件协议等功能尚处于规划阶段。

适合的目标群体

  • 运行长时任务或高风险工作负载的 OpenClaw 高级用户
  • 需要实现子代理、基准测试或后台监控系统的开发者
  • 追求系统稳定性、需要紧急恢复能力的企业运维团队
  • 对代理控制平面有深度定制需求的技术架构师

使用风险

1. flush 操作的数据丢失风险:紧急停止会无条件终止所有活跃 exec 会话,未保存的工作进度将丢失。
2. SDK 依赖的供应链风险:@openclaw/sdk 的安全更新和版本兼容性需要持续关注。

3. 误操作风险:/flush 和 /recover 为破坏性操作,缺乏二次确认机制,需确保调用方有适当的权限控制。

4. 状态文件权限:state.json 持久化文件建议设置 0o600 权限,当前实现未明确限制访问权限。

error-guard 内容

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