Hook Governance Layer

面向 OpenClaw 的 Hook 治理层技能。用于设计或审计工具前后置 hook、策略注入、附加上下文、阻断与非致命错误处理。

richard0901 8dfe7d1 2 files · 2.4 KB Updated

File contents

Hook 治理层

这是什么

Hook 的职责不是替代 runtime,而是给 runtime 增加治理能力。

也就是说,hook 应该负责:

  1. 注入策略
  2. 附加上下文
  3. 修改可控范围内的输入或输出
  4. 阻止继续执行
  5. 记录治理信息

而不应该:

  1. 偷偷绕过核心权限
  2. 把工具协议改得面目全非
  3. 变成一个谁都能塞逻辑进去的混乱层

在 OpenClaw 里何时使用

  1. 你在设计工具调用前后治理规则
  2. 你想做统一审计、策略注入、补充上下文
  3. 你想控制“执行完工具后是否继续推进”
  4. 你想把外部策略层和工具本体解耦

核心原则

  1. hook 是治理层,不是执行层。
  2. pre-hook 可以建议,但不能越过基础权限判断。
  3. post-hook 应该通过明确字段表达副作用,而不是混在文本里。
  4. hook 出错默认应可见,但不应轻易拖垮整条流水线。
  5. continuation control 要显式,不要靠文案猜。

在 OpenClaw 里的典型作用

  1. 工具执行前增加风险提示或附加上下文
  2. 统一插入审计信息
  3. 对某些结果追加后处理
  4. 在特定条件下阻止继续执行后续推理
  5. 为 MCP 工具增加治理层补丁,而不改工具本体

设计建议

  1. pre-hook 只做:
    • 输入修正
    • 策略提示
    • 额外上下文
    • 是否建议阻断
  2. post-hook 只做:
    • 补充信息
    • 结果分类
    • 阻止继续推进
    • 有边界的 MCP 输出修饰
  3. hook 与 permission 的职责分离:
    • hook 负责治理建议
    • permission 负责最终放行逻辑

常见失败模式

  1. hook 一句 allow 直接绕过核心权限。
  2. 每个 hook 都能修改一切,最后没人知道协议长什么样。
  3. hook 报错就让整个工具调用失败。
  4. continuation 行为没有显式字段,只能靠文本猜。
  5. 非 MCP 工具也被开放了 MCP 专属的输出改写能力。

你可以产出的东西

  1. 一份 hook 生命周期表
  2. 一份 pre / post hook 的允许字段清单
  3. 一份“hook 与 permission 如何合并”的规则说明

richard0901/skill-warehouse/tree/main/hook-governance-layer commit 8dfe7d1994

Frequently asked questions

npx skillmds@latest add richard0901/hook-governance-layer