memsearch
跨平台 AI 编程代理的持久化语义记忆层,让 Claude Code / Codex / OpenC
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
跨平台 AI 编程代理的持久化语义记忆层,让 Claude Code / Codex / OpenC
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

想象这样一个场景: 你昨晚花了两个小时和 Claude Code 讨论项目中 Redis 缓存的 TTL 配置,第二天早上换了一台机器继续开发,却发现自己把那些细节忘得一干二净——只能重新描述一遍背景,AI 助手也记不住你们之前的结论。这种「上下文断层」是每一个重度使用 AI 编程工具的人的共同痛点。MemSearch 正是为解决这一痛点而生的开源项目。
MemSearch 由向量数据库公司 Zilliz(Milvus 的背后团队)开发和维护,GitHub 获得约 2000 颗星。项目的核心定位是:为 AI 编程代理(Agent)提供跨平台持久化语义记忆。与其说是「给 AI 加记忆」,不如说是「给人类和 AI 的协作过程留下可检索的痕迹」。
项目最早源于 Zilliz 内部工程师在日常使用 Claude Code 时的需求沉淀。随着 Claude Code、Codex CLI、OpenCode、OpenClaw 等 AI 编程工具的普及,开发者发现了一个共同问题:每次新会话都是「从零开始」,无法继承历史对话中的上下文。MemSearch 通过将对话/代码变更自动存入 Markdown 文件,再借助 Milvus 向量数据库实现语义检索,解决了这个问题。
MemSearch 的架构可以用一句话概括:「Markdown 是真相源,向量索引是派生缓存」。具体分为三层:
数据存储层采用「Markdown 文件 + Milvus 向量数据库」双存储。Markdown 文件(.memsearch/memory/YYYY-MM-DD.md)是人类可读、可版本控制的原始数据;Milvus 则是可重建的向量索引缓存。两者通过 SHA-256 内容哈希关联,相同内容不会重复索引。
检索层实现了三层召回 + 混合搜索策略:第一层是纯语义向量搜索(dense embedding);第二层扩展到同标题下的相邻内容块(expand);第三层扫描完整对话记录(transcript)。最终结果通过 BM25 稀疏向量 + Dense 向量 + RRF(Reciprocal Rank Fusion) reranking 合并排序。
嵌入层采用可插拔的 Provider 模式,默认使用 OpenAI Embeddings,同时支持 Google(Gemini)、Voyage AI、Jina、Mistral、Ollama 本地模型,以及纯本地的 sentence-transformers + ONNXRuntime,完全不依赖任何外部服务。

MemSearch 提供了远超「简单存储」的功能深度:
watchdog 库监控 .memsearch/memory/ 目录变化,文件变更自动触发增量索引,无需手动刷新。memsearch compact 命令可调用 GPT-4o / Claude / Gemini 自动将长对话块压缩为摘要,减少 token 消耗。MemSearch 的代码质量在同类开源项目中属于较高水准:
coverage 追踪行覆盖率,show_missing = true 确保无裸逃路径。~/.memsearch/config.toml → 项目级 .memsearch.toml → CLI 参数的四层覆盖。MemSearch 没有任何 Web UI,是典型的 CLI 工具库。安装极为简单:pip install memsearch(或 uv add memsearch)。Python 版本要求 3.10+,无 GPU 需求。
核心依赖只有:pymilvus(向量存储)、click(CLI 框架)、watchdog(文件监听)、openai(嵌入层)、setuptools(构建)。Milvus 可选本地轻量版(milvus-lite,仅 Linux/macOS)或独立的 Milvus 服务(支持全量功能)。
插件安装也很直观,以 Claude Code 为例:运行 /plugin marketplace add zilliztech/memsearch 和 /plugin install memsearch,重启 Claude Code 即可。
尽管功能丰富,MemSearch 也面临一些现实挑战:
milvus-lite 可以绕过独立的 Milvus 服务,但 Linux/macOS 之外的 Windows 用户(milvus-lite 不支持 sys_platform == 'win32')必须自建 Milvus 服务。MemSearch 代表了一个值得关注的方向:AI 编程工具的「记忆基础设施」。在 AI Agent 逐渐从「单次问答」向「长期任务执行」演进的背景下,如何让 Agent 保持跨会话的上下文一致性成为关键问题。
MemSearch 的做法——以 Markdown 为真相源(可读、可版本控制),以向量数据库为索引层(可检索)——比纯向量数据库方案更符合工程实践。它让用户始终掌控自己的数据,而不是把记忆托付给某个黑盒服务。
目前 Zilliz 已围绕 MemSearch 建立了包括 Claude Code、Codex CLI、OpenCode、OpenClaw 在内的插件生态,覆盖了主流 AI 编程工具。这个方向的竞争正在加剧,但 MemSearch 凭借 Milvus 的向量数据库基因和相对完善的工程化水平,目前处于领先位置。