Compartment

为 AI 代理提供加密、完全离线的本地长期记忆:单一加密保险库,多代理共享,运行时零网络、零遥测。

Star 数
★ 584
最近更新
2 天前
License
Apache-2.0
主语言
Python

30 秒速览

运行形态
命令行工具桌面应用MCP 服务器
可在哪里用
通用 · 跨平台Codex · Claude Code
费用
免费,无需付费服务
上手难度
低 · 几分钟可跑通
开始前需要
Python 3.11+(pip 方式)Microsoft Visual C++ 运行时(Windows 应用)macOS 13+(应用)Shell / 命令行本地文件系统MCP Server
典型场景
使用 Claude Code 或 Cursor 的开发者,希望代理跨会话、跨项目记住决策、凭据位置和偏好,而不把数据发给任何云端记忆服务。
不适合
  • 需要把长会话记录整段直接存入记忆的用户,单条上限200字符
  • 希望由智能体自行解锁保险库的全自动流水线,memory_unlock 默认关闭
  • 需要更换嵌入模型或使用自选向量模型的团队,每个保险库仅限一个内置模型

这个 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 在本机浏览器只读展示整个保险库。

  1. 使用 Claude Code 或 Cursor 的开发者,希望代理跨会话、跨项目记住决策、凭据位置和偏好,而不把数据发给任何云端记忆服务。
  2. 处理敏感客户信息的咨询者或机构,需要合规级别的本地加密记忆(XChaCha20-Poly1305、Argon2id、2FA 密钥文件)。
  3. 在同一台机器上运行多个代理(Claude、Hermes、OpenClaw、CLI)的团队,希望它们共享一个保险库,用命名空间和 rw/ro 权限隔离。
  4. 需要在无网络的气隙机器上运行代理的用户,可用 compartment setup airgap-bundle 准备离线安装。
  5. 想给代理预置领域知识的维护者,可用签名只读记忆包(compartment pack build/install)分发策划好的记忆。
  6. 在意事实可追溯的用户:每条记忆带来源与日期、可过期、有哈希链审计日志(compartment audit verify)。

如何安装或部署这个 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 有哪些优点和局限?

优点
  • 离线保证由 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 与同类方案有什么区别?

官方 docs/COMPARISON.md 将其与 @modelcontextprotocol/server-memory(明文 JSONL、无加密)、mem0、Graphiti (Zep)/Letta、claude-mem、basic-memory、Hindsight、Supermemory、Cognee、MemOS 对比:Compartment 是表中唯一静态加密(含向量)、无账户/API key 且运行时零网络的方案;多数竞品依赖 LLM 调用且默认开启遥测。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
Compartment 当前 76 · 表现良好 命令行工具免费 ★ 584 2 天前 Python Codex · Claude Code
Mnemo Cortex 75 · 表现良好 自托管服务免费 ★ 159 今天 Python Codex · Claude Code · Claude.ai
Remnic 智能体记忆 85 · 表现良好 命令行工具免费 + 模型费 ★ 227 今天 TypeScript ChatGPT · Codex · Claude Code · OpenAI API
Emulo 78 · 表现良好 Agent 插件 / 技能免费 + 模型费 ★ 298 10 天前 HTML Codex · Claude Code

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
表现良好
76/ 100 五分制 3.8 / 5
本评测基于 2026年9月7日 的源码;此后该项目发布了 4 个正式版本,尚未复审。分数与结论只代表评测时的版本。 最近版本 ↓
信任安全 22/29
可靠稳定 11/14
适用触发 14/18
规范维护 14/18
有效结果 10/13
证据核验 5/8
查看各维度的扣分理由
信任安全22 / 29 · 3.8/5

加密、离线、按记录密钥、命名空间ACL、审计链、pack签名验证、memory_unlock默认禁用、hook安装前备份settings.且有--no-hooks与uninstall路径,敏感数据处理证据充分。扣分点:--caller身份是声明式的(SECURITY.md自认),PostToolUse hook会修改编辑器配置,依赖均只给版本区间无锁定摘要。

可靠稳定11 / 14 · 3.9/5

pyproject注释显示mcp 1.x/2.x双版本兼容处理、VaultStaleError等具体错误、CI覆盖三平台。扣分:一致性声明(如12ms、99%召回)仅有文字断言,本次静态审查无法执行验证。

适用触发14 / 18 · 3.9/5

文档明确多OS差异(Linux窗口化、Windows无AF_UNIX的处理)、多agent共享、锁定vault的迁移路径。扣分:触发精度与能力边界主要靠文档描述,未见针对宿主模型覆盖工具指令的对抗性场景测试文件。

规范维护14 / 18 · 3.9/5

安装说明详尽(一键安装、CLI整合命令)、命名稳定性处理出色(保留engram别名)、known_limitations诚实(无法保护场景清单)、Apache-2.0完整。扣分:无可见FAQ/示例文件、无CHANGELOG文件(仅有releases链接)、维护者文档口吻为单人('I'),无治理或协作者信息。

有效结果10 / 13 · 3.8/5

定位清晰(离线加密记忆),与竞品对比表提供边际价值论证,检索数学透明。扣分:70MB共享进程与约6700条参考事实的默认占用量、加密开销对成本的影响只在SECURITY.md间接提及。

证据核验5 / 8 · 3.1/5

关键论断指向具体文件(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。
  • 发布者为未验证身份的个人维护者,无组织治理;企业采用前建议独立复核依赖与加密实现。
证据充分度:低 评估于 2026年9月7日 审查版本 2686197034ed 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. v4.13.0 Compartment 4.13.0
    发布说明摘录
    Compartment 4.13.0 is a compatibility release: it is about Compartment installing, starting and staying connected on every system and in every agent, including the places it used to fail quietly - agents' sandboxed shells, Windows on ARM, Intel Macs, containers, and GUI apps that cannot see your PATH. 4.12.0 was merged but never published, so its 79 stability fixes ship here too. Downloads | File | For | |---|---| | Compartment-4.13.0.pkg | macOS on Apple silicon, one click, with the menu bar app | | Compartment-4.13.0.dmg | macOS on Apple silicon, drag to Applications | …
    在 GitHub 查看 ↗
  2. v4.11.0 4.11.0 - the menu bar opens at once, and one rule for what to store
    发布说明摘录
    The menu bar panel no longer opens your vault every time you click it, every agent now gets the same, narrower rule for what to store, and a race that could lose a memory while the vault was being opened is fixed. The menu bar Every click on the icon used to start two fresh Compartment programs, compartment status and then compartment recent. Each one loaded Python and decrypted the whole vault, thousands of starting memories included, to show a count and five lines. The second one then rewrote the vault file on its way out, which made every running agent's server read the whole vault …
    在 GitHub 查看 ↗
  3. v4.10.1 4.10.1 - error corrections
    发布说明摘录
    Error corrections.
    在 GitHub 查看 ↗

常见问题

需要联网或付费账户吗?
不需要。无 API key、无账户、无遥测,运行时零网络由 --assert-offline 守卫和 CI 强制;嵌入模型包含在约 30 MB 的 wheel 中。
口令丢了怎么办?
Compartment 从不生成恢复短语,且重启后保险库自动锁定(解锁凭据绑定内核内存中的每次开机随机密钥)。新版本保险库不含恢复短语机制,丢失口令即无法打开,务必妥善保存。
多个代理同时使用会冲突吗?
写入由文件锁串行化,各进程会感知他人写入并重载;每个代理有独立命名空间,可在设置文件中授予 rw/ro/none 权限。
如何迁移到新机器?
锁定保险库(可加 --sign 生成 Ed25519 签名清单),拷贝 ~/.compartment/memory.vault 到新机,安装 Compartment 后用口令解锁。也可用 export --plaintext 导出 JSONL 以彻底避免锁定。
它自己会用 LLM 决定记什么吗?
不会。Compartment 内无 LLM,嵌入在本地 ONNX 进程完成;由宿主模型决定存储与遗忘内容,Compartment 只负责捕获、加密与检索,这保证了离线属性和可复现性。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents