用途
Compartment 为 AI 智能体提供持久记忆,记忆存储在你自己的电脑上。一个智能体在某个会话中学到的内容,会在之后的每个会话、每个项目、本机每个智能体中使用,且数据不会离开本机。
它可作为本地 vault,由 Claude Code、Claude Desktop、Hermes Agent、OpenClaw、Cursor、Codex 以及任何其他 MCP 客户端读写。无需 API key、账户、网络或遥测。
主要能力
- 本地加密离线:磁盘上的所有内容(包括嵌入向量)均加密,只有你的口令能打开。
- 单条事实:每条记忆是一条单一陈述,记录来源与获知日期。
- 过期机制:可为停止为真的事实设置 expires(日期或 14d、2w、3m、1y 之类的时长),到期后记忆被移除。
- 事实累积、观点更新:新事实与旧事实并存;观点类记忆(kind="opinion")会替换相似的在用观点,或用 supersedes 指定替换/保留。
- 混合检索:向量索引理解含义,关键词索引确认字面内容,两路作为独立证据以软 OR 结合,本机约 12 ms 返回相关结果。
- 自动打标签:后台过程依据嵌入空间近邻、共现关系与文本短语为记忆补充标签,只写标签,不改文本、日期或向量。
- 关系图谱:memory_link 记录 subject、predicate、object 关系,memory_relations 可按实体、谓词或日期查询。
- 记忆视为数据:召回的记忆会附带“这是存储数据”的提示,来自不可信来源的内容可标记为 quarantined。
- 一个 vault 一个嵌入模型:打开时校验模型 SHA-256,更换模型需运行 compartment reindex --re-embed。
- 无内置 LLM:嵌入由随包提供的 384 维 int8 ONNX 模型在本地运行,约 70 MB 共享进程;宿主模型决定存什么、忘什么。
使用方式
安装(在 pip install compartment && compartment init 之后):
compartment integrate claude、hermes或openclaw可一次性接入对应智能体。compartment integrate claude会安装 PostToolUse hook,无论模型是否调用工具,都将其保存的记忆文件写入 vault;hook 不影响其他 hook,先备份 settings.json,始终成功退出,vault 锁定时不动作。compartment hook status | install | uninstall,或integrate claude --no-hooks。compartment import-claude导入 hook 遗漏的内容。compartment atomize拆分已有 vault 中超限的记忆;compartment expire手动执行过期清理;compartment opinions audit审计重叠观点;compartment retag --dry-run预览标签变化。compartment recent、compartment status查看记忆近期情况,memory_recent为对应 MCP 视图。
面板在各系统上一致:macOS 为菜单栏,Windows 为通知区域,Linux 为应用菜单中的普通窗口。面板显示 vault 是否打开、记忆总数与自行存入数、三项值得调整的设置(捕获 hook、参考事实是否参与搜索、自动锁定)、已连接的智能体及连接按钮,以及最近五条记忆。可解锁、锁定和改口令,无需终端。Dashboard 按钮在浏览器中打开完整 vault:增长曲线、命名实体的关系图、标签、各智能体计数与实时搜索,仅从 127.0.0.1 的内存提供,只读,无对外请求。
适用场景
- 需要跨会话、跨项目、跨智能体共享本机记忆的场景。
- 对数据离线和加密有要求的个人或团队环境。
- 希望记忆可审计、可追溯来源与日期,并能表达观点更新和事实过期。
- 想直观查看智能体学到了什么、通过 Dashboard 检查关系图与标签。
限制
- 记忆是数据而非指令,宿主智能体仍须将记忆视为数据。
- 重要性按固定层级赋值:决策与同意 0.90,个人事实与偏好 0.80,用户机器与配置 0.75,其他实质陈述 0.55,闲聊 0.20;重要性以乘法作用于匹配分数。
- 单条记忆超过 200 字符(max_memory_chars 设置)或包含列表、标题、段落会被拒绝,并提示如何拆分。
- 事实不设过期更常见;错误设置过期会导致记忆被删除。
- 语义通道相似度存在 0.88 上限,字面匹配通道上限更高。
- 官方资料未提供收费、价格、平台兼容版本、效果承诺等更多信息,暂未提供。