mnemos
为你的编程代理打造的自动驾驶知识库。
安装一次。从那时起,你的代理就会在你编码的同时,自动为你构建一个结构化的项目知识库。无需记住提示词,无需调用 remember(),无需学习 API。
单个 Go 二进制文件。嵌入式 SQLite。零云端依赖。无 Docker。无 Python。无 Node 运行时。
Agent (Claude Code / Cursor / Kiro / Gemini CLI / ...)
↓ MCP stdio
mnemos serve
↓
Auto-compiled knowledge base (~/.mnemos/mnemos.db)mnemos 的独特之处
每个内存服务器都能存储文本。而 mnemos 编译的是一个知识库。
当其他服务器期望你(或精心调整的提示词)来决定何时存储和何时检索时,mnemos 在后台运行完整的流水线:
Agent action → mnemos auto-pipeline:
├── Quality gate (reject/rewrite low-value content)
├── 3-tier dedup (hash → fuzzy → semantic)
├── Auto-summarize (extractive, fast; LLM if available)
├── File linking (extract identifiers, link to code)
├── Type classification (episodic / long_term / semantic / working)
├── Quality scoring (for retrieval ranking)
└── Decay scheduling (so knowledge base stays relevant)
Retrieval:
├── Hybrid search (FTS5 + optional semantic + RRF)
├── File-overlap boost (memories about active files rank higher)
├── MMR diversity (kill redundant results)
├── Adaptive packing (full content or summary based on budget)
└── Token-budget cap (always fits in context)你不需要调用任何这些功能。你的代理也不需要调用。钩子会在会话开始、提示词提交和会话结束时自动触发它们。
Related MCP server: RecallNest
三层架构,现已发布
第一层 — MCP 传输。 标准 MCP 服务器,stdio,适用于任何 MCP 客户端。
第二层 — 自动驾驶钩子。 一条命令 (mnemos setup claude) 即可连接钩子 + 引导 + MCP 配置。会话开始时自动注入相关上下文。提示词提交时自动根据主题变更进行搜索。会话结束时验证覆盖范围。
第三层 — 自动编译的知识库。 质量门控、三级去重、自动摘要、文件链接、MMR 上下文组装 — 全部自动化。你无需手动触发。包含被动后台守护进程,持续检测内存库中的陈旧信息、矛盾和缺失的关系。
诚实对比
Mem0 | Zep/Graphiti | engram | OMEGA | mnemos | |
原生支持 MCP | ✓ | ✓ | ✓ | ✓ | ✓ |
单个二进制文件,无运行时依赖 | — | — | ✓ | — | ✓ |
零云端 / 本地优先 | 部分 | — | ✓ | ✓ | ✓ |
一键式自动驾驶设置 | — | — | — | — | ✓ |
自动质量门控 | — | — | — | — | ✓ |
自动摘要 | — | — | — | — | ✓ |
自动文件链接 (感知 git) | — | — | — | — | ✓ |
MMR 上下文组装 | — | — | — | — | ✓ |
被动后台守护进程 | — | — | — | — | ✓ |
时间知识图谱 | — | ✓ | — | — | 部分 (衰减 + 覆盖) |
自托管成本 | $0-云端 | ~$50/月 (Neo4j) | $0 | $0 | $0 |
Mnemos 并不想成为 Zep — 它们的目标不同。如果你需要对业务事实进行时间推理并拥有企业级基础设施,Zep 是最佳选择。如果你是一名编程代理用户,想要一个能在笔记本电脑上自动运行的自动驾驶知识库,那么 mnemos 是最佳选择。
安装
# Homebrew (macOS / Linux)
brew install s60yucca/tap/mnemos && mnemos setup claude
# curl (verify mnemos.dev is live before using)
curl -fsSL https://mnemos.dev/install.sh | bash && mnemos setup claude
# npm (coming in v1.2)
# npx mnemos setup claude
# Build from source (requires Go 1.23+)
git clone https://github.com/s60yucca/mnemos
cd mnemos && make build将 claude 替换为 cursor、kiro 或 gemini-cli。重启你的客户端。自动驾驶功能即刻运行。
自动驾驶的实际工作原理
mnemos setup <client> 会写入:
引导文件 (
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
验证是否捕获了持久性记忆。可选择存储最小化的面包屑信息。清理会话状态。
引导文件告诉代理什么值得记忆。钩子处理检索、去重、摘要、链接 — 这样代理就不必浪费 Token 去思考内存管理的逻辑。
被动自动驾驶守护进程
除了钩子之外,mnemos 还运行一个后台守护进程,持续改进你的知识库:
陈旧检测 — 标记引用已删除文件或过时模式的记忆
矛盾检测 — 发现相互冲突的记忆
关系推断 — 自动链接相关的记忆
回填 — 为缺乏摘要的记忆追溯生成摘要
mnemos autopilot status # check daemon state
mnemos autopilot run # trigger immediate run
mnemos autopilot run --dry-run # preview findings without writing
mnemos autopilot report # view latest findings性能基准测试 (延迟)
操作 | 350 条记忆 | 1,500 条记忆 |
| 57 毫秒 | 24 毫秒 |
| 55 毫秒 | 22 毫秒 |
| 42 毫秒 | 39 毫秒 |
| 27 毫秒 | 108 毫秒 |
hook session-start (冷启动) | < 200 毫秒 | — |
二进制文件大小 | ~12 MB | — |
硬件:M1 Pro, 16GB RAM, SSD 上的 SQLite。你的延迟可能会有所不同。
无论数据集大小如何,大多数操作都保持在 60 毫秒以下。钩子子命令使用 InitLight 模式 — 无后台工作进程,无会话中断。
价值基准测试(Token 节省、精度、避免陷阱)正在进行中。 请参阅 DOGFOODING_RUNBOOK.md 了解方法论。在公开发布之前,真实数据将替换此占位符。
MCP 工具
工具 | 功能 |
| 存储记忆(完整自动流水线透明运行) |
| 混合 FTS + 语义 + 文件重叠搜索,带 MMR |
| 为会话开始组装预算感知、多样化的上下文 |
| 按 ID 获取 |
| 更新内容、摘要或标签 |
| 软删除(可通过 maintain 恢复) |
| 链接两条记忆 (supersedes, caused_by, depends_on) |
| 运行衰减、归档、GC、陈旧检测 |
安装后的快速入门
# Agents call these automatically via MCP. You can also use directly:
mnemos store "JWT uses RS256, 1h expiry, config in auth/config.go"
mnemos search "token expiry"
mnemos stats
mnemos maintain配置
大多数用户无需触碰此项。但如果你需要:
# ~/.mnemos/config.yaml
embeddings:
provider: noop # noop (default) | ollama | openai
# Pure FTS works fine. Enable semantic for meaning-based search.
quality_gate:
min_words: 5
max_words: 200
min_density: 0.3
require_specific: true # long_term memories need project identifiers
duplicate_threshold: 0.8
summarization:
extractive: true # always on, fast, offline
file_linking:
enabled: true # auto-disables outside git
hook:
enabled: true
search_cooldown: 5m
session_start_max_tokens: 2000
mmr_lambda: 0.7 # 0=max diversity, 1=max relevance
file_boost: 0.3
autopilot:
enabled: true
interval: 15m
contradiction_enabled: false记忆类型
Mnemos 会自动分类。可通过 --type 标志手动覆盖。
类型 | 衰减率 | 用途 |
| 快 (~1 天) | 待办事项、临时笔记、WIP |
| 中 (~1 个月) | 会话事件、Bug 修复 |
| 慢 (~6 个月) | 架构决策 |
| 非常慢 | 事实、定义、知识 |
| 快 | 活动任务上下文 |
为什么我构建了这个
我厌倦了每天早上都要向 Claude Code 重新解释我的项目。
我尝试过现有的内存服务器。它们大多数都能很好地存储文本。但每一个都期望我——或者一个精心调整的提示词——来决定何时存储和何时检索。那不是知识库。那只是一个带有 MCP 包装器的数据库。
Mnemos 是我为了实现真正的自动化而构建的。mnemos setup claude,重启编辑器,知识库就会自动编译。
自动驾驶设置 — 每个客户端一条命令
mnemos setup claude # writes CLAUDE.md, .claude/hooks.json, .mcp.json
mnemos setup cursor # writes .cursorrules, .mcp.json
mnemos setup kiro # writes .kiro/steering/mnemos.md, .kiro/mcp.json
mnemos setup gemini-cli # writes GEMINI.md, .gemini/settings.json, .mcp.json标志:--global (为所有项目安装), --force (覆盖现有配置)。
CLI 参考
mnemos init # first-time setup
mnemos store "..." # store (auto-pipeline)
mnemos search "auth" # hybrid search
mnemos list --project myapp # list memories
mnemos get <id> # fetch by id
mnemos update <id> --content "..." # update
mnemos delete <id> # soft delete
mnemos relate <src> <tgt> --type supersedes # typed relation
mnemos stats # storage + quality stats
mnemos maintain # decay + stale + GC
mnemos serve # MCP server (stdio)
mnemos version
# Autopilot setup
mnemos setup claude | cursor | kiro | gemini-cli [--global] [--force]
# Passive autopilot daemon
mnemos autopilot status
mnemos autopilot run [--dry-run] [--project <id>]
mnemos autopilot report [--project <id>]
# Backfill
mnemos backfill summaries --project <id> [--dry-run] [--limit N]
# Hook subcommands (called by clients, not manually)
mnemos hook session-start
mnemos hook prompt-submit
mnemos hook session-endmnemos 不是什么
不是聊天机器人内存 SaaS。 如需在客户支持机器人中进行用户偏好召回,请使用 Mem0。
不是时间知识图谱数据库。 如需对业务事实进行有效/无效推理,请使用 Zep。
不是云产品。 没有 mnemos 云。将来也不会有。
不是框架特定的。 原生支持 MCP。适用于任何支持 MCP 的工具。
Mnemos 只做一件事:为代理提供一个自动编译的知识库。
路线图
请参阅 ROADMAP.md。简要版本:
v1.1.1 (已发布): 完整自动流水线、MMR 上下文组装、文件感知检索、被动自动驾驶守护进程、基准测试框架
v1.2 (下一版本): 公共价值基准测试 (dogfooding)、npm 包装器、演示 GIF、HN 发布
v1.3 (计划中): 通过 git 实现团队记忆 — 共享
.mnemos/shared/以获取队友知识v2.0+ (待定): 跨项目内存范围、内存压缩,由用户反馈驱动
社区
许可证
MIT
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/s60yucca/mnemos'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
