Safety Checks

Polar Sponsor
爱发电 赞助
.NET 9.0

先验证后信任 — 模型固定、回退与运行时安全验证

安全检查(12). 运行时安全核查的统一技能,包括模式版本的夹针、倒扣链验证、缓存悬浮检测和跨会场状态检查

功能概述

安全检查(12). 运行时安全核查的统一技能,包括模式版本的夹针、倒扣链验证、缓存悬浮检测和跨会场状态检查是一项面向实际任务的技能。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

核心要点

  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

使用与执行

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

safety-checks(安全)

统一的运行时安全验证能力,涵盖模型版本锁定、回退链校验、缓存陈旧性检测及跨会话状态检查。将 4 个细粒度能力整合为一个完整的安全验证套件。

触发时机:事前检验(pre-flight)或 HEARTBEAT

源能力:model-pinner、fallback-checker、cache-validator、cross-session-safety-check(来自 extensions)

安装

openclaw install leegitw/safety-checks

依赖项:leegitw/constraint-engine(用于强制执行集成)

# 安装含依赖项的完整套件
openclaw install leegitw/context-verifier
openclaw install leegitw/failure-memory
openclaw install leegitw/constraint-engine
openclaw install leegitw/safety-checks

独立使用:模型锁定与缓存检查可独立运行;若需与约束强制执行(constraint enforcement)完全集成,则必须安装 constraint-engine。

数据处理方式:本能力仅执行本地操作。所有检查(模型版本比对、缓存时效性验证、文件锁检测)均为本地文件/元数据操作——不向任何模型、API 或外部服务发送数据。结果写入工作区中的 output/safety/ 目录。

解决的问题

AI 系统可能在无声中退化——模型版本漂移、缓存过期、会话累积状态。本能力可在问题引发实际故障前及时捕获:

  1. 模型锁定——确认你正在使用预期的模型
  2. 回退校验——确保降级模式路径存在且可用
  3. 缓存检查——识别陈旧或损坏的缓存数据
  4. 会话卫生——识别跨会话状态污染

核心洞察:运行时验证可捕获静态规则无法覆盖的问题。应检查系统实际运行状态,而不仅限于配置本身。

用法

/sc <子命令> [参数]

子命令

命令 CJK 逻辑 触发时机
/sc model 機種 model.version→pinned✓∨drift✗ HEARTBEAT
/sc fallback 代替 chain.exists→safe✓∨missing✗ HEARTBEAT
/sc cache 快取 response.age>TTL→stale✗ HEARTBEAT
/sc session 会話 cross_session.state→clean✓∨interference✗ HEARTBEAT

参数

/sc model

参数 是否必需 说明
--expected 否 预期的模型版本(默认:从配置中读取)
--strict 否 对任意版本不匹配均报错

/sc fallback

参数 是否必需 说明
--chain 否 检查配置中指定的特定回退链

注意:该命令仅校验你的配置文件中是否存在回退配置项,不会发起网络调用,也不测试实际连通性。这是一次纯配置文件审计。

/sc cache

参数 是否必需 说明
--ttl 否 TTL(秒),默认值为 3600
--clear 否 清除陈旧的缓存条目

/sc session

参数 是否必需 说明
--check-state 否 检查会话间是否存在状态泄露
--clear-state 否 清除已泄露的状态

配置

配置按以下优先级顺序加载:

  1. .openclaw/safety-checks.yaml(OpenClaw 标准)
  2. .claude/safety-checks.yaml(Claude Code 兼容性)
  3. 默认值(内置)

核心逻辑

模型版本锁定

确保 AI 模型版本与预期配置一致。

工作原理:本能力将代理(agent)会话元数据中报告的模型版本(例如 API 响应或代理头中的模型名称)与配置文件中声明的预期版本进行比对。它不会调用模型 API 进行校验,而是直接读取代理运行时已暴露的版本字符串。

模型版本格式:{provider}-{model}-{version}-{date}

示例:

  • anthropic-opus-4-5-20251101
  • openai-gpt-4-turbo-20250301
  • google-gemini-2-pro-20260101
# .openclaw/safety-checks.yaml
model:
  expected: "anthropic-opus-4-5-20251101"  # 与提供方无关的格式
  strict: true
