MemSearch 记忆层
为编码代理提供可跨平台检索的持久语义记忆。
- Star 数
- ★ 2.8k
- 最近更新
- 2 天前
- License
- MIT
- 主语言
- Python
- FA 评分
- 69/100 · 存在缺口
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台Codex · Claude Code · OpenAI API · Claude API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 使用 Claude Code 与 Codex CLI 的开发者,希望在切换工具后继续检索此前关于 Redis、部署或架构决策的讨论。
- 不适合
- 不愿自行管理Markdown文件、索引与嵌入运行时的用户
- 需要开箱即用多用户托管服务、不想配置Zilliz Cloud或自建Milvus的团队
- 源码审查
- 69/100 · 存在缺口
这个 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 代理。
- 使用 Claude Code 与 Codex CLI 的开发者,希望在切换工具后继续检索此前关于 Redis、部署或架构决策的讨论。
- 维护长期代码库的工程师,需要在修改模块前找回某个功能、配置或迁移方案的历史取舍。
- 构建 Python 自定义代理的开发者,需要通过
MemSearch为 Markdown 知识库加入索引和语义检索。 - 使用本地 Markdown 工作日志的个人或团队,希望文件仍可人工编辑、提交版本库,并让索引随改动更新。
- 需要用 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
MemSearchAPI。 - 混合 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.md、USER.md维护和从记忆生成技能默认关闭,启用后还涉及模型、提供商和执行间隔配置。
这个 Agent 与同类方案有什么区别?
存储设计上,MemSearch 将 Markdown 作为可编辑的事实来源,将 Milvus 定位为可重建的影子索引;这不同于只把记忆保存在向量数据库中的方案。嵌入可选本地 ONNX、OpenAI、Ollama 等提供商,Milvus 后端可在 Milvus Lite、Zilliz Cloud 与自托管 Milvus 之间切换。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| MemSearch 记忆层 当前 | 69 · 存在缺口 | Agent 插件 / 技能免费 + 模型费 | ★ 2.8k | 2 天前 | Python | Codex · Claude Code · OpenAI API · Claude API |
| funes 智能体记忆库 | 81 · 表现良好 | 命令行工具免费 | ★ 589 | 2 天前 | Rust | Codex · Claude Code |
| deja-vu | 76 · 表现良好 | 命令行工具免费 | ★ 1.4k | 今天 | Go | Codex · Claude Code |
| Compartment | 73 · 存在缺口 | 命令行工具免费 | ★ 569 | 今天 | Python | Codex · Claude Code |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
文档说明 Markdown 是可读、可编辑且可重建索引的事实来源,并明确指出远程重排会把查询和检索到的文本发送给 TypeSafe;项目级配置限制也阻止本地配置启用远程提供方。技能要求在启用付费或外部提供方、改变输出路径、重建索引、删除状态或扩大索引范围前询问用户,且技能候选需经人工安装。扣分原因:自动捕获会记录对话,敏感内容处理策略和保留期限未在材料中明确;依赖安全仅有版本下限,材料没有依赖审计或漏洞处置证据;外部调用与状态变更的用户确认主要由配置技能规定,非所有运行路径皆有说明。Markdown 可恢复索引,但索引重置仍需显式确认的证据不完整。发布者身份未验证,仓库内容仅显示 Zilliz 名称和支持邮箱,无法确认身份或维护渠道。
文档、配置和代码共同描述 Markdown 到 Milvus 的索引及渐进式检索流程,并说明错误状态、兼容性检查和一些恢复办法。扣分原因:材料对默认 embedding 提供方存在差异描述(Python API 和 CLI 默认 OpenAI,插件默认 ONNX),且仓库版本、Marketplace 插件版本分别列示,读者需理解不同组件版本;可用性依赖 Milvus、embedding 服务或本地模型下载,材料未证明这些依赖持续可用;错误消息和故障指南覆盖若干常见情形,但不是全面错误目录。
产品面向跨平台 Agent 用户和构建自定义 Agent 的开发者,列出多种使用场景、平台、提供方和存储后端,并区分 episodic、semantic 与 procedural memory。扣分原因:技能触发规则虽给出适用与跳过场景,但部分触发依赖宿主模型判断;能力说明未在所给材料中完整界定所有平台和数据边界;Windows Lite 被标为 best-effort,其他环境差异也可能影响实际适配。
仓库提供 README、配置、入门、FAQ、故障排查、平台技能、许可证及多组件版本信息。安装说明和操作示例覆盖 CLI、Python、插件及可选提供方;FAQ 说明 Windows Lite、数据库格式迁移和索引重建限制。扣分原因:样本中的文档内容较长且存在重复入口;版本分散在多个组件,Codex 插件没有版本管理;虽有发布流程说明,但维护责任和更新承诺没有明确到个人或团队流程。MIT 许可证文本完整。
产品把跨会话、跨 Agent 的 Markdown 记忆与搜索、上下文扩展、原始对话追溯结合,并提供共享 CLI/API 和可选技能蒸馏,具备清晰的增量价值。扣分原因:自动摘要、索引、模型下载及可选远程服务会带来计算、延迟或费用;首次本地模型下载约 558 MB,冷索引可能耗时较长;搜索结果仍需 Agent 判断相关性,效果没有在本次静态审查中验证。
不少主张能对应到配置文档、CLI 实现、插件代码或依赖声明;文档也区分默认值、可选功能和若干已知限制。扣分原因:README 与文档中的架构和质量描述多为项目自身陈述,所给材料没有独立评估证据;代码样本只覆盖部分 CLI 和插件,无法对每项产品主张交叉核对;安装示例和说明中的事实与预期效果有时并列呈现,且材料不足以验证实际运行结果。
- 自动捕获会将对话摘要写入 Markdown 记忆;启用前应检查存储位置和记录范围,并留意机密内容。
- 默认行为因接口和插件而异;核对当前 embedding、Milvus 和摘要配置,尤其是远程提供方会发送查询及检索文本。
- 重建或重置索引前保留 Markdown 源文件;Milvus Lite 旧版数据库可能无法原地迁移。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
This release includes five merged fixes: - DSH supports Windows command launchers, UTF-8 summary input and reliable child-process handoffs (#819). - Codex capture uses unique temporary files on macOS (#820). - DSH memory Web routes honor the host authentication and request-origin checks (#822). - memsearch expand --no-section returns only the chunk's source range (#816). - DSH provides a recall hint and lets the agent search when needed; recall skills use the calling workspace's collection (#823). …在 GitHub 查看 ↗ -
发布说明摘录
MemSearch 0.4.22 includes memory reliability fixes across the CLI and agent integrations. - Memory expansion begins at the retrieved chunk’s own section, Unix socket Milvus addresses use server connection handling, and compacted memory headings include a timestamp. - Claude Code hooks select a working Python 3 interpreter, locate the bundled summary prompt reliably, reject native summarizer error responses, and deliver recall hints to the model. - New DSH configurations use local ONNX embeddings. Existing embedding configurations remain unchanged. …在 GitHub 查看 ↗ -
发布说明摘录
What's Changed - release: prepare v0.4.21 (#765) - Use the stable Jev alias and relocate evaluation docs (#761) - Add optional Jev reranking and bilingual evaluation (#758) - fix: prevent read paths from creating missing collections (#760) - fix: search growing rows on Milvus Server (#757) - fix(codex): filter composite host instruction envelopes (#754) - fix(codex): parse response-item rollout messages safely (#751) - fix(openclaw): update prompt hook compatibility (#744)在 GitHub 查看 ↗
常见问题
必须使用 Zilliz Cloud 吗?
默认方案是否有 API 费用?
记忆数据存在哪里,能否人工修改?
.memsearch/memory/;Milvus 是派生索引。修改文件后可运行 memsearch index 或 memsearch watch 更新索引。哪些客户端有直接插件支持?
谢谢反馈,我们会据此改进页面。