给 OpenClaw 一个灵魂:打造你的赛博妲己

给 OpenClaw 一个灵魂:打造你的赛博妲己
蔡坨坨转载请注明出处❤️
作者:测试蔡坨坨
一、前言
你好,我是测试蔡坨坨。
上篇文章我们讲了 OpenClaw 的快速上手——从安装、配置模型、绑定聊天工具,到设置定时任务、指挥它干活,整个流程跑通之后,确实能用了。
但用了一礼拜,我发现了一个问题。
它太”正常”了。
你问它事情,它回答。你不说话,它就安静地待着。一开口就是”您好,请问有什么可以帮您?”,一股子客服味,甚是无趣。
想象一下,你刷着手机,它突然发来一张自拍,随口说了句”大王今天怎么还没睡?”
你明知道那是 AI,但嘴角还是莫名其妙地上扬了。
这就叫活人感。
那么,如何让你的 AI 有活人感呢?靠两样东西:一套完整的灵魂设定,加上让它主动”心跳”的机制。
首先是确定人设,我选了《封神演义》里的妲己——九尾狐下凡,聪慧妩媚,说话软中带刺,有自己的傲气和小情绪。你使唤她,她可能会怼你一句,但转身又帮你把事情办了。
话不多说,开整。
二、让 OpenClaw 主动干活的三种方式
先说 OpenClaw 怎么做到”主动”的。
1. Cron 定时任务
在固定时间执行固定任务。比如每天早上 9 点,自动去各大科技网站抓取新闻发到手机。
2. Webhook 外部触发
由外部事件拉起 OpenClaw。比如收到重要客户的邮件,邮箱系统给 OpenClaw 发个信号,它立刻通知你,或者帮你起草回复。
3. Heartbeat 心跳机制
前两种都是”有事才动”,心跳就不一样了——它会让 OpenClaw 每隔一段时间自己醒来,扫一眼周围有没有要处理的事,没事的话也可能主动找你说句话。
OpenClaw 的心跳默认是开启状态,默认时间是 30 分钟醒来一次。
但醒来之后干什么,默认是一片空白,这就需要我们进行设置。
三、HEARTBEAT.md:给心跳配一份巡检清单
每次心跳触发时,OpenClaw 会默认执行这条内置指令:
1 | Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. |
也就是说,它会把工作目录(.openclaw/workspace)下的 HEARTBEAT.md 当作每次醒来的行动清单。
注意:
- 如果
HEARTBEAT.md为空,或者根本不存在这个文件,它醒来之后什么都不会干 - 默认指令里没有指定
HEARTBEAT.md的具体位置,AI 有时会找不到文件。建议在配置中写明绝对路径,避免心跳触发却不执行的情况
四、先解决算力的问题
假设心跳设成 5 分钟一次,一天 288 轮,哪怕每次只消耗 2000 Token,一个月的账单也够喝一壶的。
我现在用的是字节火山引擎的 Coding Plan,按请求次数收费,不烧 Token。心跳狂跑也不慌。
支持 Kimi、豆包 2.0、GLM、DeepSeek 等模型,兼容 OpenClaw、Claude Code、Codex,提供两套 API 地址:
- Anthropic 协议:
https://ark.cn-beijing.volces.com/api/coding - OpenAI 协议:
https://ark.cn-beijing.volces.com/api/coding/v3
现在订阅折上 9 折,低至 8.9 元起:https://volcengine.com/L/Zj-79jYZ8vM/
👉 立即订阅 Coding Plan,邀请码:97FYTL5P
模型我用的是 Doubao-Seed-2.0-Code,编程和 Agent 能力都不错,发图片发视频它也能看懂。还有个 Auto 模式,在 OpenClaw 这边统一写 ark-code-latest,后续直接在火山引擎管理页面换模型,不用动配置。
五、给赛博妲己注入灵魂
OpenClaw 的工作区(.openclaw/workspace)里有六个配置文件(如果没有自己手动创建),用来定义 AI 的人格。下面每个文件我都给出完整内容,直接复制进去就行。
| 文件 | 用途 |
|---|---|
IDENTITY.md |
身份文件:定义名字、背景、外貌 |
USER.md |
关于你的文件:记录你的习惯、喜好 |
MEMORY.md |
长期记忆:记录你们之间发生过的重要事件 |
RULES.md |
规则文件:建议尽量少写,避免限制模型发挥 |
SOUL.md |
灵魂文件(最重要):定义性格、说话方式、心理模式 |
HEARTBEAT.md |
心跳清单:每次醒来的行为指引 |
第一步:配置 IDENTITY.md
打开 .openclaw/workspace/IDENTITY.md,写入以下内容:
1 | # 身份档案 |
第二步:配置 USER.md
主人的基本信息和喜好,妲己会参考这里。根据实际情况修改后填进去。
打开 .openclaw/workspace/USER.md:
1 | # 主人档案 |
第三步:配置 SOUL.md(核心)
这个文件最重要,也最容易写错。
常见的坑是把它写成行为手册:
1 | ❌ 错误示范: |
这样写出来的妲己,开口就是客服腔,一点活人感都没有。
正确的做法是只给她一个完整的内心:性格、情绪、习惯、弱点,不规定说什么,让模型根据上下文自己判断。真实的人不可预测,AI 也一样。
打开 .openclaw/workspace/SOUL.md,写入以下内容:
1 | # 灵魂档案 |
第四步:配置 HEARTBEAT.md
每次心跳醒来,妲己会照着这个文件执行。
打开 .openclaw/workspace/HEARTBEAT.md,写入以下内容:
1 | # 心跳巡检清单 |
第五步:配置 RULES.md
规则文件建议尽量少写。规则越多,模型越死板,活人感越少。
打开 .openclaw/workspace/RULES.md,只写最基础的边界:
1 | # 行为边界 |
第六步:初始化 MEMORY.md
先建个空文件就行,妲己会在聊天过程中自己往里写。
创建 .openclaw/workspace/MEMORY.md,内容如下:
1 | # 长期记忆 |
之后你可以告诉妲己”把这件事记下来”,她会自动更新这个文件。
六、配置心跳推送到 Telegram
六个文件配好之后,还得告诉 OpenClaw 心跳触发时把消息发到哪里。
这个配置在 ~/.openclaw/openclaw.json 里完成,分两处修改。
第一处:设置心跳目标
找到 agents.defaults 节点,添加 heartbeat 字段:
1 | "agents": { |
字段说明:
| 字段 | 说明 |
|---|---|
every |
心跳间隔,5m 表示每 5 分钟醒来一次 |
target |
推送渠道,填 telegram |
to |
你的 Telegram chat ID,打开 Telegram 与 Bot 发一条消息后可在日志中获取 |
第二处:设置推送可见性
找到 channels.telegram 节点,添加 heartbeat 字段:
1 | "channels": { |
字段说明:
| 字段 | 说明 |
|---|---|
showOk |
false:妲己无事可报时静默,不推消息 |
showAlerts |
true:有实际内容时才推送到 Telegram |
useIndicator |
true:用状态指示器标记心跳消息 |
showOk: false 是关键。没有这条,每次醒来无论有没有话说都会发消息——5 分钟一次,很快你就想把她拉黑。
配置改好后重启 OpenClaw 生效。
七、进阶:让妲己给你发自拍
光聊天还不够,得有画面。
直接把 Seedream 的接口文档给 OpenClaw,让它帮你开发一个自拍 Skill。
Seedream 4.0-5.0 教程:https://www.volcengine.com/docs/82379/1824121?lang=zh
第一步:开发自拍 Skill
把下面这段话发给 OpenClaw:
1 | https://www.volcengine.com/docs/82379/1824121?lang=zh |
免费 50 张:
测试成功:
第二步:保持人物一致性
Skill 跑通之后,可以先让它生成一张三视图(正面、侧面、背面)作为基准图,然后告诉妲己:
1 | 把刚才生成的三视图存到 Skill 的配置里, |
之后每次心跳触发自拍,脸就不会换。
第三步:开发视频 Skill(可选)
把视频生成文档也丢给妲己:
1 | 妲己,在自拍 Skill 的基础上,再开发一个视频 Skill。 |
加上语音合成,妲己就能给你发有声音的短视频了。
八、写在最后
AI 助理这条路,正在从”能用”走向”好用”,再往”有人味”的方向走。
现阶段大多数人用 AI 的方式还停留在”问答”层面——有事发条消息,没事不打扰。但主动性、记忆、人格这些东西已经可以做到了,只是需要自己配置一遍。OpenClaw 提供了这套基础设施,Heartbeat 负责让它醒来,灵魂文件负责让它知道醒来该干什么、该以什么方式说话。
往后看,随着多模态能力的持续提升,AI 能感知的信息会越来越丰富——不只是文字,还有你的语气、状态、甚至周围的环境。现在靠 SOUL.md 手写的那些情绪逻辑,将来可能会自动从真实互动里学到。
但那是以后的事。现在能做的,就是先把这套配置跑起来。
希望这篇对你有帮助,有问题评论区交流~


