向量记忆分区(memoryScope)

状态:已实现
源码:py_tauri_works/src/services/agent/memoryScopeUtils.tslongTermMemoryService.tsagentMemoryService.ts
Rust 向量库:py_tauri_works/src-tauri/src/agent_memory/
设置 UI:设置 → 系统设置 → 向量记忆 → 分区管理MemoryScopePanel.vue

长期向量记忆按 memoryScope 字符串隔离。同一 scope 内的 memory.search / 隐式注入 / Host Bridge 读写彼此可见;不同 scope 默认不交叉检索。


分区格式

模式示例含义
登录用户主分区user:42与云账号 cloudUserId 对齐;Works 主私域默认 scope
未登录本机槽local:lp_abc123匿名 profile,登录后可迁移到 user:*
子私域user:42/domain:pd_mt4pgifv_uug8px自定义私域条目自带 memoryScope
连接隔离host:git-desk-dev外部软件未挂接私域时的默认隔离

构造规则(源码):

buildMemoryScope('user', '42')     → user:42
buildMemoryScope('host', 'git-desk') → host:git-desk
子私域:{resolveWorksUserScopeSync()}/domain:{domainId}

metadata 中每条向量记忆 JSON 含 memoryScope 字段,检索时按 scope 过滤。


谁决定本轮用哪个 scope?

场景解析顺序(摘要)
Agent Run(灵感绑定私域)Run 冻结 scope → 灵感 privateDomainId → MCP 挂接 → Works 主私域
Host chat / summarize-commitregisterclientId软件连接记忆分区挂接 → 否则 host:{clientId}
Host memory.* Action未传 memoryScope 时与上表一致(自动注入)
Agent 直连 memory.search(非 Host)当前用户 scope user:{id}local:*
OpenAI 代理 /v1仅当开启「注入向量记忆」且 clientId 已 register 时注入挂接 scope

挂接配置存储:

对象localStorage 键 / 字段
软件连接 clientIdhost_bridge_client_private_domains
MCP 连接集成项 memoryScopeBindingintegrations

挂接取值:null / 未配置 = 连接隔离;__works_root__ = Works 主私域;pd_xxx = 子私域 id。

详见 私域数据模型


设置页:分区管理

路径:设置 → 系统设置 → 向量记忆(需先下载/就绪向量组件)。

操作说明
刷新分区从本地向量库汇总各 scope 条数
从轻量库重建统计轻量 backend 升级后修复统计
同步记忆到云 / 从云恢复 / 拉取元数据文本元数据,不含向量;向量需在本地重建
同步私域到云私域定义 JSON(见 私域 API
导出 / 清理按 scope 导出文本或清空
向量与云

向量索引保存在本机用户目录;云同步的是记忆文本与元数据desktop/{userId}/memory/meta.json),换机后需重新 embed。

向量后端

模式说明
zvec(标准)完整向量库,需 CPU AVX
light(轻量)无 AVX 或开发调试时可切换

开发构建(import.meta.env.DEV)下可在系统设置切换 backend。


Host Bridge 与分区

外部软件 clientId 须与 register 一致;挂接后隐式记忆写入子私域 scope 而非 host:*

Git Desk 成对别名(Dev/正式)在查询挂接时可兼容,但客户端仍应发送登记 id。见 软件连接 API


Tauri 命令(向量库)

前端通过 agentMemoryService 调用,常用 Rust 命令包括:

命令用途
agent_memory_embedding_status组件/模型是否就绪
agent_memory_prepare_embedding下载推理库与模型
agent_memory_index写入一条记忆(带 scope metadata)
agent_memory_search语义检索(可按 scope 过滤)
agent_memory_scope_summary各 scope 条数统计
agent_memory_clear_scope清空指定 scope

完整列表见源码 src-tauri/src/agent_memory/agentMemoryService.ts


相关文档