SOUL Evil Hook

SOUL Evil hook 会在清除时间窗口内或按随机概率,将注入的 SOUL.md 内容替换为 SOUL_EVIL.md。它不会修改磁盘上的文件。

工作原理

agent:bootstrap 运行时,这个 hook 可以在系统 prompt 组装之前,替换内存中的 SOUL.md 内容。如果 SOUL_EVIL.md 文件不存在或为空,OpenClaw 会记录一条警告并保持使用正常的 SOUL.md

子 agent 运行时不会在它们的 bootstrap 文件中包含 SOUL.md,所以这个 hook 对子 agent 没有影响。

启用

openclaw hooks enable soul-evil

然后设置配置:

{
  "hooks": {
    "internal": {
      "enabled": true,
      "entries": {
        "soul-evil": {
          "enabled": true,
          "file": "SOUL_EVIL.md",
          "chance": 0.1,
          "purge": { "at": "21:00", "duration": "15m" }
        }
      }
    }
  }
}

在 agent workspace 根目录(SOUL.md 旁边)创建 SOUL_EVIL.md 文件。

配置选项

  • file(字符串):备用的 SOUL 文件名(默认:SOUL_EVIL.md
  • chance(数字 0–1):每次运行时使用 SOUL_EVIL.md 的随机概率
  • purge.at(HH:mm):每日清除开始时间(24 小时制)
  • purge.duration(时长):时间窗口长度(例如 30s10m1h

优先级: 清除时间窗口优先于随机概率。

时区: 设置了 agents.defaults.userTimezone 时使用该时区,否则使用主机时区。

注意事项

  • 不会在磁盘上写入或修改任何文件。
  • 如果 SOUL.md 不在 bootstrap 列表中,这个 hook 不会执行任何操作。

相关文档