条件 结果
版本匹配 ✓ 已锁定
版本不同,strict=false ⚠ 警告
版本不同,strict=true ✗ 失败

回退链校验

仅配置审计——仅校验配置文件中是否存在回退条目。本命令不会发起网络调用,也不测试实际连通性。

检查你的 safety-checks.yaml 是否声明了回退配置:

# 此命令校验如下配置项是否存在:
fallbacks:
  model: ["primary-model", "fallback-model", "cached"]
  storage: ["primary-path", "backup-path"]
检查项 校验内容
模型回退 配置中列出了替代模型
存储回退 配置中列出了备份路径

缓存陈旧性检测

防止使用过期的缓存数据:

缓存年龄 TTL 级别 状态
< TTL 任意 ✓ 新鲜
> TTL 非关键 ⚠ 陈旧警告
> TTL 关键 ✗ 陈旧失败

跨会话状态

检测会话之间的状态泄露:

检查项 具体检查的文件 风险
文件锁 .openclaw/safety-checks.lock 资源争用
工作区临时文件 output/safety/temp-* 磁盘耗尽
能力配置 .openclaw/safety-checks.yaml 中的值 配置漂移

作用域说明:所有检查严格限定于本能力自身所使用的文件路径。本能力不会扫描目录,不会读取其他能力的配置文件,也不会访问上述明确列出路径之外的任何文件。

输出

/sc model 输出(已锁定)

[MODEL CHECK]
Status: ✓ PINNED

Expected: anthropic-opus-4-5-20251101
Actual:   anthropic-opus-4-5-20251101

Model version matches configuration.

/sc model 输出(版本漂移)

[MODEL CHECK]
Status: ✗ VERSION DRIFT

Expected: anthropic-opus-4-5-20251101
Actual:   anthropic-opus-4-5-20251201

WARNING: Model version has changed.
This may affect behavior consistency.

Action: Update expected version in settings, or investigate change.

/sc fallback 输出

[FALLBACK CHECK]
Status: ✓ CONFIGURED

Config file: .openclaw/safety-checks.yaml

Fallback entries found:
  ✓ model.fallbacks: 3 entries defined
  ✓ storage.fallbacks: 2 entries defined

Note: This validates config entries exist, not actual connectivity.
  ✓ Tertiary (memory) - 4GB free

/sc cache 输出

[CACHE CHECK]
Status: ⚠ STALE ENTRIES FOUND

Cache Statistics:
  Total entries: 156
  Fresh (< 1h): 142
  Stale (> 1h): 14
  Critical stale: 0

Stale entries:
  - api_response_auth (age: 2h 15m)
  - user_preferences (age: 1h 30m)
  - ...

Action: Run /sc cache --clear to remove stale entries.

/sc session 输出(无干扰)

[SESSION CHECK]
Status: ✓ CLEAN

No cross-session interference detected.

Checks passed:
  ✓ No stale lock file (.openclaw/safety-checks.lock)
  ✓ No orphan temp files (output/safety/temp-*)
  ✓ Config file valid (.openclaw/safety-checks.yaml)

/sc session 输出(检测到干扰)

[SESSION CHECK]
Status: ✗ INTERFERENCE DETECTED

Issues found:

1. Stale file lock:
   File: .openclaw/safety-checks.lock
   Owner: PID 12345 (not running)
   Action: Remove lock with /sc session --clear-state

2. Orphan temp files (3):
   output/safety/temp-*.log
   Age: > 24 hours
   Action: Remove with /sc session --clear-state

Run /sc session --clear-state to remediate.

集成

  • 所属层级:Safety
  • 依赖项:constraint-engine(用于强制执行集成)
  • 被以下能力使用:constraint-engine(用于预操作安全检查)、governance(用于健康监控)

故障模式

条件 行为
无效的子命令 列出所有可用子命令
未找到配置文件 使用默认配置,并向用户发出警告
网络不可用 跳过远程检查,并发出警告
权限拒绝 报错并提供修复步骤

后续步骤

调用本能力后:

条件 操作
模型漂移 通知用户,建议更新配置
缺少回退配置 通知用户,建议完成配置
缓存陈旧 提示用户清理,或在启用自动清理时执行自动清除
会话干扰 清除状态并记录事件

工作区文件

本能力仅在声明路径内进行读写操作:

.openclaw/
├── safety-checks.yaml     # 主配置文件(读取)
└── cache/
    └── staleness.log      # 缓存检查历史(读/写)

.claude/
└── safety-checks.yaml     # Claude Code 配置(读取)

output/
└── safety/
    ├── model-checks.log   # 模型版本历史(写入)
    ├── fallback-tests.log # 回退测试结果(写入)
    └── session-state.log  # 会话状态日志(写入)

注意:本能力不会读取 .claude/settings.json 或任何其他工具的配置文件。

HEARTBEAT 集成

这些检查应通过 HEARTBEAT 定期执行:

## P1:关键项(每次会话)
- [ ] 模型版本是否已锁定? → /sc model
- [ ] 会话状态是否干净? → /sc session

## P2:重要项(每周)
- [ ] 回退链是否健康? → /sc fallback
- [ ] 缓存是否新鲜? → /sc cache

示例

模型漂移检测

/sc model --strict
[MODEL CHECK]
Status: ⚠ VERSION DRIFT

Expected: anthropic-opus-4-5-20251101
Actual:   anthropic-opus-4-5-20260101

Model version changed. Review CHANGELOG for behavior changes.

缓存清理

/sc cache --clear
[CACHE CHECK]
Status: ✓ CLEANED

Removed 14 stale entries from .openclaw/cache/
Freed: 2.3 MB

安全考虑

纯本地处理:所有安全检查均为本地文件和元数据操作。不向任何 LLM、API 或外部服务发送数据。“代理的模型”仅用于解释你的命令——不用于处理或传输你的数据。

确切访问的文件(读取):

  • .openclaw/safety-checks.yaml —— 本能力的配置
  • .claude/safety-checks.yaml —— 替代配置位置
  • .openclaw/cache/staleness.log —— 缓存检查历史(如存在)

确切写入的文件:

  • output/safety/*.log —— 检查结果与历史记录

本能力不会扫描目录,也不会读取其他能力的配置文件。

本能力不访问以下内容:

  • 其他能力的配置文件
  • 系统环境变量
  • .claude/settings.json 或其他工具的配置
  • 上述三个配置路径以外的任何文件
  • 网络资源或外部 API

本能力不执行以下操作:

  • 向任何模型或外部服务发送数据
  • 修改 output/safety/ 以外的文件
  • 执行任意代码

数据处理原则:

  • 除针对自身缓存/输出的 --clear 操作外,其余检查均为只读
  • 结果仅写入 output/safety/
  • 无任何数据离开本地机器

关于模型版本的说明:
/sc model 命令将配置中声明的预期版本与代理运行时报告的模型版本字符串(例如会话元数据或 API 响应头中)进行比对。它不会调用 API 来验证模型——而是读取代理运行时已提供的信息。

来源说明:
本能力由 Live Neon(https://github.com/live-neon/skills)开发,并以 leegitw 账户发布至 ClawHub。二者指向同一维护者。

验收标准

  • /sc model 验证模型版本与配置一致
  • /sc model 根据 strict 设置,在版本漂移时发出警告或报错
  • /sc fallback 验证配置文件中存在回退配置项
  • /sc cache 检测出早于 TTL 的缓存条目
  • /sc cache --clear 清除陈旧条目
  • /sc session 检测跨会话状态泄露
  • /sc session --clear-state 修复已发现的问题
  • 所有检查均已集成至 HEARTBEAT

作为智能体能力整合(agentic skills consolidation)的一部分,由 4 个独立能力合并而成(2026-02-15)。

相关专题

更多
DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

0

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

0

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

0

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

XORM框架零基础入门教程
XORM框架零基础入门教程

本专题梳理XORM框架的入门路径,从框架定位、依赖安装、连接数据库到跑通第一个增删改查示例,讲清Engine初始化、日志开启与项目目录规划,并对比GORM等同类ORM的差异,帮助Go开发者建立整体认知。

2026.11.04

0

15

Docker Desktop怎么设置端口映射
Docker Desktop怎么设置端口映射

本专题聚焦Docker Desktop容器端口映射与访问配置,整理从创建容器、设置端口绑定到验证本地服务访问的操作流程。针对端口被占用、映射配置错误、容器服务无法访问等情况,也提供相应的检查方向,方便用户完成端口配置。

2026.11.03

0

18

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习