Savana 记忆数据隔离 — 为什么换角色、换账号、换设备不会串记忆
记忆数据的隔离设计是 Savana 隐私安全的核心之一。你不需要担心"对角色 A 说过的事被角色 B 听到"或者"换设备登录看到别人的记忆"——这套机制从一开始就设计好了。
user_id + character_id 双维度隔离
Savana 的每条记忆数据都同时绑定两个标识符:
| 标识符 | 含义 | 隔离效果 |
|---|---|---|
| user_id | 你的账号唯一标识 | 你说过的话、你的记忆,不会被其他账号的用户看到 |
| character_id | 角色的唯一标识 | 你对"古风侠客"说过的事,"腹黑学长"不知道;自建角色和预设角色的记忆也互相独立 |
两个标识符缺一不可——模型在生成回复时,只会读取同时匹配你这个 user_id 和当前这个 character_id 的记忆条目。
换角色不会串记忆
你对角色 A 说过的所有话、角色 A 对你的所有记忆,换一个角色 B 对话时完全不可见。角色 B 看不到你和角色 A 的历史,也不会被角色 A 的记忆"污染"。
同理,同一个角色对你的记忆,只在你和这个角色对话时被读取——你用另一个账号登录时,这个角色的记忆是空的,因为 user_id 不匹配。
换设备同步的是什么
跨设备同步同步的是你这个账号下的全部数据:
- 你的所有对话历史(和所有角色的)
- 所有角色对你的记忆数据
- 你创建的自建角色
- 你在记忆管理里做过的所有手动维护
同步后,新设备登录看到的记忆管理界面和旧设备完全一样——因为两边读的是同一个云端数据。
新建自建角色的初始记忆
刚创建的自建角色,记忆列表天然是空的——因为这是一个全新的 character_id,还没有和你的 user_id 关联过任何记忆条目。你可以手动添加几条基础信息(名字、位置、偏好),让角色一开始就有对话的基础。
如果记忆数据泄露会怎样(理论风险说明)
在正常情况下,由于 user_id + character_id 隔离 + 加密存储的双重保护,单个记忆条目泄露后无法被关联到具体的人和角色。Savana 开发者声明不收集任何数据,所有数据仅用于提供服务(对话、记忆管理),不用于训练模型或出售。
如果你想进一步加强隐私,可以定期在记忆管理界面手动检查和删除不想保留的条目。