Mnemos 是面向编程智能体的自动知识库(autopilot knowledge base)。其核心目标是让智能体在编码过程中自动构建并维护项目知识库,无需用户手动编写提示词、调用 remember() 或学习 API。安装一次后,智能体即可自动积累架构决策、缺陷根因和项目约定等记忆。
主要能力
Mnemos 与其他记忆服务器的区别在于它编译知识库,而非仅存储文本。它在后台运行完整流水线,包括质量门控、三层去重、自动摘要、文件链接和 MMR 上下文组装,这些过程全部自动完成,智能体无需自行编排去重、摘要、排序、打包或生命周期维护。
系统分为三层:
- 第一层:MCP 传输。标准 MCP 服务器,使用 stdio,兼容任何 MCP 客户端。
- 第二层:Autopilot 钩子。一条命令(如 mnemos setup claude)即可配置钩子、引导文件和 MCP 配置。会话开始时自动注入相关上下文;提交提示时在话题变化时自动搜索;会话结束时验证覆盖情况。
- 第三层:自动编译知识库。包含质量门控、三层去重、自动摘要、文件链接、MMR 上下文组装,全部自动触发。此外还有被动后台守护进程,持续检测记忆库中的过时内容、矛盾关系和缺失关联。
使用方式
安装后,通过 mnemos setup <client> 命令为客户端配置。支持将 claude 替换为 cursor、kiro、gemini-cli、codex 或 trae。该命令会写入:引导文件(如 CLAUDE.md、.cursorrules、.kiro/steering/mnemos.md),告知智能体哪些内容值得存储;钩子配置(如 .claude/hooks.json),连接生命周期事件;MCP 配置(.mcp.json),注册 mnemos serve 作为工具提供者。
三个钩子自动运行:
- 会话开始 → mnemos hook session-start:在 token 预算内组装相关记忆(MMR 多样化、文件加权),注入上下文,冷启动低于 200 毫秒。
- 提交提示 → mnemos hook prompt-submit:检测话题和意图变化,在变化有意义时自动搜索知识库,并遵守冷却时间以避免噪音。
- 会话结束 → mnemos hook session-end:验证是否捕获了持久记忆,可选存储最小面包屑,清理会话状态。
升级 Mnemos 后,需验证 CLI 和运行中的 MCP 服务器。可让智能体调用 mnemos_runtime,它会报告实际处理工具调用的 MCP 服务器进程信息,包括版本、主机、pid、启动时间、可执行文件、数据目录和项目 ID。若仍显示旧版本,关闭 MCP 客户端后重新打开。仅在关闭活动 MCP 客户端后,或有意接受重新连接所有活动 Mnemos 传输时,才使用 pkill -f "mnemos serve"。
日常 mnemos check 不需要 MCP 运行时 JSON。公开发布或升级验证应传入 --mcp-runtime,以便在发布前捕获过时的 MCP 服务器。
被动 Autopilot 守护进程
除钩子外,Mnemos 还运行后台守护进程持续改进知识库:
- 过时检测:标记引用已删除文件或过时模式的记忆。
- 矛盾检测:发现相互冲突的记忆。
- 关系推断:自动链接相关记忆。
- 回填:为缺少摘要的记忆追溯生成摘要。
- 自动编译:将符合条件的源记忆编译为可复用的项目知识。
验证自动循环
Mnemos 提供配置、原始活动、知识质量和端到端循环就绪度的独立视图。mnemos check 以只读方式打开数据库,不运行迁移、不启动工作进程、不修改记忆。mnemos check --fix 范围有意收窄:仅在生成经过验证的清理计划后,归档较旧的自动生成报告。
性能基准(延迟)
硬件:M1 Pro,16GB RAM,SQLite 位于 SSD。延迟可能因环境而异。大多数操作保持在 60 毫秒以下,与数据集大小无关。钩子子命令使用 InitLight 模式,无后台工作进程,不中断会话。价值基准(token 节省、精度、避坑)仍在进行中,方法论见 DOGFOODING_RUNBOOK.md。
安装后快速开始
大多数用户无需手动操作。配置解析顺序为:显式 --config、项目本地 .mnemos/config.yaml、然后 ~/.mnemos/config.yaml。环境变量使用 MNEMOS_ 前缀。Mnemos 自动分类,可通过 --type 标志手动覆盖。
自动配置
每个客户端一条命令。标志:--global(为所有项目安装)、--force(覆盖现有)、--project <id>(覆盖项目 ID)。对于 Claude Code,--project <id> 会将 MNEMOS_PROJECT_ID 写入 MCP 条目和钩子命令。Claude 子智能体可能不会收到会话开始钩子上下文,主智能体应在委派前调用 mnemos_context,并在子智能体任务提示中包含相关记忆或记忆 ID。Codex 使用 CLI 和 VSCode 扩展共享的单一全局配置,--global 和 --local 被忽略,设置后需重启两者。
与其他 MCP 客户端配合
对于 Trae、OpenClaw、Paperclip 或 Claude Desktop 等,可手动连接。Mnemos 使用标准 MCP over stdio,只需将 JSON 片段添加到客户端的 MCP 配置文件(如 trae.json、openclaw.json、paperclip.config.json 或 claude_desktop_config.json)。
适用场景与限制
Mnemos 不是聊天机器人记忆 SaaS,不适用于客服机器人中的用户偏好回忆(建议使用 Mem0)。它不是时间知识图谱数据库,不适用于业务事实的 valid-at/invalid-at 推理(建议使用 Zep)。它不是云产品,没有 Mnemos 云,将来也不会有。它不特定于框架,MCP 原生,可与任何支持 MCP 的工具配合。Mnemos 只做一件事:为智能体提供可自行编译的知识库。
路线图:v1.1.14(当前)包含完整自动流水线、自动编译、被动自动注入、循环验证、来源支持的基准、Codex 支持;v1.2(下一个)包含分发、公开基准证据、MCP Registry、HN 发布;v1.3(计划)通过 git 实现团队记忆,共享 .mnemos/shared/;v2.0+(待定)跨项目记忆范围、记忆压缩,由用户反馈驱动。