OpenMem

السجل الرسمي أدوات المطورين

Memory interface for coding agents — stable memory_* tools over Hindsight, mem0, or Cognee.

التثبيت

أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: ‏.cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).

NPM package @bcmyguest/openmem
Claude Code
claude mcp add openmem -e 'MEMORY_PROVIDER=<MEMORY_PROVIDER>' -e 'PM_STACK_ROOT=<PM_STACK_ROOT>' -- npx -y @bcmyguest/openmem@0.6.3
إعداد JSON (Claude Desktop وCursor وVS Code)
{
    "mcpServers": {
        "openmem": {
            "command": "npx",
            "args": [
                "-y",
                "@bcmyguest/openmem@0.6.3"
            ],
            "env": {
                "MEMORY_PROVIDER": "<MEMORY_PROVIDER>",
                "PM_STACK_ROOT": "<PM_STACK_ROOT>"
            }
        }
    }
}

متغيرات البيئة

  • MEMORY_PROVIDER Active backend: hindsight (default), mem0, or cognee
  • PM_STACK_ROOT OpenMem stack directory (compose project, .env)

التوثيق

مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.

المحتويات
  1. OpenMem
  2. Quickstart
  3. Architecture
  4. Providers and portability
  5. Inspiration and related
  6. References
  7. License
  8. Contributing

OpenMem

[!CAUTION] Context management is leaving OpenMem. Smart compaction, the LiteLLM context proxy, and the OpenCode trim plugin in this repo are deprecated here and moving to Smarter Compact (docs, npm install -g smarter-compact). Use OpenMem for memory (providers, indexer, memory_* MCP). Existing OpenMem stacks can still enable the compose context-proxy profile; new context work belongs in Smarter Compact.

OpenMem. Pluggable memory providers (Hindsight, mem0, Cognee) and one setup wizard for coding-agent memory — retain, recall, and index your sources.

A. Memory: your sources become memory any agent can query.

B. Context management (deprecated in OpenMem — use Smarter Compact instead): long sessions stay under the limit; nothing is summarized away.

Benchmarks (context — deprecated here): In seed-matched ContextBench log tasks on Haiku 5.5, smart compaction scored 0.469 higher than keep-everything (95% bootstrap interval 0.339–0.578; eight pairs). Methods and charts still live in this repo (redirect · evidence plan); ongoing product docs and install are on Smarter Compact.

Docs: bcmyguest.github.io/openmem/

MCP: npx -y -p @bcmyguest/openmem openmem-mcp (after the wizard — it needs a running provider)

Start here: Concepts · Quickstart · Compatibility · Development (clone, tests, prek)

Quickstart

StepCommand
1. Wizardnpx @bcmyguest/openmem setup
2. Checknpx @bcmyguest/openmem doctor
3. Coding agentsnpx @bcmyguest/openmem install-coding-agent --yes

From a git clone: Development guide (npm install, npm run setup, tests, prek).

Needs (wizard): Docker Compose v2, Node ≥ 24, and an LLM route for Hindsight — see Quickstart.

Later: npx @bcmyguest/openmem up / down / switch <provider> --yes / doctor.

Wizard dry-run (what first setup plans — no writes):

Full guide: Quickstart · Concepts · Architecture

Architecture

The two diagrams at the top show memory (A) and context management (B; deprecated in OpenMem, see Smarter Compact).

Same diagrams as Mermaid

flowchart LR
  S["<b>Sources</b><br/>Git repos: docs, code outlines<br/>Obsidian vaults · notes · papers · bookmarks<br/>RSS · OpenAlex feeds"] -->|index| I["<b>OpenMem indexer</b><br/>polls repos, watches folders"]
  I -->|retain| P[("<b>Memory provider</b><br/>one active, swappable<br/>Hindsight (default) · mem0 · Cognee · …")]
  P <--> M["<b>OpenMem MCP</b><br/>memory_recall · memory_add<br/>memory_search · memory_reflect<br/>memory_pages_* + export/import, status…"]
  M <-->|tools| A["<b>Coding agents</b><br/>Claude Code · Codex · Cursor · OpenCode"]
  A -.->|"session hooks: recall at start · retain at stop"| M
  classDef om fill:#e8eaf9,stroke:#4651a6,color:#1b1d2a
  class I,M om
flowchart LR
  A["<b>Coding agent</b><br/>Claude Code · Codex · OpenCode 1"] -->|requests| X["<b>Context proxy</b><br/>LiteLLM pre-call hook<br/>trims at 125k tokens (Haiku 95k) · no LLM call"]
  X -->|trimmed request| API["<b>Model API</b><br/>Anthropic · ChatGPT (Codex)"]
  X -->|every turn| S[("<b>Session store</b><br/>SQLite · every turn, verbatim")]
  S -->|"MCP: smart_compact_search · smart_compact_sql"| A
  O["<b>OpenCode 2</b><br/>native plugin, no proxy"] -.->|same store| S
  classDef om fill:#e8eaf9,stroke:#4651a6,color:#1b1d2a
  class X,S om

