AI Agent 做长期任务时,最浪费时间的部分经常不是推理,而是反复重新发现同一件事。这个项目的部署脚本在哪里,哪个配置坑踩过,某个服务为什么不能直接重启,上次 review 里已经做过什么决定。把这些信息塞进系统提示词会越来越臃肿,放在聊天记录里又很容易随着会话结束而丢掉。

今天看的是 Perseus-Computing-LLC/perseus-vault。它把自己定位成 AI Agent 的持久记忆引擎:一个 Rust 二进制、一个本地 SQLite 数据库,通过 MCP stdio 暴露记忆写入、召回、上下文准备、历史查询、衰减、归档、审计和维护工具。重点不是再做一个聊天应用,而是让 Claude Code、Codex、Cursor、Zed、Windsurf 等 MCP client 能共享同一个本地、可控的记忆层。

按 GitHub repository API、repository page、README、Release 页面、Cargo.toml、LICENSE 和默认分支 Git 历史在 2026-08-09 能核验的公开信息,Perseus-Computing-LLC/perseus-vault 当前有 43 stars7 forks。仓库主语言是 Rust,许可证是 MIT。仓库创建于 2026-06-06 21:31:46 UTC,最近公开 push 是 2026-08-09 13:56:08 UTC。默认分支 main 当前 HEAD 是 8fecaec,提交时间 2026-08-09 13:56:08 UTC,提交信息是 fix: overhaul Hermes integration (#911)。最新 GitHub Release 是 v2.22.0,发布时间 2026-07-29 13:08:01 UTCCargo.toml 里的 crate version 也是 2.22.0

项目概览

属性详情
仓库Perseus-Computing-LLC/perseus-vault
定位本地优先的 AI Agent 持久记忆 MCP server
Stars43
Forks7
主要语言Rust
许可证MIT
创建时间2026-06-06 21:31:46 UTC
最新 push2026-08-09 13:56:08 UTC
当前默认分支提交8fecaec,2026-08-09 13:56:08 UTC
最新 GitHub Releasev2.22.0,2026-07-29 13:08:01 UTC
关键词MCP、agent memory、SQLite、hybrid recall、local-first、AES-256-GCM、audit

它处理的是“记住什么”和“何时取回”

很多 Agent 记忆方案容易混在一起:当前 prompt、聊天 transcript、总结后的笔记、向量库记录、项目规则,全都被叫做 memory。Perseus Vault 的 README 倒是把边界拆得比较清楚:当前 prompt 和注入块是 host 拥有的临时上下文;显式写入的 durable memory 才由 Vault 管理;导出的 Markdown、合成记录和派生视图只是 projection,不应该替代原始记录。

这个区分很重要。Agent 如果只是“看见”了一段文本,不代表它已经持久保存了这段知识。只有显式调用 perseus_vault_rememberperseus_vault_capture 或 CLI 写入路径,Vault 才会把实体写进 SQLite,并进入历史、journal、decay、archive、purge 这些生命周期。对严肃工作流来说,这比“会话结束时自动总结一切”更可控,也更容易审计。

召回方式也不是固定 top-N dump。README 强调 perseus_vault_contextperseus-vault prepare 默认是 recall-first:调用方把当前任务作为 query 传入,Vault 只返回和任务相关的少量记忆,并按模型预算裁剪。这样做的好处是,记忆库可以增长,但每一轮上下文不必线性膨胀。对于长期维护项目,这一点比“能存很多条”更关键。

SQLite 和本地优先让它更容易试

Perseus Vault 的部署模型很朴素:单个二进制,一个 SQLite 数据库文件,不要求 Docker、Postgres 或托管控制平面。README 的一行安装会把二进制放到 ~/.local/bin/perseus-vault,然后用:

perseus-vault serve --db ~/.perseus-vault/data/perseus-vault.db

就能启动 MCP stdio server。它也可以用 install-client --hooks --rules 自动给 Claude Code、Codex、Cursor 等 client 合并 MCP 配置和 session lifecycle hooks;这个命令会先备份配置,并支持 --dry-run 预览。

本地优先不是一句口号。README 写到默认路径下首次写入会生成 ~/.perseus-vault/secret.key,新数据库会启用 AES-256-GCM 加密;语义检索默认使用编进二进制的本地 embedding model,外部 OpenAI-compatible embedding endpoint 是可选项。也就是说,最小可用路径不需要把记忆发到云端。

当然,FTS5 索引用于搜索,README 也提醒它会保持明文。这是一个很实际的 caveat:实体正文可以加密,不等于所有派生索引都同等保密。对敏感资料来说,需要把数据库文件、key 文件、备份、导出 Markdown 和索引层一起纳入威胁模型。

MCP 工具面很宽,但使用时要收敛

仓库 README 里列出的工具很多:remember、recall、scan、history、as_of、valid_at、bitemporal、journal、state、decay、prune、purge、redact、erase、vault export/import、health、stats、maintenance 等。它想覆盖的不是“记一条笔记”,而是一个长期知识库的完整生命周期。

有趣的是它支持双时间轴查询。as_of 处理 transaction-time,也就是某个过去时间点系统当时相信什么;valid_at 处理 valid-time,也就是某个事实在现实世界的某个时间是否成立;bitemporal 则把两者合在一起。这个能力对 Agent 记忆很有意义,因为项目事实会变。一个配置在上周是正确的,本周可能已经被迁移;没有历史维度的记忆很容易把旧事实当成当前事实。

但工具多也意味着接入时要克制。并不是每个 client 都应该拿到删除、purge、erase 或跨 workspace 复制能力。比较务实的做法,是先只接 remember、recall、context、health 这类低风险工具,在个人项目里观察召回质量,再逐步开放 capture、journal、maintenance。记忆系统一旦能影响 Agent 行为,它本身就应该被当作基础设施,而不是随手加的插件。

适合谁

Perseus Vault 适合那些已经有多轮 Agent 工作流的人。比如你长期用 Codex 维护一个服务器,希望它记住部署约束、已验证的命令、不能碰的目录和上次事故原因。或者你在多个 MCP client 之间切换,希望它们共享同一套本地记忆,而不是每个工具各自总结一份。

它也适合把“项目经验”从聊天记录里拿出来。经验可以被写成带 category、key、body 的实体,有历史、有来源、有召回策略。之后 Agent 开始新任务时,先按任务 query 召回相关记忆,而不是把所有旧总结一股脑塞进去。

不适合的场景也很明确。如果你只是偶尔让 Agent 改一个小文件,普通 AGENTS.md 和 README 就够了。Perseus Vault 的价值来自长期积累、跨会话召回和可审计生命周期;没有这些需求,它会显得重。

需要注意的边界

第一,项目非常年轻。43 stars、7 forks、2026 年 6 月创建、release 到 v2.22.0,说明它迭代很快,但社区验证还少。建议先在个人或非关键项目里试,不要一开始就让它影响生产变更决策。

第二,README 里的 benchmark 和对比数据不少,应该当作项目方声明来读。它们可以提供方向感,但真正决定能不能用的,还是你自己的记忆写入质量、召回 precision、误召回成本和权限边界。

第三,自动 capture 很容易污染记忆库。失败的推断、临时猜测、过期路径、一次性命令如果都被持久保存,下一次 Agent 可能会被旧噪声带偏。记忆系统需要清理、归档、衰减和纠错流程,否则只是把上下文混乱永久化。

第四,key 管理很关键。README 明确说默认生成的 secret key 不可恢复。数据库备份如果没有 key 没意义,key 泄漏又会让本地加密失去价值。试用时就应该想清楚备份和轮换方式。

总结

Perseus-Computing-LLC/perseus-vault 有意思的地方,是它把 Agent memory 当成一个可运行、可审计、可维护的本地系统,而不是一段自动总结文本。SQLite、MCP、hybrid recall、双时间轴历史、加密和生命周期工具放在一起,方向很清楚:让 Agent 记住明确写入的事实,并在合适的时候取回。

它还早,但问题是真实的。长期使用 AI Agent 的人迟早会遇到同一个摩擦:有些知识不该每次重新发现,也不该永远塞在 prompt 里。Perseus Vault 提供的是一个小而完整的答案:把记忆变成你能检查、能备份、能删除、能召回的本地数据库。

项目地址:https://github.com/Perseus-Computing-LLC/perseus-vault