MemSearch Memory Layer

Persistent, cross-platform semantic memory for AI coding workflows.

Stars
★ 2.8k
Last updated
2d ago
License
MIT
Primary language
Python

At a glance

How it runs
Agent plugin / skillCLILibrary / SDK
Works with
Universal · cross-platformCodex · Claude Code · OpenAI API · Claude API
Cost
Free software; you pay for model usage
Setup effort
Low · running in minutes
You'll need
Python >=3.10MilvusShell / CLINetwork accessLocal filesystem
Typical use
A developer alternating between Claude Code and Codex CLI who wants to retrieve an earlier Redis, deployment, or architecture discussion.
Not a fit if
  • Users unwilling to manage Markdown files, indexing, and embedding runtimes themselves
  • Teams wanting a turnkey multi-user hosted service without configuring Zilliz Cloud or self-hosted Milvus
Source review
69/100 · Some gaps

What does this agent do, and when should you use it?

MemSearch is a persistent semantic-memory layer for AI coding agents, with plugins for Claude Code, Codex CLI, OpenClaw, and OpenCode plus a CLI and Python API. It stores captured summaries and other memories as editable, versionable Markdown, then maintains Milvus as a rebuildable shadow index. Retrieval combines dense vectors, BM25 sparse search, and RRF reranking, and can move from a matching chunk to its Markdown section or a raw session transcript. It defaults to local single-file Milvus Lite, while Zilliz Cloud and self-hosted Milvus are configurable alternatives. It fits teams or individual developers who want durable context across coding-agent sessions and tools, provided they are comfortable managing local files, indexing, and embedding runtime choices.

Platform plugins capture conversation turns after a session turn completes, summarize them, and append the result to date-based Markdown files under .memsearch/memory/; the documented Claude Code flow also adds a <!-- session:UUID --> anchor. memsearch index re-chunks Markdown, uses SHA-256 to skip unchanged content, embeds changed chunks, and upserts them into Milvus. memsearch search performs BM25 plus dense-vector hybrid retrieval with RRF reranking, while memsearch expand <chunk_hash> returns the full surrounding Markdown section. For deeper recall, the documented third layer uses parse-transcript <session.jsonl> to access raw dialogue. Developers can also use MemSearch(paths=[...]), await mem.index(), and await mem.search() in a Python agent.

  1. A developer alternating between Claude Code and Codex CLI who wants to retrieve an earlier Redis, deployment, or architecture discussion.
  2. An engineer maintaining a long-lived codebase who needs to recover why a module, configuration, migration, or API choice was made before changing it.
  3. A Python agent developer who wants to index Markdown knowledge and add semantic recall through the MemSearch class.
  4. A team keeping project journals in local Markdown and wanting those files to remain editable and version-controllable while indexes stay current.
  5. A multi-user team that needs to point the same workflow at Zilliz Cloud or a dedicated self-hosted Milvus instance.

How do you install or deploy this agent?

Python >=3.10 is required. To install the CLI with the default local ONNX embedding option:

uv tool install "memsearch[onnx]"

Then run:

memsearch config init
memsearch index ./memory/

The default ONNX bge-m3 embedder runs locally on CPU and needs no API key, but downloads an approximately 558 MB model from HuggingFace Hub on first launch. To use OpenAI embeddings, run memsearch config set embedding.provider openai and supply OPENAI_API_KEY. For the Codex CLI plugin, the documented commands are:

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

How do you use this agent?

Place searchable Markdown in a directory and run memsearch index ./memory/. Query it with memsearch search "Redis caching", or use memsearch search "auth flow" --top-k 10 --json-output for script-friendly results; use memsearch expand <chunk_hash> to inspect the complete section around a result. Run memsearch watch ./memory/ for live re-indexing. In Python, create mem = MemSearch(paths=["./memory"]), call await mem.index(), then call await mem.search("Redis config", top_k=3). After installing the Codex CLI plugin, use $memory-recall what did we discuss about deployment? to recall saved context.

What are this agent's strengths and limitations?

Pros
  • Markdown remains the source of truth, so memories are human-editable and version-controllable while the Milvus index is rebuildable.
  • One backend is documented for Claude Code, Codex CLI, OpenClaw, and OpenCode, with both CLI and Python MemSearch interfaces for custom integrations.
  • Hybrid BM25, dense-vector, and RRF retrieval is paired with progressive search → expand → transcript recall.
  • SHA-256 content hashing and the file watcher avoid re-embedding unchanged content and keep changed files synchronized.
Limitations
  • The default ONNX bge-m3 path requires an initial network download of an approximately 558 MB model.
  • Milvus Lite is a single-file default; dedicated multi-user deployments require configuration of Zilliz Cloud or a Docker-based self-hosted Milvus Server.
  • Automatic capture depends on platform-specific plugins and hooks; the Codex CLI instructions require codex --yolo for ONNX model network access.
  • Advanced PROJECT.md and USER.md maintenance and memory-to-skill distillation are off by default and require provider, model, and interval configuration when enabled.

How does this agent compare with similar options?

MemSearch explicitly treats Markdown as editable source data and Milvus as a rebuildable shadow index, rather than making the vector database the primary memory store. Its documented embedding choices include local ONNX, OpenAI, and Ollama, and its Milvus deployment options include Milvus Lite, Zilliz Cloud, and self-hosted Milvus.

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
MemSearch Memory Layer This agent 69 · Some gaps Agent plugin / skillFree + model costs ★ 2.8k 2d ago Python Codex · Claude Code · OpenAI API · Claude API
funes Agent Memory 81 · Good CLIFree ★ 589 2d ago Rust Codex · Claude Code
deja-vu 76 · Good CLIFree ★ 1.4k today Go Codex · Claude Code
Compartment 73 · Some gaps CLIFree ★ 569 today Python Codex · Claude Code

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Some gaps
69/ 100 5-point scale 3.5 / 5
Trust 18/29
Reliability 8/14
Adaptability 14/18
Convention 14/18
Effectiveness 10/13
Verifiability 5/8
Why each dimension lost points
Trust18 / 29 · 3.1/5

