🐾 claw-stack

最后更新:2026 年 3 月

策略执行引擎

Claw-Stack 的策略执行引擎通过声明的每个智能体策略管控所有智能体行为——指定哪些工具被允许、哪些操作需要人工审批、哪些被无条件阻止。

策略优先设计

在原生 OpenClaw 安装中,智能体在单一隐式策略下运行:它们可以调用任何被授予访问权限的工具。没有每个智能体的粒度控制,没有审批机制,也无法在不从整个系统中移除工具的情况下限制特定智能体使用特定工具。

Claw-Stack 用显式的每个智能体 YAML 策略文件替换了这一点。每个智能体的策略在启动时加载并编译成快速查找结构。策略关口在将每个工具调用转发给 OpenClaw 执行之前,对照此结构进行评估。

执行模式

允许

工具调用匹配显式允许规则且不匹配任何拒绝规则或高风险模式。调用立即转发给 OpenClaw。

阻止

工具调用匹配拒绝规则或无条件阻止模式。调用被拒绝,智能体收到错误响应,说明该操作在其策略下不被允许。拒绝被记录。

上报

工具调用匹配带有 require_human_approval 的高风险模式。调用被暂停,通知人工操作员,执行等待直到收到批准或拒绝。超时时间可配置。

共识

工具调用匹配带有 require_consensus 的高风险模式。调用被路由到共识中枢进行多智能体投票后再继续。参见多智能体共识

审计追踪

每个策略关口决定都被追加到存储在 audit/actions.jsonl 的只追加审计日志中。每个条目包括:时间戳、智能体 ID、工具名称、参数哈希(非完整参数,避免记录敏感数据)、应用的执行模式、结果,以及对于上报/共识决定的解决记录。文件从不截断;旧条目每月压缩归档。

常见问题

智能体可以修改自己的策略吗?

不能。策略文件由人工操作员拥有,智能体不可写入。智能体可以请求策略变更(通过向操作员发消息),但不能自己应用。尝试写入策略目录会触发自动阻止和警报。

策略评估的性能影响是什么?

策略文件在启动时被编译为确定性决策树。大多数工具调用的查找时间复杂度为 O(1)。唯一的可变成本情况是高风险规则的正则表达式模式匹配,实践中最多增加 1–2 毫秒。

策略变更如何部署?

策略文件在不重启智能体的情况下热重载。运行时使用 inotify/kqueue 监视器监视策略目录。文件变更时,新策略在 100 毫秒内编译并替换旧策略。审计日志在每个条目中记录策略版本哈希。

Authors: Qiushi Wu & Orange 🍊