{"adoption": {"forks": 236, "observed_at": "2026-08-28T04:06:57.650986+00:00", "stars": 2515}, "canonical_url": "https://ross.abutalabs.com/products/memsearch", "card": {"archived": false, "artifact_type": "plugin", "description": "A persistent, unified memory layer for all your AI agents (e.g. Claude Code, Codex, DSH), backed by Markdown and Milvus.", "domain": ["large-language-models", "developer-tools"], "enriched": true, "function": ["rag", "search-engine", "vector-database", "agent-framework", "mcp"], "health_score": 99, "homepage": "https://zilliztech.github.io/memsearch/", "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["zilliztech/memsearch"], "name": "zilliztech/memsearch", "platform": ["python", "cli", "cross-platform"], "pushed_at": "2026-08-23T04:54:01+00:00", "repo": "zilliztech/memsearch", "stars": 2515, "tags": ["agent-memory", "claude-code", "codex", "milvus", "semantic-search", "hybrid-search", "long-term-memory", "markdown-memory", "ai-agents", "retrieval-augmented-generation"], "topics": ["agent-memory", "claude-code", "claude-code-plugin", "memory", "openclaw", "rag", "agent", "embeddings", "milvus", "semantic-search", "ai-agents", "hybrid-search", "long-term-memory", "opencode", "skills", "codex", "deepseek", "deepseek-harness", "dsh", "dsh-plugin"], "urls": [], "use_cases": ["give my AI coding agent persistent memory across sessions", "resume a debugging thread from a previous Claude Code session", "find why we chose a certain architecture or library last month", "share project memory between Claude Code and Codex", "search past agent conversations semantically", "do code archaeology on when and why a module changed"], "what_it_is": "memsearch is a persistent, cross-platform memory layer for AI coding agents like Claude Code, Codex, DeepSeek Harness, OpenClaw, and OpenCode. It captures agent conversations, stores them as Markdown indexed in Milvus, and recalls relevant context via hybrid semantic search across sessions and agents.", "when_to_avoid": ["you don't want a Milvus dependency or external vector database", "you need memory for chat agents outside coding workflows", "you need a fully self-contained memory with no indexing infrastructure", "your agent platform has no memsearch plugin"], "when_to_choose": ["you use Claude Code, Codex, DSH, OpenClaw, or OpenCode and lose context between sessions", "you want zero-config automatic memory capture and recall via a plugin", "you want a unified memory layer shared across multiple AI coding agents", "you prefer human-readable Markdown storage backed by Milvus hybrid search"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/memsearch", "repo": "zilliztech/memsearch", "role": "main", "score": 82}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:57.650986+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:26:12.545117+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "174a620c2670f9d6e65356b96981037ce39bb27362172b0e47f463b75a95c082", "fetched_at": "2026-08-28T04:06:57.650986+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zilliztech/memsearch"}, {"content_hash": "1de237afb01b62e669a571d86c6c2fdaad740e3f6bdbd40e203a84888e04417a", "fetched_at": "2026-08-29T10:08:31.074690+00:00", "kind": "homepage", "missing": false, "url": "https://zilliztech.github.io/memsearch/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:57.650986+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:26:12.545117+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "174a620c2670f9d6e65356b96981037ce39bb27362172b0e47f463b75a95c082", "fetched_at": "2026-08-28T04:06:57.650986+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zilliztech/memsearch"}, {"content_hash": "1de237afb01b62e669a571d86c6c2fdaad740e3f6bdbd40e203a84888e04417a", "fetched_at": "2026-08-29T10:08:31.074690+00:00", "kind": "homepage", "missing": false, "url": "https://zilliztech.github.io/memsearch/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:26:12.545117+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "174a620c2670f9d6e65356b96981037ce39bb27362172b0e47f463b75a95c082", "fetched_at": "2026-08-28T04:06:57.650986+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zilliztech/memsearch"}, {"content_hash": "1de237afb01b62e669a571d86c6c2fdaad740e3f6bdbd40e203a84888e04417a", "fetched_at": "2026-08-29T10:08:31.074690+00:00", "kind": "homepage", "missing": false, "url": "https://zilliztech.github.io/memsearch/"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:06:57.650986+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:57.650986+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:57.650986+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:26:12.545117+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "174a620c2670f9d6e65356b96981037ce39bb27362172b0e47f463b75a95c082", "fetched_at": "2026-08-28T04:06:57.650986+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zilliztech/memsearch"}, {"content_hash": "1de237afb01b62e669a571d86c6c2fdaad740e3f6bdbd40e203a84888e04417a", "fetched_at": "2026-08-29T10:08:31.074690+00:00", "kind": "homepage", "missing": false, "url": "https://zilliztech.github.io/memsearch/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:57.650986+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:57.650986+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:26:12.545117+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "174a620c2670f9d6e65356b96981037ce39bb27362172b0e47f463b75a95c082", "fetched_at": "2026-08-28T04:06:57.650986+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zilliztech/memsearch"}, {"content_hash": "1de237afb01b62e669a571d86c6c2fdaad740e3f6bdbd40e203a84888e04417a", "fetched_at": "2026-08-29T10:08:31.074690+00:00", "kind": "homepage", "missing": false, "url": "https://zilliztech.github.io/memsearch/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:57.650986+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:57.650986+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:57.650986+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:26:12.545117+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "174a620c2670f9d6e65356b96981037ce39bb27362172b0e47f463b75a95c082", "fetched_at": "2026-08-28T04:06:57.650986+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zilliztech/memsearch"}, {"content_hash": "1de237afb01b62e669a571d86c6c2fdaad740e3f6bdbd40e203a84888e04417a", "fetched_at": "2026-08-29T10:08:31.074690+00:00", "kind": "homepage", "missing": false, "url": "https://zilliztech.github.io/memsearch/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:57.650986+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:57.650986+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:26:12.545117+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "174a620c2670f9d6e65356b96981037ce39bb27362172b0e47f463b75a95c082", "fetched_at": "2026-08-28T04:06:57.650986+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zilliztech/memsearch"}, {"content_hash": "1de237afb01b62e669a571d86c6c2fdaad740e3f6bdbd40e203a84888e04417a", "fetched_at": "2026-08-29T10:08:31.074690+00:00", "kind": "homepage", "missing": false, "url": "https://zilliztech.github.io/memsearch/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:26:12.545117+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "174a620c2670f9d6e65356b96981037ce39bb27362172b0e47f463b75a95c082", "fetched_at": "2026-08-28T04:06:57.650986+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zilliztech/memsearch"}, {"content_hash": "1de237afb01b62e669a571d86c6c2fdaad740e3f6bdbd40e203a84888e04417a", "fetched_at": "2026-08-29T10:08:31.074690+00:00", "kind": "homepage", "missing": false, "url": "https://zilliztech.github.io/memsearch/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:26:12.545117+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "174a620c2670f9d6e65356b96981037ce39bb27362172b0e47f463b75a95c082", "fetched_at": "2026-08-28T04:06:57.650986+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zilliztech/memsearch"}, {"content_hash": "1de237afb01b62e669a571d86c6c2fdaad740e3f6bdbd40e203a84888e04417a", "fetched_at": "2026-08-29T10:08:31.074690+00:00", "kind": "homepage", "missing": false, "url": "https://zilliztech.github.io/memsearch/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:26:12.545117+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "174a620c2670f9d6e65356b96981037ce39bb27362172b0e47f463b75a95c082", "fetched_at": "2026-08-28T04:06:57.650986+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zilliztech/memsearch"}, {"content_hash": "1de237afb01b62e669a571d86c6c2fdaad740e3f6bdbd40e203a84888e04417a", "fetched_at": "2026-08-29T10:08:31.074690+00:00", "kind": "homepage", "missing": false, "url": "https://zilliztech.github.io/memsearch/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 14, "rhythm": 99}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 206, "days_push": 10, "days_rel": 11, "gap_med": 4.5, "n_releases_24m": 31}, "score": 82, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}