Native compaction replaces history with an LLM summary, so exact values can be lost; smart compaction keeps every turn verbatim and searchable. Context trimming in OpenMem is deprecated — use Smarter Compact (smarter-compact enable). Legacy stack path: context proxy redirect. See architecture for memory runtime paths and provider-specific behavior.

Providers and portability

  • Providers — Provider status lists every provider and its support level from the manifests. Contributor details: adding a provider.
  • MCP — unified memory_* plus optional native/NotebookLM servers: MCP setup.
  • Context management (deprecated in OpenMem) — moved to Smarter Compact; OpenMem page is a redirect.
  • Portable memory — memory_export / memory_import speak PMM: Portable memory.
  • Switch — npx @bcmyguest/openmem switch <provider> does not migrate data by itself; export/import (or re-index) moves content.

Compose runs the shared indexer and the services required by the selected provider. Hindsight uses litellm and hindsight (127.0.0.1:8888); mem0 and Cognee use their own APIs and do not include LiteLLM by default. LiteLLM can also be added for memory_reflect synthesis on mem0/Cognee, or to host the optional context proxy's pre-call hook. See Architecture for runtime paths.

OpenMem is not affiliated with these projects; they shape the problem or the pattern.

OpenFeatureInspiration for a vendor-agnostic interface + pluggable providers (there: feature flags; here: coding-agent memory).
mise / asdfOne CLI over many backends; declarative config and tasks without replacing each tool’s own settings.
LiteLLMModel proxy used on Hindsight stacks; its pre-call hook hosts the context proxy.
Hindsight coding agentsReference implementation for knowledge pages, initiative capture and ingest status; OpenMem's hooks replace it in openmem mode.
MainplaneInspiration for smart compaction: continue in a fresh context with a pointer to the saved transcript and retrieve as you go, instead of an LLM summary.
Letta / MemGPTInspiration for smart compaction: evicted turns kept verbatim in searchable recall storage the agent pages back with tools, and file-style search over the transcript (74.0% on LoCoMo). OpenMem does this in a proxy and an MCP server, so no Letta server is needed.
rtkCompresses shell command output before the agent sees it; install-coding-agent runs rtk init when it is installed. Inspired the context proxy's compression of large tool results (reimplemented, not bundled).
opencode-clmOpenCode plugin for Context Language Models: the model edits a file mirror of its own context. Same goal as smart compaction, with the model doing the trimming (comparison).
MeridianBridges a Claude subscription to an Anthropic-compatible API; optional Hindsight model backend (guide).
OpenCode / Claude Code hooks / Codex hooksThe agent hook and plugin APIs OpenMem translates between (compatibility).

Research notes and benchmark results for the context proxy: Context research.

More setup analogues: Pluggable memory providers.

Formerly personal-memory. Use the openmem CLI and MCP server name; installers drop the old personal-memory MCP entry.

References

Papers and preprints cited in our context-management work (full list):

ReferenceLink
MemGPT (Packer et al., 2023)arXiv:2310.08560
LoCoMo (An et al., 2024)arXiv:2402.17753
LongMemEval (Wu et al., 2024)arXiv:2410.10813
MemoryAgentBench (2025)arXiv:2507.05257
The Complexity Trap (Lindenbauer et al., 2025)arXiv:2508.21433
Context Language Models / ContextBench (Shao et al., 2025)arXiv:2609.37725
Compact-Bench (2026)arXiv:2610.31710

Reports and blogs (Context Rot, Letta LoCoMo, Anthropic context engineering): references.md.

License

Apache License 2.0 — see LICENSE (Copyright 2026 B Guest).

Contributing

Contributions are welcome. See CONTRIBUTING.md and the development guide for tests and CI.

الأسئلة الشائعة

ما هو OpenMem؟

Memory interface for coding agents — stable memory_* tools over Hindsight, mem0, or Cognee.

كيف أثبّت OpenMem؟

يعمل على جهازك. في Claude Code: claude mcp add openmem -e 'MEMORY_PROVIDER=<MEMORY_PROVIDER>' -e 'PM_STACK_ROOT=<PM_STACK_ROOT>' -- npx -y @bcmyguest/openmem@0.6.3. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.

هل يحتاج OpenMem إلى مفتاح API؟

لا يذكر إدراجه في السجل أي مفتاح أو سر إلزامي. قد تتطلب بعض الميزات حسابًا لدى الخدمة التي يتصل بها.

هل OpenMem مفتوح المصدر؟

نعم. شيفرته متاحة على GitHub بترخيص Apache-2.0.

من يصون OpenMem؟

ينشره bcmyguest. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.

من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.