2026年7月15日 2 分钟阅读

Perseus Vault 实战:给 Claude Code 装一个持久的加密记忆库,让 Agent 不再”每次重新认识项目”

tinyash 0 条评论

你有没有遇到过这种情况:Claude Code 刚帮你分析完代码结构,重启会话后它又问你”项目是什么框架的”?或者 Codex 之前记住了一个关键配置,下次运行又得重新解释一遍?

AI 编码 Agent 没有持久记忆——这是它们最大的痛点之一。每次新会话都是一张白纸,之前积累的上下文、用户偏好、项目决策全部丢失。

Perseus Vault 就是来解决这个问题的。它是一个轻量级的本地加密记忆引擎,用 Rust 编写,通过 MCP(Model Context Protocol)为 AI 编码 Agent 提供持久的、可搜索的记忆存储。一个二进制文件,一个 SQLite 数据库文件,无需 Docker,无需云服务,开箱即用。

一句话感受 Perseus Vault

curl -sSf https://raw.githubusercontent.com/Perseus-Computing-LLC/perseus-vault/main/scripts/install.sh | sh
perseus-vault serve --db ~/.mimir/data/perseus-vault.db &
perseus-vault install-client --hooks --rules --all-detected

三行命令,你的 Claude Code、Codex 和 Cursor 就共享同一个持久记忆库了。以后每次会话开始时,Agent 自动从记忆库中召回相关上下文,结束时会话中的新知识自动保存。

为什么需要专门的记忆引擎?

你可能在想:让 Agent 把笔记写到文件里不就行了?问题在于:

  • 缺乏结构化:纯文本笔记难以快速检索关键信息
  • 没有语义搜索:Agent 不知道”上次处理的那个用户认证问题”对应的是哪个文件
  • 加密缺失:项目配置、API 密钥等敏感信息不该明文存储
  • 跨会话共享:不同 Agent(Claude Code、Codex)之间无法共享上下文

Perseus Vault 的混合召回(BM25 全文搜索 + 稠密语义向量 + RRF 融合排序)解决了这些问题。在 LongMemEval 基准测试中达到了 73.8% 的准确率(对比 Zep 的 63.8% 和 Mem0 的 49.0%)。

安装与启动

安装只需要一条命令:

curl -sSf https://raw.githubusercontent.com/Perseus-Computing-LLC/perseus-vault/main/scripts/install.sh | sh

安装后,perseus-vault 被放置到 ~/.local/bin/。启动服务:

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

这会在 stdio 模式下启动 MCP 服务端。如果你想通过 HTTP 访问(或配合 Web 界面),添加 --web --port 8767

perseus-vault serve --db ~/.mimir/data/perseus-vault.db --web --port 8767

与 Claude Code / Codex / Cursor 集成

一键集成所有已检测到的 Agent:

perseus-vault install-client --hooks --rules --all-detected

这条命令会:

  1. 自动检测已安装的 Claude Code、Codex、Cursor
  2. 将 MCP 服务注册写入各 Agent 的配置文件中(不会覆盖已有配置,会生成 .bak-perseus 备份)
  3. 注册会话生命周期钩子(会话开始时自动召回记忆,结束时自动保存)
  4. 将记忆使用规则追加到 CLAUDE.mdAGENTS.md

如果你只想集成某个特定的 Agent:

perseus-vault install-client --client claude-code --hooks --rules

也可以通过标准 MCP 配置手动连接:

{
  "mcpServers": {
    "perseus-vault": {
      "command": "perseus-vault",
      "args": ["serve", "--db", "~/.mimir/data/perseus-vault.db"]
    }
  }
}

核心操作:记和查

Perseus Vault 提供 55+ 个 MCP 工具,最核心的是这两个:

记记忆mimir_remember

echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"mimir_remember","arguments":{"category":"project_config","key":"framework","body_json":"{\"framework\":\"Next.js 14\",\"router\":\"App Router\",\"auth\":\"NextAuth.js\"}"}}}' | perseus-vault serve --db memory.db

查记忆mimir_recall

echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"mimir_recall","arguments":{"query":"项目使用什么框架"}}}' | perseus-vault serve --db memory.db

mimir_recall 默认使用混合检索模式——同时进行 BM25 关键词匹配和稠密语义搜索,然后通过 RRF(Reciprocal Rank Fusion)对结果排序。如果数据库中没有向量索引,会自动降级到纯 FTS5 关键词搜索。

实战场景:用记忆让 Agent 越用越懂你

场景一:项目配置持久化

每次启动 Claude Code 做重构前,先让它查阅记忆库中的项目配置:

// Agent 自动从 Perseus Vault 召回了:
// - 项目使用 Next.js 14、App Router、Prisma ORM
// - 认证使用 NextAuth.js
// - 测试框架是 Vitest
// - 代码风格是 Tailwind + shadcn/ui

Agent 不再需要你重复告知这些信息,可以直接进入工作状态。

场景二:关键决策追踪

你在重构中做了一个重要决策——”支付模块拆分为独立服务,使用 Stripe Connect”。把这个决策记入记忆:

mimir_remember(category="decision", key="payment-refactor-2026-07",
  body={"decision": "支付模块迁移到独立服务", "reason": "降低核心服务耦合度", "date": "2026-07-15"})

下次 Agent 处理相关代码时,会自动检索到这个决策上下文,避免产生矛盾的代码。

场景三:跨 Agent 共享上下文

你同时使用 Claude Code(写后端)和 Cursor(写前端),两个 Agent 共享同一个 Perseus Vault 数据库文件。前端的 Cursor 记录了 API 接口规范,后端的 Claude Code 自动感知这些约定——不需要你手动同步。

高级功能

加密存储:Perseus Vault 使用 AES-256-GCM 对记忆数据加密。通过 --encryption-key 参数指定密钥文件:

perseus-vault keygen --key-file ~/.mimir/secret.key
perseus-vault serve --db memory.db --encryption-key ~/.mimir/secret.key

生命周期的自动衰减:不常用的记忆会随时间衰减。通过 perseus-vault decay 命令手动触发衰减,或通过 perseus-vault prune 清理低价值记忆:

perseus-vault prune --db memory.db --category junk --min-decay 0.1 --dry-run

语义搜索:Perseus Vault 内置了量化版 all-MiniLM-L6-v2 模型(384 维),无需任何外部依赖即可进行语义搜索。如果你想使用 Ollama 或其他嵌入服务,指定 --llm-endpoint 即可覆盖。

Obsidian 同步:如果你使用 Obsidian 做知识管理,可以用 obsidian-sync 命令将记忆一键导出到 Obsidian 库:

perseus-vault obsidian-sync ~/obsidian-vault/Perseus/ --watch

总结

Perseus Vault 解决了一个简单但关键的问题:AI 编码 Agent 什么都不记得。一个 Rust 二进制文件(无外部依赖)、一个 SQLite 数据库文件、55+ 个 MCP 工具,让你和你的 Agent 共享一个持久的、可搜索的、加密的记忆空间。

安装试一下,从下次 Claude Code 会话开始,你会注意到它的不同——Agent 不再问”这个项目是什么?”,而是直接说”我看到了你上次做的那个决策,我继续推进”。

相关链接

发表评论

你的邮箱地址不会被公开,带 * 的为必填项。