OpenMem

io.github.bcmyguest由 GitHub 账号 bcmyguest 发布v0.6.3更新于 Oct 29, 2026

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

已验证STDIO仅桌面知识与记忆开发者工具

概览

AI 生成的概览

OpenMem 为编码代理提供持久记忆层,通过稳定的 memory_* 工具访问可切换的后端(Hindsight、mem0 或 Cognee)。

可以做什么
  • 在启用的后端中保留、回忆、搜索与反思记忆
  • 创建和管理记忆页面,并导出、导入可移植记忆
  • 将 Git 仓库、Obsidian 库、笔记、论文、书签和订阅源索引为记忆
  • 通过同一套工具查看后端与索引状态
  • 安装会话钩子,让代理在会话开始时回忆、结束时保留
适用场景
适合希望 Claude Code、Codex、Cursor、OpenCode 等编码代理跨会话保留记忆,并能直接查询自己的文档与代码仓库、而不必每次重新阅读的场景。
运行要求
通过 npx 以 stdio 在本地运行,需先执行安装向导。需要 Docker Compose v2、Node 24 或更高版本,以及默认 Hindsight 后端所需的 LLM 路由;必须有一个正在运行的后端。环境变量 MEMORY_PROVIDER 选择后端,PM_STACK_ROOT 指定栈目录。
安装前请注意
向导会写入配置并启动 Docker Compose 服务,install-coding-agent 会修改编码代理的配置。切换后端本身不会迁移数据,需先导出或重新索引。本仓库中的上下文管理功能已弃用并迁往其他项目。LLM 路由与后端服务可能产生模型调用费用。

安装

在 SourceWeft 中

  1. 打开 控制台中的 OpenMem,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

OpenMem

[npm version] [License] [openmem-mcp] [GitHub]

[openmem-mcp]

[!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.

[A, memory: sources (Git repos, Obsidian vaults, notes, papers, bookmarks, feeds), OpenMem indexer, one active provider (Hindsight default, mem0, Cognee), OpenMem MCP tools, coding agents with session hooks]

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

[B, context management: coding agent, context proxy trimming at 125k tokens (Haiku 95k) with no LLM call, model API, SQLite session store read back with smart_compact_search and smart_compact_sql; OpenCode 2 uses a native plugin]

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.

[ContextBench log-triage on Haiku 5.5: OpenMem scores 1.00 at L12800 overall vs 0.35 for native and keep-everything; lookup and count question panels]

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):

[Terminal recording of the setup wizard dry run: preflight checks, memory provider, model backend, secrets, sources and stack steps, each planned write printed as a [dry-run] line]

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
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
mermaid
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.

Inspiration and related

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.

来源:README.md,提交 ad8f5d3

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.6.3最新Oct 29, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分