你已经能跑通 OpenClaw,但回答风格漂移、跨会话「失忆」、多项目串台——往往不是因为模型,而是人格与记忆文件没有和目录结构、凭据面对齐。本文面向 2026 年在 远程 Mac(VNC) 上维护 OpenClaw 的中高级用户:说明 SOUL / MEMORY / IDENTITY 的职责边界、推荐加载与编辑顺序、与站内已有 SecretRef、多项目隔离、常见报错文章的衔接,并给出可在 VNC 会话里逐项勾选的可视化编辑清单。纯 CLI 也能改文件,但 macOS 权限弹窗、浏览器控制台与多窗口对照时,图形桌面更不容易漏步骤。💡
① 三类文件各自解决什么问题
在 2026 年的 OpenClaw 工作流里,模型能力升级很快,但「谁在说话、记得什么、不能做什么」若只靠系统提示里临时塞几句,会在多会话、多插件、多网关场景下迅速失控。把策略拆成 SOUL / MEMORY / IDENTITY 三类文件,本质是把可版本化、可审查、可回滚的配置从「一次对话」里抽离出来,接近运维里的「策略即代码」思路。下面先分清职责,再谈顺序。
SOUL:价值观、语气、拒绝回答的边界(例如不向用户索要明文密码、不执行破坏性 shell)。适合写「永远为真」的原则,而不是每日变更的任务状态。
MEMORY:长期偏好与项目事实(常用仓库路径、发布节奏、术语表)。应随项目演进更新,但避免把密钥、令牌写进来;密钥走 SecretRef 与 openclaw secrets。
IDENTITY:对外名称、渠道人格(例如 Telegram 与 Web 控制台是否同一「人设」)、可选的展示用元数据。保持简短,避免与 SOUL 重复整段说教。
三者与运行时加载顺序的关系可概括为:IDENTITY(我是谁)→ SOUL(我怎么拒绝/怎么说)→ MEMORY(我记得哪些事实);具体字段名以你使用的 OpenClaw 版本文档为准,升级后请用 openclaw doctor 自检(参见站内 v2026.4.5 升级文)。
实践中常见错误包括:把整页产品说明粘进 MEMORY(应放到站点或内部 Wiki,MEMORY 只保留摘要与链接);在 SOUL 里写具体客户名与合同金额(应进工单系统或加密备注,MEMORY 只保留「客户代号 + 沟通偏好」);以及多实例共用一份 MEMORY 导致项目 A 的路径被项目 B 误用——这与站内《多项目隔离》强调的工作目录分桶是同一类问题。
② 决策矩阵:与 Skill、SecretRef、多项目目录的关系
| 话题 | 用三类文件 | 不要用三类文件代替 | 衔接站内文章 |
|---|---|---|---|
| 密钥 / Token | 仅在 MEMORY 写「存在某 SecretRef」的引用名 | 明文 API Key | 《SecretRef 与审计》 |
| 可插拔能力 | SOUL 声明「何时允许调用工具」 | 把 Skill 教程全文塞进 MEMORY | 《Skill 技能市场实战》 |
| 多客户 / 多仓库 | 每实例一套文件 + 独立工作目录 | 混用同一 MEMORY | 《多项目隔离》 |
| 故障现象 | MEMORY 记「上次已验证的 doctor 输出摘要」 | 把整页日志贴进 SOUL | 《常见报错 10 解》 |
排障经验法则:该不该做 → SOUL;事实是什么 → MEMORY;对外叫什么 → IDENTITY。勿把三类混写,否则 diff 与回滚都痛。
② 续:典型症状与应先改哪一类文件
面向「能跑但怪异」阶段,与《常见报错 10 解》互补(彼处偏安装/进程,此处偏策略与记忆)。建议在 VNC 里边看对话边对照下表。
| 你观察到的现象 | 优先检查 | 常见根因 | 建议动作 |
|---|---|---|---|
| 同提示词两次人设/敬语不一致 | IDENTITY 与 SOUL 语气是否重复 | 冲突形容词或长短悬殊 | 语气归 SOUL;IDENTITY 留名与渠道 |
| 坚持旧路径/旧负责人 | MEMORY 与副本 | 拷实例带旧 MEMORY | 全文搜路径;只留一份 canonical MEMORY |
| 工具调用超出预期 | SOUL 工具边界 | 升级后 Skill 默认变宽 | doctor 看 enabled;SOUL 写明需确认的操作 |
| 对话里出现疑似密钥片段 | MEMORY 是否误写明文 | 从环境变量或 .env 整段粘贴 | 立即轮换密钥;改 SecretRef;MEMORY 只保留引用名 |
② 再续:大版本升级后的最小合并与回滚
OpenClaw 在 2026 年仍会以较高频率迭代:canonical 路径、enabled 标志、插件默认策略都可能变化。升级后若只动二进制不改三文件,易出现「模型仍按旧边界说话,但运行时已允许新工具」的策略漂移。建议每次大版本:备份三文件 → 读发行说明里与工具/权限/Gateway 相关的 breaking 行 → 运行 openclaw doctor,把与三文件相关的告警原文贴工单(勿整页日志进 SOUL)→ 在 SOUL 增补新禁止/确认项,在 MEMORY 更新端口、控制台 URL、约定路径 → 在 VNC 下回归:发消息、触发 Skill、看控制台网络错误。
回滚时:对话越权优先恢复上一版 SOUL;事实错误导致误操作优先恢复 MEMORY。回滚后再跑 doctor。使用 secrets plan/apply 时,工单里分列记录「策略文件版本」与「secrets 版本」,避免只回滚其一。租用节点者务必将三文件纳入 Git/加密仓或对象存储,勿仅存桌面单一副本(可对照站内《云端 Mac 续费与数据》导出思路)。
③ 落地步骤:从空目录到可审计的最小闭环
确认 OpenClaw 版本与配置根目录
在终端执行 openclaw --version 与 openclaw doctor,记录 canonical 路径(见 v2026.4.5 升级文)。
创建或更新 IDENTITY:一句话名称 + 渠道差异
避免与品牌名冲突;若多语言,注明默认回复语言。
编写 SOUL:边界优先于「人设修辞」
列出禁止行为(例如擅自对外发邮件)、与合规相关的提醒。
编写 MEMORY:事实与偏好,不含密钥
仓库根路径、发版日、术语对照;密钥仅写 SecretRef 名。
在 VNC 下用 GUI 编辑器保存为 UTF-8
避免 Windows 侧编辑引入 BOM 或 CRLF 导致解析异常。
重启或热加载后走一轮对话回归
同一提示词连问两次,观察语气与事实是否一致。
把变更记入团队工单或内部 README
便于审计与回滚;与 SecretRef 的 plan/apply 记录对齐。
④ VNC 会话中的可视化核对表
在远程 Mac 的 VNC 桌面里,推荐并排打开:① 配置文件目录(Finder 或 VS Code)、② 浏览器中的 Gateway/控制台(若启用)、③ 官方或站内参考文档。这样当 macOS 弹出「是否允许自动化/录屏/通讯录」等权限框时,你能立即看到是哪一个步骤触发,并把结论写回 SOUL(例如「未经用户显式同意不开启桌面录制」)。纯 SSH 会话往往要来回切换窗口,容易漏点「允许」,留下半配置状态;而 VNC 与本地使用 Mac 的认知模型一致,更适合作为团队标准操作环境。
- □ 三文件路径与实例根目录一致,无「复制错目录」的第二份副本
- □ MEMORY 中无明文密钥;
openclaw secrets audit(若可用)无异常 - □ SOUL 中的禁止项与团队安全策略一致
- □ 浏览器控制台(若使用 Web Gateway)无配置加载报错
- □ 多项目场景:当前会话使用的工作目录与 MEMORY 描述匹配
⑤ 可引用原则与 FAQ
问:能否用生成器一次性写满 MEMORY? 可以作草稿,但必须人工删除敏感信息与过时事实,否则模型会「自信地」引用错误状态。
问:团队多人改同一实例怎么办? 应使用 Git 或受控文档库跟踪变更,并在工单里关联 PR;避免在聊天里互传整份 MEMORY 导致版本分叉。
延伸阅读:站内《OpenClaw 凭据与安全:SecretRef》《多项目隔离》《常见报错 10 解》《v2026.4.5 升级与 doctor --fix》。若你使用 Gateway 公网访问,请同步阅读《Gateway 反代》以便在 SOUL 中准确描述「对外暴露的边界」。
结语:人格与记忆是「可运维资产」,不是一次性提示词
在纯 Windows 或 Linux 上通过隧道跑代理也能对话,但往往要额外处理路径、权限与图形授权的一致性;本地没有 Mac 时,完整 macOS 桌面 + 浏览器 + 钥匙串行为与 OpenClaw 实际落地环境更贴近。若你不想采购整机,又希望把 SOUL/MEMORY/IDENTITY 当成可审计、可回滚的配置面来维护,租赁带 VNC 的远程 Mac(如 VNCMac),配合帮助页连接说明与站内 OpenClaw 系列文章,通常是时间成本更低的路径。