Token导航 LogoToken导航TokenDH.com
openmemory (Gordonkjlee) logo
数据服务未说明官方级别未说明来源级核验

openmemory (Gordonkjlee)

MCP Server

OpenMemory是一个作为MCP服务器暴露的AI记忆引擎,提供结构化知识存储与检索功能,适用于跨AI工具的持久记忆管理。

工具数

12

提示词数

0

GitHub Stars

0

资源数

0
AI记忆TypeScriptClaudeClaude DesktopClaudeCursorWindsurf

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

gordonkjlee

提供方

gordonkjlee

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

OpenMemory

AI内存引擎作为MCP服务器公开。具有服务器端智能的结构化知识——域路由、实体提取、重复数据删除和替换。任何人工智能工具都可以查询它。你拥有数据。

问题

人工智能代理可以存储知识,但现有的方法限制了它的结构化和检索效率。像ChatGPT和Claude这样的内置存储器存储没有模式或关系的平面文本,并且不能跨工具移植。开发人员库提供内存原语,但需要大量的集成工作。知识图引擎以每次摄入多个LLM调用和操作开销为代价,提供丰富的实体提取。轻量级解决方案实现了跨工具共享,但没有结构、置信度评分或重复数据删除。

共同的差距:结构化的、模式驱动的知识,具有有效的检索能力,可以在任何人工智能工具上工作,而无需大量的基础设施成本。

解决方案

一个积累结构化知识的地方——经过验证,归您所有——每个人工智能工具都可以使用细粒度权限进行查询。适用于个人身份、团队知识、项目背景或任何需要持久内存的AI用例。

快速开始

添加到AI工具的MCP配置中:

{
  "mcpServers": {
    "openmemory": {
      "command": "npx",
      "args": ["-y", "@openmem/mcp@0.2.0"]
    }
  }
}

适用于Claude Code、Claude Desktop、Cursor和任何兼容MCP的工具。数据存储在 ~/.openmemory 默认情况下。要更改此设置,请添加 "env": { "OPENMEMORY_DATA": "/absolute/path" } 到上面的配置。

禁用客户端的内置内存。 OpenMemory取代了它——在两个系统中运行这两个片段——你的知识。在克劳德桌面:设置→ 记忆→ 关闭。在ChatGPT中:设置→ 个性化→ 记忆→ 这确保了OpenMemory是唯一的真相来源。

运作原理

OpenMemory通过两条互补的路径获取知识:

  1. 快速捕获 --在对话过程中,AI会呼叫 capture_fact 每当它学到有用的东西。事实立即存储在会话暂存缓冲区中。
  1. 批量合并 --服务器会定期将所有未决事实作为一批进行处理:对域进行分类,提取实体(人、地点、组织),检测重复和矛盾,并构建知识图。

可选地,服务器还可以在整合过程中扫描原始对话事件,以提取人工智能遗漏的事实——这是一个确保重要知识不会丢失的安全网。

结果是一个结构化的、不断发展的知识图,任何人工智能工具都可以通过MCP查询。

特性

  • 混合知识捕获 --人工智能在对话中明确地捕捉事实。可选地,服务器还可以在整合过程中从原始事件中提取事实作为安全网。
  • 批量合并 --定期处理将未决捕获整合到长期知识图中:对领域进行分类,提取实体,解决重复问题,检测矛盾。
  • 实体图 --人、地点、组织会自动提取和链接。关系强度跟踪佐证。
  • 混合搜索 --BM25关键字+结构化域+实体图路径,通过具有时间衰减的互易秩融合进行合并。
  • 会话内存 --最近捕获的事实可以通过以下方式立即访问 get_session_context甚至在整合之前。
  • 不可变历史 --事实永远不会被删除,只会被取代。完整的历史得以保存。
  • 来源可追溯性 --每一个事实都与产生它的对话事件有关。
  • 手动合并 --呼叫 consolidate 在自然断点处(主题更改、任务完成、预压缩)。不依赖会话边界。

MCP工具

会话

  • log_event --记录对话事件(消息、工件)。
  • get_events --从当前或以前的会话中检索事件。
  • get_session_context --回忆当前会话中捕获的事实(会话工作记忆中)。

阅读

  • get_profile --核心身份事实
  • get_preferences --按域的首选项
  • get_people --具有关系的个人资料
  • get_context --与主题相关的所有内容(搜索+实体遍历)
  • search_knowledge --跨毕业知识的混合搜索

写作

  • capture_fact --储存一个事实。使用会话标记快速追加。全面情报推迟到巩固。
  • consolidate --将悬而未决的事实纳入长期知识。提取实体,解析重复项,检测矛盾,构建知识图。在自然断点或上下文压缩之前调用。

  • get_schemas --可用域和结构
  • get_stats --事实计数、实体计数、域分布

会话事件日志记录

OpenMemory将每一次交互都作为 SessionEvent --DIKW数据层。这是巩固、搜索和回忆的基础。

如何捕获事件

所有事件均通过 log_event MCP工具或 openmemory log-event CLI命令。主叫AI记录对话消息;Claude Code钩子可以自动执行此操作:

克劳德代码挂钩

对于Claude Code来说,钩子提供了确定性的捕获——它们每次都会触发,不管AI是否“记住”了工具描述。

可用挂钩

钩子开火时它捕获了什么
UserPromptSubmit用户发送消息完整提示文本
Stop助理完成响应最后一条助理消息
PostToolUse工具调用完成工具名称、输入和响应

设置

安装挂钩的CLI:

npm install -g @openmem/mcp

或者,更换 openmemorynpx -y @openmem/mcp 在下面的钩子命令中(不需要安装,但每个钩子会增加2-3s的延迟)。

添加 .claude/settings.json (项目层面)或 ~/.claude/settings.json (全球):

{
  "hooks": {
    "UserPromptSubmit": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "openmemory log-event --role user --event-type message"
          }
        ]
      }
    ],
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "openmemory log-event --role assistant --event-type message"
          }
        ]
      }
    ],
    "PostToolUse": [
      {
        "matcher": "^(?!mcp__openmemory__)",
        "hooks": [
          {
            "type": "command",
            "command": "openmemory log-event --role tool --event-type tool_result"
          }
        ]
      }
    ]
  }
}

CLI从stdin读取钩子JSON有效负载并提取相关内容字段(prompt 为了 UserPromptSubmit, last_assistant_message 为了 Stop,完整的JSON格式 PostToolUse).事件将附加到数据库中最近活动的会话。

PostToolUse matcher不包括OpenMemory自己的工具(^(?!mcp__openmemory__))以避免捕获内部操作。

CLI 参考

openmemory log-event 命令将事件直接插入数据库(无需运行服务器):

# From a hook (reads JSON payload from stdin):
echo '{"hook_event_name":"UserPromptSubmit","prompt":"hello"}' | openmemory log-event --role user

# With explicit content:
openmemory log-event --role user --event-type message --content "hello world"

# Options:
#   --role          user | assistant | system | tool (default: user)
#   --event-type    message | tool_call | tool_result | artifact (default: message)
#   --content-type  text | json | image | audio | binary (default: text)
#   --content       Event content (or pipe via stdin)
#   --session-id    Target session (default: most recent)
#   --data          Data directory (default: ~/.openmemory or $OPENMEMORY_DATA)

集成模式

OpenMemory的工具描述是主要的集成层——它们告诉AI助手何时捕捉事实和搜索知识,与每个MCP客户端开箱即用。为了实现更深入的集成,客户端可以添加 基于规则的钩子 (加载到AI上下文中的指令)在对话生命周期的关键时刻。这些是可选的,但使捕获和检索更加可靠。

无配置

capture_fact 工具描述告诉人工智能“当你学到有用的东西时,主动调用它。” search_knowledge 描述说“在回答可能受益于个人背景的问题之前,先调用此功能。”这些描述随服务器和驱动器行为一起提供,无需任何客户端设置。

挂钩点

钩点何时打什么电话为什么重要
会话开始对话开始get_profile, search_knowledgeAI从第一条消息中知道你是谁
主动捕捉用户提及偏好、事实或决定capture_fact跨课程的知识复合
响应前搜索生成回复之前search_knowledge, get_context基于个人知识的回应
预压缩上下文窗口压缩之前consolidate在删除上下文之前处理未决事实
自然断点主题更改、任务完成consolidate (可选)保持知识图最新

预压时: 这是最高值的挂钩点——没有它,当客户端压缩上下文时,知识会悄无声息地丢失。召唤 consolidate 在压缩之前,将所有悬而未决的事实转化为长期知识。如果启用了事件提取,服务器还会扫描原始对话事件,以提取AI遗漏的事实。

克劳德代码

创建 .claude/rules/openmemory.md 在您的项目中(或 ~/.claude/rules/openmemory.md 全球)。这会自动加载到上下文中:

# OpenMemory

- At the start of each conversation, call `get_profile` to load identity context
- Before answering questions about preferences, people, or history, call `search_knowledge`
- When the user mentions preferences, personal details, relationships, or decisions, call `capture_fact`
- When the conversation is getting long, call `consolidate` to process pending facts before they are lost to compaction
- At natural breakpoints (topic change, task completion), call `consolidate` to keep the knowledge graph current

要允许OpenMemory工具在没有每次调用批准提示的情况下使用,请添加 permissions.allow 数组in .claude/settings.json:

{
  "permissions": {
    "allow": [
      "mcp__openmemory__*"
    ]
  }
}

光标/风帆

添加 .cursorrules (光标)或 .windsurfrules (Windsurf)在您的项目根目录中:

When the openmemory MCP server is available:
- At conversation start, call get_profile to load user context
- Before answering questions about preferences or history, call search_knowledge
- When the user shares preferences, facts, or decisions, call capture_fact
- When context is getting long, call consolidate to process pending facts before they are lost

克劳德桌面/其他MCP客户端

无需配置。工具描述自动处理集成——人工智能助手读取工具描述,并知道何时进行捕获和搜索。

发展

git clone https://github.com/gordonkjlee/openmemory
cd openmemory
npm install
npm run build
npm test

许可证

麻省理工学院

目录标签

目录标签

AI记忆TypeScriptClaude本地部署知识图谱跨工具共享结构化存储实体提取

支持客户端

Claude DesktopClaudeCursorWindsurf

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

12

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP