openviking 长期记忆后端把会话消息写入 OpenViking 的用户记忆,并按用户身份检索实体、事件和偏好。该后端从 VeADK 1.0.3 开始提供。
Runner.user_id 是终端用户标识,VeADK 将其作为 OpenViking 的 peer_id 用于记忆隔离。openviking_user_id 是 OpenViking 中记忆所属的 owner/context,用于在同一 OpenViking 服务内隔离不同应用或租户的记忆。两者是不同的概念。使用示例
参数
LongTermMemory 参数
OpenViking 后端参数
默认使用
user_id 作为 peer ID,只允许字母、数字、点、下划线、@ 和连字符。需要改变用户映射时,可传入 peer_id_resolver。
openviking_user_id 未配置时按 DATABASE_OPENVIKING_USER_ID 顺序查找,都未配置时使用 default 并输出告警日志。建议为每个应用或租户显式设置,避免不同应用的记忆混在同一个 default 路径下。
未配置 memory_policy 时使用默认策略:
memory_policy。
环境变量
自定义用户映射
多租户应用可以提供peer_id_resolver,把应用和用户组合成单个隔离标识:
@ 和连字符,且不能为 . 或 ..。上线后修改映射规则会使既有记忆保留在旧 peer 路径下,新的检索可能无法命中这些数据。