SOUL Evil Hook 在清除窗口或随机机会期间,将注入的 SOUL.md 内容替换为 SOUL_EVIL.md。它不会修改磁盘上的文件。
工作原理
当 agent:bootstrap 运行时,此 hook 可以在组装系统提示之前,在内存中替换 SOUL.md 的内容。如果 SOUL_EVIL.md 缺失或为空,OpenClaw 会记录警告并保持使用正常的 SOUL.md。
注意
子代理运行不会在其引导文件中包含
SOUL.md,因此此 hook 对子代理无效。启用
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"
}
}
}
}
}
}
在代理工作区根目录(SOUL.md 旁边)创建 SOUL_EVIL.md。
配置选项
| 选项 | 类型 | 说明 |
|---|---|---|
file |
字符串 | 替代 SOUL 文件名(默认:SOUL_EVIL.md) |
chance |
数字(0-1) | 每次运行使用 SOUL_EVIL.md 的随机概率 |
purge.at |
HH:mm | 每日清除开始时间(24小时制) |
purge.duration |
持续时间 | 窗口长度(例如 30s、10m、1h) |
优先级:清除窗口优先于随机概率。
时区:设置 agents.defaults.userTimezone 时使用该时区;否则使用主机时区。
注意事项
- 不会在磁盘上写入或修改任何文件。
- 如果引导列表中没有
SOUL.md,该 hook 不会执行任何操作。
使用示例
场景1:随机替换
每次运行有 10% 的概率使用邪恶人格:
{
"hooks": {
"internal": {
"entries": {
"soul-evil": {
"enabled": true,
"chance": 0.1
}
}
}
}
}
场景2:定时清除窗口
每天晚上 9 点开始,持续 15 分钟使用邪恶人格:
{
"hooks": {
"internal": {
"entries": {
"soul-evil": {
"enabled": true,
"purge": {
"at": "21:00",
"duration": "15m"
}
}
}
}
}
}
场景3:组合使用
清除窗口 + 5% 随机概率:
{
"hooks": {
"internal": {
"entries": {
"soul-evil": {
"enabled": true,
"chance": 0.05,
"purge": {
"at": "21:00",
"duration": "15m"
}
}
}
}
}
}
在清除窗口期间总是使用 SOUL_EVIL.md,窗口外有 5% 的概率使用。