项目简介

Claude-Mem 是一个 Claude Code 插件,旨在通过自动捕获工具使用、生成语义摘要并将它们提供给未来的会话,无缝地在不同会话之间保留上下文。这使得 Claude 即使在会话结束或重新连接后,也能保持对项目的知识连续性。

主要功能点

  • 会话连续性:在不同的 Claude Code 会话之间保留项目知识,确保工作流的连续性。
  • 自动上下文注入:在新会话开始时,自动将最近的会话摘要注入到 Claude 的上下文中。
  • MCP 搜索服务器:提供 6 种专用搜索工具,允许通过全文本搜索、概念、文件路径和类型等方式查询存储的工具使用观察记录和会话摘要。
  • 结构化观察:通过 Claude Agent SDK 处理工具执行,提取并生成结构化(XML 格式)的学习内容。
  • 智能过滤:自动跳过低价值的工具观察,例如空的健康检查或重复操作。
  • 后台服务管理:工作服务由 PM2 自动管理,确保其在后台持续运行,即使 Claude Code 重启也能自动恢复。

安装步骤

Claude-Mem 作为一个 Claude Code 插件,推荐通过 Claude Code 的 GitHub Marketplace 进行安装:

  1. 添加 Marketplace: 在 Claude Code 终端中运行:
    /plugin marketplace add https://github.com/thedotmack/claude-mem
  2. 安装插件: 运行以下命令安装 Claude-Mem 插件:
    /plugin install claude-mem
    插件将自动下载、安装依赖,并配置 MCP 搜索服务器和会话生命周期管理所需的各项钩子。

服务器配置

Claude-Mem 包含一个 MCP 服务器,用于暴露搜索工具。这个服务器通过 'plugin/.mcp.json' 文件自动注册到 Claude Code 客户端。客户端无需手动编辑此文件,但了解其配置方式有助于理解其工作原理:

{
  "mcpServers": {
    "claude-mem-search": {
      "type": "stdio",
      "command": "${CLAUDE_PLUGIN_ROOT}/scripts/search-server.js"
    }
  }
}
  • 'claude-mem-search':这是 MCP 服务器的名称,Claude Code 客户端将使用此名称来识别和连接到该服务。
  • 'type: "stdio"':指定了客户端与服务器之间的通信协议为标准输入/输出 (Stdio)。MCP 服务器支持多种传输协议,Stdio 是其中一种。
  • 'command: "${CLAUDE_PLUGIN_ROOT}/scripts/search-server.js"':这是启动 MCP 服务器的可执行脚本的路径。'${CLAUDE_PLUGIN_ROOT}' 是 Claude Code 运行时提供的插件根目录环境变量,确保脚本能被正确找到并执行。

基本使用方法

安装完成后,Claude-Mem 插件会自动在后台运行,无需用户手动干预。

  1. 自动记忆:当您在 Claude Code 中工作时,Claude-Mem 会自动捕获工具执行,处理观察结果并生成摘要。

  2. 上下文恢复:当您启动新的 Claude Code 会话时,Claude-Mem 会自动将您最近的会话摘要注入到当前上下文,帮助您快速回忆之前的项目进展。

  3. MCP 搜索工具:您可以在 Claude Code 会话中直接使用以下 6 种搜索工具来查询存储的记忆:

    • 'search_observations':全文本搜索观察记录。
    • 'search_sessions':全文本搜索会话摘要。
    • 'find_by_concept':按概念标签查找观察记录。
    • 'find_by_file':查找引用特定文件路径的观察记录和会话。
    • 'find_by_type':按类型(如决策、bug修复、功能等)查找观察记录。
    • 'advanced_search':结合全文本搜索和结构化过滤进行高级查询。

    示例查询

    • "Use search_observations to find all decisions about the build system"
    • "Use find_by_file to show me everything related to worker-service.ts"
    • "Use search_sessions to find what we learned about hooks"
    • "Use find_by_concept to show observations tagged with 'architecture'"

所有搜索结果都将以 'search_result' 格式返回,并带有 'claude-mem://' URI 引用,允许 Claude 轻松引用和利用项目历史中的特定信息。

信息

分类

AI与计算