核心用法
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 权限,当前实现未明确限制访问权限。