--- read_when: - 你想要启用或调整 SOUL Evil 钩子 - 你想要设置清除窗口或随机概率的人格替换 summary: SOUL Evil 钩子(将 SOUL.md 替换为 SOUL_EVIL.md) title: SOUL Evil 钩子 x-i18n: generated_at: "2026-02-01T20:42:18Z" model: claude-opus-4-5 provider: pi source_hash: cc32c1e207f2b6923a6ede8299293f8fc07f3c8d6b2a377775237c0173fe8d1b source_path: hooks/soul-evil.md workflow: 14 --- # SOUL Evil 钩子 SOUL Evil 钩子在清除窗口期间或随机概率下,将**注入的** `SOUL.md` 内容替换为 `SOUL_EVIL.md`。它**不会**修改磁盘上的文件。 ## 工作原理 当 `agent:bootstrap` 运行时,该钩子可以在系统提示词组装之前,在内存中替换 `SOUL.md` 的内容。如果 `SOUL_EVIL.md` 缺失或为空,OpenClaw 会记录警告并保留正常的 `SOUL.md`。 子智能体运行**不会**在其引导文件中包含 `SOUL.md`,因此此钩子对子智能体没有影响。 ## 启用 ```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" } } } } } } ``` 在智能体工作区根目录(`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` 不在引导列表中,该钩子不执行任何操作。 ## 另请参阅 - [钩子](/hooks)