Skip to content

SOUL Evil Hook

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

工作原理

agent:bootstrap 运行时,该 hook 可以在 system prompt 组装之前,在内存里替换 SOUL.md 的内容。 如果 SOUL_EVIL.md 缺失或为空,OpenClaw 会记录一条 warning,并继续使用正常的 SOUL.md

Sub-agent 的运行不会SOUL.md 包含在它们的 bootstrap files 中,因此该 hook 对 sub-agents 没有影响。

启用

bash
openclaw hooks enable soul-evil

然后设置配置:

json
{
  "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(string):替代的 SOUL 文件名(默认:SOUL_EVIL.md
  • chance(number 0–1):每次 run 使用 SOUL_EVIL.md 的随机概率
  • purge.at(HH:mm):每日 purge 开始时间(24 小时制)
  • purge.duration(duration):时间窗长度(例如 30s10m1h

优先级: purge 时间窗高于 chance。

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

备注

  • 不会向磁盘写入或修改任何文件。
  • 如果 SOUL.md 不在 bootstrap 列表里,该 hook 不会做任何事。

另见