Compartment
为 AI 代理提供加密、完全离线的本地长期记忆:单一加密保险库,多代理共享,运行时零网络、零遥测。
加密、离线、按记录密钥、命名空间ACL、审计链、pack签名验证、memory_unlock默认禁用、hook安装前备份settings.且有--no-hooks与uninstall路径,敏感数据处理证据充分。扣分点:--caller身份是声明式的(SECURITY.md自认),PostToolUse hook会修改编辑器配置,依赖均只给版本区间无锁定摘要。
pyproject注释显示mcp 1.x/2.x双版本兼容处理、VaultStaleError等具体错误、CI覆盖三平台。扣分:一致性声明(如12ms、99%召回)仅有文字断言,本次静态审查无法执行验证。
文档明确多OS差异(Linux窗口化、Windows无AF_UNIX的处理)、多agent共享、锁定vault的迁移路径。扣分:触发精度与能力边界主要靠文档描述,未见针对宿主模型覆盖工具指令的对抗性场景测试文件。
安装说明详尽(一键安装、CLI整合命令)、命名稳定性处理出色(保留engram别名)、known_limitations诚实(无法保护场景清单)、Apache-2.0完整。扣分:无可见FAQ/示例文件、无CHANGELOG文件(仅有releases链接)、维护者文档口吻为单人('I'),无治理或协作者信息。
定位清晰(离线加密记忆),与竞品对比表提供边际价值论证,检索数学透明。扣分:70MB共享进程与约6700条参考事实的默认占用量、加密开销对成本的影响只在SECURITY.md间接提及。
关键论断指向具体文件(SECURITY.md、docs/COMPARISON.md、ranking.py),CI的--assert-offline为离线声明提供可执行证明路径。扣分:多数性能/安全结论为自称('best security of any vector memory'),静态审查无法核实测量,且部分历史叙述(2026日期)超出可核对范围。
- 静态审查,未执行任何代码;所有性能与安全声明均为文档自称,置信度低。
- --caller 身份是声明式的,恶意宿主可冒名获取其命名空间授权;严格隔离需每宿主单独运行一个 serve 实例。
- PostToolUse hook 会修改 Claude Code 的 settings.;虽然先备份且可卸载,使用前请自行核对 diff。
- 安装会引入约 70MB 常驻嵌入进程与约 6,665 条参考事实;不需要时用开关关闭。
- 忘记口令即永久不可恢复(设计如此);如担心弱口令,启用 2fa keyfile。
- 发布者为未验证身份的个人维护者,无组织治理;企业采用前建议独立复核依赖与加密实现。
这个 Agent 能做什么,适合哪些场景?
Compartment(GitHub: MaxFreedomPollard/Compartment,Apache-2.0)是一个完全离线、加密的 AI 代理记忆系统,以 MCP 服务器形式运行,通过 stdio 提供服务。所有数据——包括嵌入向量——都以 XChaCha20-Poly1305 加密存放在本机的一个 vault 文件中,只有用户口令能解锁。检索采用混合式向量与关键词搜索,官方实测中位延迟约 11.6 毫秒。它内置本地 ONNX 嵌入模型,无 LLM 依赖、无 API key、无账户,并有运行时断网守卫(--assert-offline)由 CI 强制执行。配套提供菜单栏/托盘应用、浏览器仪表盘(仅 127.0.0.1)、关系图、签名记忆包和命令行工具,适配 Claude Code、Claude Desktop、Hermes Agent、OpenClaw、Cursor、VS Code 等 28 个 MCP 客户端。
以 compartment serve 作为 MCP 服务器运行,暴露 memory_search、memory_store、memory_store_many、memory_get、memory_forget、memory_link、memory_relations、memory_status 等工具。每条记忆是一条不超过 200 字符的断言,必须带 source 和 discovered 日期,可设 expires 过期;意见(opinion)通过 supersedes 替换旧记录。检索时对长文本按 448 token 窗口(步长 384)分窗嵌入取最大余弦,与基于自信息权重的关键词通道按软 OR 融合,再乘以重要度与新鲜度权重。compartment integrate claude|hermes|openclaw 一键接线对应代理,Claude Code 还会安装 PostToolUse 捕获钩子、导入已有记忆文件并安装 /compartmentalize 技能。桌面应用负责解锁、加锁、改口令和自动锁定;compartment dash 在本机浏览器只读展示整个保险库。
- 使用 Claude Code 或 Cursor 的开发者,希望代理跨会话、跨项目记住决策、凭据位置和偏好,而不把数据发给任何云端记忆服务。
- 处理敏感客户信息的咨询者或机构,需要合规级别的本地加密记忆(XChaCha20-Poly1305、Argon2id、2FA 密钥文件)。
- 在同一台机器上运行多个代理(Claude、Hermes、OpenClaw、CLI)的团队,希望它们共享一个保险库,用命名空间和 rw/ro 权限隔离。
- 需要在无网络的气隙机器上运行代理的用户,可用
compartment setup airgap-bundle准备离线安装。 - 想给代理预置领域知识的维护者,可用签名只读记忆包(
compartment pack build/install)分发策划好的记忆。 - 在意事实可追溯的用户:每条记忆带来源与日期、可过期、有哈希链审计日志(
compartment audit verify)。
这个 Agent 有哪些优点和局限?
- 离线保证由 CI 强制执行:全部测试套件在 --assert-offline 运行时守卫下于三大平台通过,运行时无网络调用。
- 加密彻底:嵌入向量也加密(向量可被反推回文本),支持每记录密钥的 --shred 彻底销毁、Argon2id 密钥槽和可选 2FA。
- 检索实测性能好:8 GB 笔记本上混合搜索中位 11.6 ms(p95 14.7 ms),20k 记录 HNSW 向量搜索 p95 0.68 ms。
- 多代理共享零成本:所有代理共用一个嵌入进程(约 68 MB),文件锁串行化写入,各代理有独立命名空间与权限。
- 排序数学透明:全部评分逻辑集中在 src/compartment/ranking.py,官方给出文档化对比表(docs/COMPARISON.md)并欢迎纠错。
- 嵌入模型固定为内置的 384 维 ONNX 模型,每个保险库只允许一个嵌入模型,换模型需
compartment reindex --re-embed重建。 - pip 安装需要 Python 3.11+;Windows 应用依赖 Microsoft Visual C++ 运行时;macOS 应用要求 13+。
- 每条记忆限 200 字符(max_memory_chars),超长会话需依赖
compartment atomize或 memory_store_many 拆分,对习惯整段存日志的用户是流程改变。 - memory_unlock 工具默认关闭(口令会进入模型上下文),代理无法自行解锁,自动化场景需要脚本或 CI 中用 COMPARTMENT_PASSPHRASE。
- 官方对比表标注日期为 2026 年 9 月 2 日,竞品能力描述可能随时间过时。
如何安装或部署这个 Agent?
免命令行:在 macOS 下载最新 release 中的 Compartment.pkg 并打开,它会引导设置口令、创建保险库并装入菜单栏。命令行方式(任一系统):pip install compartment && compartment init(需 Python 3.11+),或 pipx install compartment / uv tool install compartment 后执行 compartment init。Claude Code 插件方式:先 pip 安装并 init,再执行 /plugin marketplace add MaxFreedomPollard/Compartment 和 /plugin install compartment@maxfreedompollard。Docker:从源码检出目录运行 docker build -t compartment .。init 会要求设置口令、创建保险库、载入约 6,700 条参考事实并自动接线已安装的代理。
如何使用这个 Agent?
接线代理:compartment integrate claude(或 hermes、openclaw),其他 MCP 客户端在其配置中加入 {"mcpServers":{"compartment":{"command":"compartment","args":["serve"]}}},或运行 compartment integrate --list 查看支持的 28 个客户端。常用命令:compartment unlock/lock 开关保险库;compartment status、selftest、verify 查看状态与完整性;store/get/forget/search/recent 手动管理记忆;compartment dash 在浏览器查看仪表盘;compartment 2fa enable 启用密钥文件第二因子;compartment export --plaintext / import 实现无锁定迁移;lock --sign 生成 Ed25519 签名清单以便跨机器拷贝。任何 MCP 客户端重启后即可读写记忆。
这个 Agent 与同类方案有什么区别?
官方 docs/COMPARISON.md 将其与 @modelcontextprotocol/server-memory(明文 JSONL、无加密)、mem0、Graphiti (Zep)/Letta、claude-mem、basic-memory、Hindsight、Supermemory、Cognee、MemOS 对比:Compartment 是表中唯一静态加密(含向量)、无账户/API key 且运行时零网络的方案;多数竞品依赖 LLM 调用且默认开启遥测。