核心用法
Personality Switcher 是一款专为 OpenClaw 框架设计的 AI 助手人格管理系统,允许用户创建、保存并在多个人格之间无缝切换。
基本操作:
/personality— 列出所有人格并标记当前激活状态/personality <name>— 切换到指定人格,自动完成备份与原子切换/create-personality <描述>— 从自然语言描述自动生成完整人格(SOUL.md + IDENTITY.md)/rename-personality与/delete-personality— 人格管理工具
技术架构:
每个人格由两个核心文件定义:SOUL.md(灵魂哲学、说话方式、行为边界)和 IDENTITY.md(名称、表情符号、标签、氛围描述)。文件存放于 personalities/<name>/ 目录,通过状态文件 _personality_state.json 追踪激活状态。关键设计:USER.md 全局共享,确保用户偏好(时区、位置等)不因人格切换而丢失。
持久化保障:
- 心跳恢复机制:HEARTBEAT.md 内置
restore_personality.py,每次心跳自动恢复激活人格, survives 会话重启与对话压缩 - 原子切换:五步流程(备份→持久化→加载→更新状态→完整性校验),任一步失败自动回滚,杜绝数据损坏
- 自动清理:默认保留最近 10 份备份,防止存储膨胀
显著优点
1. 零摩擦体验:自然语言描述即可生成完整人格,无需手动编写配置文件
2. 会话级持久:人格状态跨会话、跨压缩周期保持,用户无感知恢复
3. 防御性设计:原子操作 + 自动回滚 + "default" 安全锚点,极端容错
4. 模块化存储:人格文件隔离于独立目录,工作区根目录保持整洁
5. Telegram 原生集成:支持 /personality 等原生命令,移动端体验友好
潜在局限
- 依赖 OpenClaw 生态:非通用工具,绑定特定框架的文件结构与心跳机制
- 生成质量波动:
/create-personality依赖底层模型的创作能力,复杂或模糊描述可能产出平庸人格 - 无版本控制:人格文件本身无内置版本历史,误覆盖需从备份恢复
- 共享上下文限制:MEMORY.md 全局共享,人格若对记忆有特殊要求(如"失忆设定"),需额外设计
- 备份清理策略固定:默认 10 份保留策略可能不适合高频切换用户,需手动调整 HEARTBEAT.md
适合人群
- 角色扮演爱好者:快速切换"严肃导师/俏皮伙伴/冷峻顾问"等对话风格
- 多场景用户:同一 OpenClaw 实例服务工作、创作、娱乐等不同上下文
- AI 人格实验者:迭代测试不同人格设定对输出质量的影响
- Telegram Bot 运营者:为不同用户或群组提供差异化人格体验
常规风险
- 人格漂移:频繁切换可能导致短期上下文混淆,建议关键任务前明确激活目标人格
- 备份覆盖:高频切换(>10 次/周期)可能挤占早期备份,重要人格建议手动归档
- 描述注入风险:
/create-personality直接将用户输入传递给文件生成,恶意描述理论上可植入指令(需依赖底层沙箱隔离) - 状态文件损坏:若
_personality_state.json被外部篡改,心跳恢复可能失败,需手动恢复 default