MemSearch 记忆层

为编码代理提供可跨平台检索的持久语义记忆。

Star 数
★ 2.6k
最近更新
4 天前
License
MIT
主语言
Python

30 秒速览

可在哪里用
通用 · 跨平台Codex · Claude Code · OpenAI API · Claude API
开始前需要
Python >=3.10MilvusShell / 命令行网络访问本地文件系统
典型场景
使用 Claude Code 与 Codex CLI 的开发者,希望在切换工具后继续检索此前关于 Redis、部署或架构决策的讨论。
主要局限
默认 ONNX bge-m3 首次使用需通过网络下载约 558 MB 模型。

这个 Agent 能做什么,适合哪些场景?

MemSearch 是面向 AI 编码代理的持久化语义记忆层,支持 Claude Code、Codex CLI、OpenClaw 和 OpenCode 插件,并提供 CLI 与 Python API。它把对话摘要和其他记忆保存为可编辑、可版本控制的 Markdown 文件,再用 Milvus 建立可重建的影子索引。检索采用向量、BM25 稀疏检索和 RRF 重排序,并支持从命中块扩展到完整 Markdown 段落或原始会话记录。默认可使用本地单文件 Milvus Lite;也可配置 Zilliz Cloud 或自托管 Milvus。它适合希望在多个编码代理或自建应用之间保留项目上下文的团队,但需要接受本地文件存储、索引维护和嵌入模型的运行成本。

插件在会话结束后捕获对话轮次并生成摘要,追加到 .memsearch/memory/ 下按日期保存的 Markdown 文件;Claude Code 示例还会写入 <!-- session:UUID --> 锚点。memsearch index 对 Markdown 重新分块,使用 SHA-256 跳过未变化内容,为新内容生成嵌入并写入 Milvus。memsearch search 执行 BM25 与稠密向量混合检索,再以 RRF 重排序;memsearch expand <chunk_hash> 返回命中块附近的完整段落。需要更深上下文时,文档所示的第三层可通过 parse-transcript <session.jsonl> 读取原始对话;开发者也可用 MemSearch(paths=[...])await mem.index()await mem.search() 嵌入自己的 Python 代理。

  1. 使用 Claude Code 与 Codex CLI 的开发者,希望在切换工具后继续检索此前关于 Redis、部署或架构决策的讨论。
  2. 维护长期代码库的工程师,需要在修改模块前找回某个功能、配置或迁移方案的历史取舍。
  3. 构建 Python 自定义代理的开发者,需要通过 MemSearch 为 Markdown 知识库加入索引和语义检索。
  4. 使用本地 Markdown 工作日志的个人或团队,希望文件仍可人工编辑、提交版本库,并让索引随改动更新。
  5. 需要用 Zilliz Cloud 或自托管 Milvus 为多用户环境配置专用后端的团队。

如何安装或部署这个 Agent?

运行环境要求 Python >=3.10。作为 CLI 安装并使用默认本地 ONNX 嵌入:

uv tool install "memsearch[onnx]"

然后执行:

memsearch config init
memsearch index ./memory/

默认嵌入为本地 CPU 上运行的 ONNX bge-m3,首次启动会从 HuggingFace Hub 下载约 558 MB 模型,不需要 API 密钥。若改用 OpenAI 嵌入,执行 memsearch config set embedding.provider openai,并提供 OPENAI_API_KEY。Codex CLI 插件可按文档执行:

git clone --depth 1 https://github.com/zilliztech/memsearch.git
bash memsearch/plugins/codex/scripts/install.sh
codex --yolo

如何使用这个 Agent?

先把待检索 Markdown 放入目录并运行 memsearch index ./memory/。使用 memsearch search "Redis caching" 查询,或使用 memsearch search "auth flow" --top-k 10 --json-output 获取可供脚本处理的结果;对命中项运行 memsearch expand <chunk_hash> 查看完整段落。需要持续同步时运行 memsearch watch ./memory/。在 Python 中可创建 mem = MemSearch(paths=["./memory"]),调用 await mem.index(),再调用 await mem.search("Redis config", top_k=3)。安装 Codex CLI 插件后,可用 $memory-recall what did we discuss about deployment? 召回记忆。

这个 Agent 有哪些优点和局限?

优点
  • Markdown 是事实来源,内容可人工编辑和版本控制;Milvus 索引可重建。
  • 同一后端覆盖 Claude Code、Codex CLI、OpenClaw 和 OpenCode,并且提供 CLI 与 Python MemSearch API。
  • 混合 BM25、稠密向量与 RRF 重排序,且支持 search → expand → transcript 的渐进式召回。
  • SHA-256 内容哈希和文件监控可避免对未变更内容重复嵌入,并自动同步改动。