The documentation identifies Markdown as the readable, editable source of truth and rebuildable index source, and explicitly says remote reranking sends queries and retrieved chunk text to TypeSafe. Project-local configuration is restricted from enabling that remote provider. The skills instruct the agent to ask before enabling paid or external providers, changing output paths, re-indexing, deleting state, or broadening indexed content; skill candidates require deliberate human installation. Deductions: automatic capture records conversation content, but sensitive-content handling and retention policy are not clearly specified. Dependency declarations show minimum versions, but the packet provides no dependency audit or vulnerability response evidence. Confirmation requirements are described mainly in the configuration skill, not across every execution path. Markdown supports index recovery, but the evidence for confirmation around index resets is incomplete. Publisher identity is unverified; the repository names Zilliz and a support email, which does not establish identity or a maintenance channel.

Reliability8 / 14 · 2.9/5

The docs, configuration, and code describe a coherent Markdown-to-Milvus indexing and progressive retrieval flow, with compatibility checks, recorded error state, and several recovery instructions. Deductions: defaults differ by interface (the Python API and CLI default to OpenAI while plugins default to ONNX), and component versions are published separately, requiring users to understand the distinctions. Availability depends on Milvus, embedding services, or local model downloads; the packet does not establish that these dependencies remain available. Error handling and troubleshooting cover several common cases but are not a comprehensive error reference.

Adaptability14 / 18 · 3.9/5

The product addresses cross-platform Agent users and developers building custom Agents, and documents multiple scenarios, platforms, providers, and storage backends while distinguishing episodic, semantic, and procedural memory. Deductions: some skill triggering depends on the host model's judgment despite explicit use and skip guidance; the supplied evidence does not fully define capability and data boundaries for every platform; Windows Milvus Lite is described as best-effort, and other environment differences may affect fit.

Convention14 / 18 · 3.9/5

The repository provides a README, configuration guide, getting-started guide, FAQ, troubleshooting, platform skills, a license, and version information for multiple components. Installation notes and examples cover the CLI, Python API, plugins, and optional providers; the FAQ documents Windows Lite, database-format migration, and index rebuilding limitations. Deductions: the sampled documentation is extensive and repeats entry points; versions are split across components, and the Codex plugin has no version management. Release guidance exists, but responsibility and maintenance commitments are not clearly assigned. The MIT license text is complete.

Effectiveness10 / 13 · 3.8/5

The product combines cross-session, cross-Agent Markdown memory with search, context expansion, and original-transcript lookup, and offers a shared CLI/API plus optional skill distillation. This provides a clear potential benefit. Deductions: automatic summarization, indexing, model downloads, and optional remote services add compute, latency, or cost; the first local model download is about 558 MB and cold indexing may take substantial time. Agents still need to judge result relevance, and this static review does not verify search quality.

Verifiability5 / 8 · 3.1/5

Many claims can be mapped to configuration docs, CLI implementation, plugin code, or dependency declarations; the docs also distinguish defaults, optional features, and several known limitations. Deductions: many architecture and quality claims in the README and docs are project-authored and the packet contains no independent evaluation evidence. The code sample covers only parts of the CLI and plugins, so not every product claim can be cross-checked. Examples and expected outcomes are sometimes presented together, and this packet cannot verify runtime results.

Risks and how to mitigate them
  • Automatic capture writes conversation summaries to Markdown memory. Check the storage location and capture scope before enabling it, especially for confidential content.
  • Defaults vary by interface and plugin. Check the active embedding, Milvus, and summarization settings; remote providers may receive queries and retrieved text.
  • Keep the Markdown source files before rebuilding or resetting an index. Older Milvus Lite databases may not support in-place migration.
Evidence confidence: Low Reviewed Nov 08, 2026 Reviewed revision 369ae1da48b7
See the full review method →
Maintain this project? Add the FARS badge to your README

The badge shows the current review score and verdict and links back to this page. It refreshes about once an hour after a re-review.

FARS

[![FARS review](https://followagents.com/badge/memsearch.svg)](https://followagents.com/en/agents/memsearch)
<a href="https://followagents.com/en/agents/memsearch"><img src="https://followagents.com/badge/memsearch.svg" alt="FARS review"></a>

Recent releases

Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.

  1. v0.4.23
    Release notes excerpt
    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). …
    View on GitHub ↗
  2. v0.4.22
    Release notes excerpt
    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. …
    View on GitHub ↗
  3. v0.4.21
    Release notes excerpt
    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)
    View on GitHub ↗

FAQ

Is Zilliz Cloud required?
No. The default is zero-configuration, single-file Milvus Lite. You can instead configure Zilliz Cloud or a Docker-based self-hosted Milvus Server.
Does the default setup require an API key or paid embedding service?
No. The default ONNX bge-m3 provider runs locally on CPU without an API key, although it downloads an approximately 558 MB model on first use. Other providers, such as OpenAI, require their corresponding credentials.
Where is memory stored, and can I edit it?
Memory is stored as Markdown; plugin examples use .memsearch/memory/. Milvus is a derived index, and edited files can be re-indexed with memsearch index or kept current with memsearch watch.
Which agent clients have direct plugin support?
The documented plugin platforms are Claude Code, Codex CLI, OpenClaw, and OpenCode. They share the MemSearch backend, but installation and capture mechanisms differ by platform.
Was this page helpful?
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.