memU 个人记忆库
把多款编程助手的会话经验沉淀为可检索、可复用的 Markdown 技能。
按维度查看评分与理由
证据显示:README 描述了安装和卸载流程,卸载默认保留记忆存储和配置,需用户明确要求才删除记忆,这体现了用户确认和回滚意识。但未提供权限最小化的具体实现细节,如文件系统访问范围、网络权限等。数据流透明性较好,README 说明了数据流向(记录、注入、提交、检索)和存储位置。敏感数据处理方面,提到 API 密钥和配置,但未说明加密或保护措施。依赖安全方面,pyproject.toml 列出了依赖版本,但未提供漏洞扫描或审计证据。外部影响方面,安装会修改宿主指令文件,但未说明是否征得用户同意。回滚方面,卸载保留数据,但未提供版本回滚机制。来源归属方面,有作者和联系方式,但发布者未验证。
证据显示:README 和 pyproject.toml 描述一致,测试文件存在,表明一定的一致性。依赖可用性方面,列出了依赖和版本,但未提供锁定文件或镜像。失败消息方面,测试中有错误匹配,但未提供用户友好的错误处理文档。
证据显示:README 列出了多种宿主代理和操作系统,场景明确。能力边界方面,说明了支持和不支持的代理模式。触发精度方面,描述了检索和记忆的触发条件。环境适配方面,支持多种操作系统和 Python 版本。
证据显示:README 结构清晰,有快速开始、配置、宿主适配器等章节。安装说明详细,包括 pip、npx、uvx。命名稳定,有版本号。示例和 FAQ 方面,有使用示例,但无 FAQ。已知限制方面,README 中提到了部分限制。许可证为 Apache-2.0,但元数据为 NOASSERTION。版本变更日志缺失。维护责任方面,有作者和联系方式,但未明确维护计划。
证据显示:输出可用性方面,提供了 CLI 命令和检索结果。边际价值方面,提供了跨代理记忆功能,有独特价值。成本效益方面,声称免费、无限,但未提供性能数据。
证据显示:README 中的声明部分有测试支持,但未提供可追溯的链接。交叉来源验证方面,未提供外部验证。事实与推断分离方面,README 中区分了事实和推断,但不够明确。
- 发布者身份未验证,安装前应审查代码。
- 安装会修改宿主指令文件,可能影响代理行为,需谨慎。
- API 密钥和配置存储未说明加密措施,存在泄露风险。
- 依赖版本未锁定,可能引入不兼容或漏洞。
- 卸载默认保留数据,但用户需明确要求删除,可能造成数据残留。
这个 Agent 能做什么,适合哪些场景?
memU 是面向个人的跨会话、跨代理、跨设备记忆系统,以共享的 LLM Wiki 形式保存知识。它以各宿主的 sidecar 二进制运行,例如 memu-codex、memu-claude-code 和 memu-agent,并从本地会话日志中提取可复用内容。后台桥接任务将新会话拆为任务文件,由宿主代理自行决定是否创建或更新 Markdown 技能;MemoryService 不发起 LLM 或聊天调用。提交后的技能通过嵌入索引存入 skill track,后续任务可通过 progressive_retrieve 检索。存储可使用本地 SQLite、Postgres 或 memU Cloud,所有已配置宿主共享同一记忆后端。
宿主适配器读取已识别的会话记录,例如 Codex 的 ~/.codex/sessions/**/*.jsonl、Claude Code 的项目 JSONL,或 OpenClaw/Hermes 的只读 SQLite 数据。record 流程通过 prepare 将会话切成带上下文和路径的自演化任务;代理读取已有技能后选择不处理、补丁更新,或新增技能 Markdown。commit 通过 commit_results 提交磁盘上的改动,MemoryService 为技能名称和描述生成嵌入并存入 skill track。inject 流程会在宿主指令文件加入检索要求,使代理在回答前运行 <binary> retrieve,并经 progressive_retrieve 返回相关记忆。memu-agent detect 可探测未提供专用二进制的代理的日志与可修改指令文件,<binary> doctor 则检查配置、模式和一次实时检索。
- 使用 Codex 的开发者,希望把 ~/.codex/sessions 中反复出现的项目决策和操作流程带入下一次编码任务。
- 同时使用 Claude Code 与 Cursor 的个人开发者,希望一个工具生成的技能能被另一款已配置工具检索。
- 在单机上处理私有项目的用户,希望使用 SQLite 或自己的 Postgres 存储,而不是云端记忆库。
- 维护 OpenClaw、Hermes Agent 或 WorkBuddy 工作流的用户,希望从其已存在的会话数据库或 JSONL 历史中沉淀技能。
- 使用没有专用适配器的命令行代理的用户,希望先用 memu-agent detect 判断其是否具备会话采集和指令注入条件。
这个 Agent 有哪些优点和局限?
- 会话采集、技能提炼和未来检索形成闭环,产物是可阅读和可编辑的 Markdown 技能,而非仅有不可见摘要。
- 专用适配器覆盖 Codex、Claude Code、Cursor、OpenClaw、Hermes Agent、WorkBuddy 和 Cola,并可由 memu-agent detect 处理其他可识别的 JSONL 宿主。
- 同一 ~/.memu/config.env 可让多个已配置宿主共享记忆;后端同时支持 SQLite、Postgres 和 memU Cloud。
- MemoryService 只负责存储、嵌入和检索,是否将会话经验写成技能由代理完成。
- 宿主适配器需要读取本地会话日志并修改相应的指令文件,采用前应评估这些本地数据和配置变更。
- 自托管部署仍要求嵌入提供商及其 API key;默认提供商为 OpenAI,也可配置 Jina、Voyage、Doubao 或 OpenRouter。
- 支持状态会随宿主集成演进而变化;ChatGPT Chat 模式和 Claude Chat/Cowork 不受支持,Linux 上 Codex 仅标为检索支持。
- SQLite 使用暴力余弦搜索且面向单写入者;并发访问或大型存储需要 Postgres、pgvector 以及额外的 postgres 安装项。
如何安装或部署这个 Agent?
运行环境为 Python 3.11+。可安装 CLI:pip install memu-cli;也可使用 npx memu-cli --help,或无需安装地运行 uvx --from memu-cli memu。云端模式需在 memu.so 获取 API key,并按宿主使用相应二进制;自托管模式需配置 ~/.memu/config.env,至少为宿主适配器设置 MEMU_DB,并设置 MEMU_EMBED_PROVIDER、MEMU_API_KEY、MEMU_EMBED_MODEL 和可选的 MEMU_BASE_URL。MEMU_MEMORY_MODE 用于选择 Local 或 Cloud;Local 默认为兼容旧配置。完成宿主安装后运行 <binary> doctor 验证配置和检索路径。
如何使用这个 Agent?
安装并配置后,宿主适配器会通过已注册的桥接任务采集新会话,并在宿主指令文件中要求代理在回答前检索记忆。可手动执行:memu-codex retrieve "What should I remember about this project?";其他宿主可换用 memu-claude-code、memu-cursor、memu-openclaw、memu-hermes、memu-workbuddy 或 memu-agent。没有专用适配器时,先运行 memu-agent detect 查看系统中发现的会话日志和指令文件。若需要本地或并发存储,可将 MEMU_DB 指向 SQLite DSN 或 Postgres DSN;Postgres 需要安装 memu-cli[postgres]。
这个 Agent 与同类方案有什么区别?
与只在单一助手内保留上下文的做法相比,memU 将多个已配置宿主的会话知识写入共享后端;与 memU Cloud 相比,自托管模式将记忆放在用户配置的本地 SQLite 或 Postgres 中,但仍需要嵌入提供商。