局限
  • 默认 ONNX bge-m3 首次使用需通过网络下载约 558 MB 模型。
  • 默认 Milvus Lite 是单文件模式;多用户或团队专用实例需要配置 Zilliz Cloud 或 Docker 自托管 Milvus。
  • 自动捕获依赖各平台插件及其 hooks;Codex CLI 文档要求以 codex --yolo 启动以允许 ONNX 模型网络访问。
  • 高级 PROJECT.mdUSER.md 维护和从记忆生成技能默认关闭,启用后还涉及模型、提供商和执行间隔配置。

这个 Agent 与同类方案有什么区别?

存储设计上,MemSearch 将 Markdown 作为可编辑的事实来源,将 Milvus 定位为可重建的影子索引;这不同于只把记忆保存在向量数据库中的方案。嵌入可选本地 ONNX、OpenAI、Ollama 等提供商,Milvus 后端可在 Milvus Lite、Zilliz Cloud 与自托管 Milvus 之间切换。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 Star 最近更新 主语言 完整支持的平台
MemSearch 记忆层 当前 53 · 缺口较多 ★ 2.6k 4 天前 Python Codex · Claude Code · OpenAI API · Claude API
Obsidian Mind 79 · 表现良好 ★ 4.7k 21 天前 TypeScript Codex · Claude Code
Compartment 76 · 表现良好 ★ 582 1 天前 Python Codex · Claude Code
deja-vu 75 · 表现良好 ★ 875 4 天前 Go Codex · Claude Code

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
53/ 100 五分制 2.7 / 5
信任安全 11/29
可靠稳定 8/14
适用触发 12/18
规范维护 10/18
有效结果 9/13
证据核验 3/8
查看各维度的扣分理由
信任安全11 / 29 · 1.9/5

证据显示:插件默认捕获对话并写入本地Markdown,但未明确说明权限最小化;技能安装需用户确认,但后台维护任务默认关闭;数据流透明性较好,README详细描述了捕获、索引、检索流程;敏感数据处理未明确说明加密或脱敏;依赖版本有范围但未提供漏洞扫描证据;外部影响包括网络下载模型和上传到云服务,但未明确提示;回滚机制仅提及技能候选可回滚,但记忆索引重建未明确;来源归属未明确说明。扣分原因:权限最小化、用户确认、敏感数据处理、依赖安全、外部影响、回滚、来源归属均证据不足或部分缺失。

可靠稳定8 / 14 · 2.9/5

证据显示:README与pyproject.toml一致,测试覆盖了分块逻辑,但未提供完整测试结果;依赖声明明确,但未验证可用性;失败消息未在文档中说明。扣分原因:失败消息证据不足。

适用触发12 / 18 · 3.3/5

证据显示:明确面向Agent用户和开发者,场景丰富;能力边界通过CLI/API和插件划分;触发方式明确(命令或自然语言);环境适配涵盖多种平台和部署模式。扣分原因:部分能力边界(如后台维护)未详细说明。

规范维护10 / 18 · 2.8/5

证据显示:信息架构清晰,有架构图;安装说明详细;命名稳定(memsearch);示例丰富;已知限制未明确列出;MIT许可证明确;版本号存在但无changelog;维护责任未明确。扣分原因:已知限制、版本变更日志、维护责任证据不足。

有效结果9 / 13 · 3.5/5

证据显示:输出为Markdown文件,可直接使用;边际价值高,提供跨平台记忆;成本效益好,本地ONNX免费。扣分原因:无。

证据核验3 / 8 · 1.9/5

证据显示:README中的声明部分有代码示例支持,但未提供独立验证;测试覆盖部分功能,但未提供外部佐证;事实与推断未明确区分。扣分原因:声明可追溯性、交叉验证、事实推断分离均证据不足。

风险与缓解建议
  • 插件默认捕获所有对话,可能包含敏感信息,用户应了解并配置存储位置。
  • 后台维护任务和技能蒸馏默认关闭,但启用后可能自动修改文件,需用户明确授权。
  • 依赖ONNX模型下载和云服务上传,存在网络依赖和潜在数据外泄风险。
  • 未提供漏洞扫描或依赖安全审计证据,建议用户自行检查。
证据充分度: 评估于 2026年8月9日 审查版本 b734a142ea01 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →

常见问题

必须使用 Zilliz Cloud 吗?
不必。默认是零配置的本地单文件 Milvus Lite;也可以配置 Zilliz Cloud,或使用 Docker 部署的自托管 Milvus Server。
默认方案是否有 API 费用?
默认 ONNX bge-m3 在本地 CPU 运行,不需要 API 密钥;首次需要下载约 558 MB 模型。选择 OpenAI 等嵌入提供商时,则需要相应凭据。
记忆数据存在哪里,能否人工修改?
记忆以 Markdown 文件保存,插件默认使用 .memsearch/memory/;Milvus 是派生索引。修改文件后可运行 memsearch indexmemsearch watch 更新索引。
哪些客户端有直接插件支持?
文档明确列出 Claude Code、Codex CLI、OpenClaw 和 OpenCode。它们共享 MemSearch 后端,但各自的安装和捕获方式不同。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents