Claude-Mem 跨会话持久记忆系统安装、Hooks 架构与三层 MCP 记忆检索实战【免费下载链接】claude-memPersistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode More项目地址: https://gitcode.com/GitHub_Trending/cl/claude-memClaude-Mem 是一套面向 Claude Code以及 OpenCode、OpenClaw、Antigravity CLI 等的持久化记忆压缩系统它通过 lifecycle hooks 自动记录工具调用产生的观察observations用 AI 将其压缩为语义摘要并在新会话启动时把相关上下文重新注入。读完本文你将掌握它的一键安装方式、51 个 hook 的分工、~/.claude-mem/settings.json的模式与语言配置以及search/timeline/get_observations三层检索工作流的参数与调用示例从而在自己的项目中真正用起来并排查问题。一、快速开始安装只需一条命令npx claude-mem install针对其他宿主安装命令带--ide参数# OpenCode npx claude-mem install --ide opencode # Antigravity CLI npx claude-mem install --ide antigravity也可以在 Claude Code 内部通过插件市场安装/plugin marketplace add thedotmack/claude-mem /plugin install claude-mem安装完成后重启 Claude Code前一次会话的上下文会自动出现在新会话中。注意虽然包也发布在 npm 上但npm install -g claude-mem只会安装 SDK/库本身——不会注册插件 hooks也不会配置 worker 服务。请始终使用npx claude-mem install或上面的/plugin命令安装。从 package.json 可以看到包的bin入口是./dist/npx-cli/index.js这正是npx claude-mem调用的 CLI。OpenClaw Gateway如果使用的是 OpenClaw gateway可以用一条命令把 claude-mem 作为持久记忆插件安装curl -fsSL https://install.cmem.ai/openclaw.sh | bash安装器会处理依赖、插件配置、AI provider 配置、worker 启动以及可选的实时观察 feedTelegram、Discord、Slack 等。仓库内的 openclaw/ 目录包含了完整的 OpenClaw 插件源码、openclaw.plugin.json清单以及install.sh安装脚本可以对照查看安装器的实际行为。核心特性一览持久记忆上下文跨会话保留渐进式披露Progressive Disclosure分层记忆检索每一层都标注了 token 成本基于 skill 的检索用mem-search技能以自然语言查询项目历史Web 界面worker 启动时打印的 URL 上可实时查看记忆流隐私控制用private标签把敏感内容排除在存储之外上下文配置精细控制注入哪类上下文自动运行全程无需人工干预可引用通过 worker API 用 ID 引用历史观察或在 Web 查看器中浏览二、工作原理与系统组件文档将系统拆成 6 个核心组件5 个 Lifecycle HooksSessionStart、UserPromptSubmit、PostToolUse、Stop、SessionEnd共 6 个 hook 脚本智能安装检查缓存依赖预检pre-hook 脚本不是 lifecycle hookWorker Service本地 HTTP API带 Web 查看器和检索 endpoint由 Bun 管理SQLite 数据库存储会话、观察、摘要mem-search 技能支持渐进式披露的自然语言查询Chroma 向量数据库混合语义 关键词检索从源码看 Hooks 的真实分工仓库内的 plugin/hooks/hooks.json 是这份组件列表的直接证据它注册了以下 hookHook 事件matcher调用的 worker 子命令超时说明Setup*node version-check.js300s依赖预检对应组件 2不是 lifecycle hookSessionStartstartup\|clear\|compactworker-service.cjs starthook claude-code context60s启动 worker 并注入历史上下文UserPromptSubmit—hook claude-code session-init60s用户提交 prompt 时初始化会话记录PostToolUse*hook claude-code observation120s异步每次工具调用后产生观察PreToolUseReadhook claude-code file-context60s异步读文件前补充文件上下文Stop—hook claude-code summarize120s异步会话停止时生成进度摘要可以看到PostToolUse和Stop都标记了async: true即观察生成与摘要生成不会阻塞主会话这正是自动运行、无人工干预的实现基础。每个 hook 命令在执行前都会先在~/.claude/plugins/cache/thedotmack/claude-mem/缓存目录中按版本号排序挑选最新的一份插件副本排除带.orphaned_at标记的孤儿副本再回退到~/.claude/plugins/marketplaces/thedotmack/plugin保证多版本共存时始终运行最新代码。每个 hook 的统一入口是node plugin/scripts/bun-runner.js plugin/scripts/worker-service.cjs 子命令即 plugin/scripts/bun-runner.js 负责确保 Bun 运行时可用再拉起 plugin/scripts/worker-service.cjs。仓库测试 tests/worker-spawn.test.ts、tests/worker-script-resolution.test.ts 覆盖了这套启动/脚本解析逻辑。观察Observation的形态worker 用什么标准判断什么值得记定义在模式文件里。以默认的 plugin/modes/code.json 为例它规定了9 种观察类型type 字段只允许这些值bugfix修好了什么、feature新增能力、refactor重构行为不变、change文档/配置等杂项、discovery对现有系统的发现、decision带理由的架构/设计决策、security_alert需立即处理的安全问题、security_note值得记录但不紧急的安全观察、sensitive不希望泄漏到后续内容的敏感信息。7 种知识概念concepts 字段how-it-works、why-it-exists、what-changed、problem-solution、gotcha、pattern、trade-off每条观察标注 2–5 个。观察者提示词约束观察者是一个单向记录器——只记录被观察会话中学到/构建/修复/部署/配置了什么禁止描述自己分析了、跟踪了、记录了这类过程性叙述也禁止跳过规则空状态检查、无错误的安装、重复操作等直接返回空响应。观察最终由 SQLite 持久化plugin/sqlite/SessionStore.js 及 src/storage/sqlite/ 下的存储层并支持 FTS5 全文检索与 Chroma 向量混合检索参见 docs/public/architecture/database.mdx 与 docs/public/architecture/search-architecture.mdx。三、MCP 检索工具三层省 token 工作流Claude-Mem 通过4 个 MCP 工具提供记忆检索遵循3 层工作流模式以节省 token3 层工作流search— 获取带 ID 的紧凑索引约 50–100 token/条timeline— 获取感兴趣结果前后的时间线上下文get_observations— 仅对筛选后的 ID 拉取完整详情约 500–1000 token/条工作机制Claude 通过 MCP 工具检索你的记忆先用search拿到结果索引用timeline查看特定观察前后发生了什么用get_observations只对相关 ID 取完整详情由于先过滤、再取详情token 消耗可省约 10 倍完整的工具参数表见 docs/public/usage/search-tools.mdx其中给出了一组对比传统方式一次性取回约 20,000 token 且只有约 10% 相关三层方式合计约 3,000 token 且 100% 相关。工具参数详解仓库内 plugin/skills/mem-search/SKILL.md 是mem-search技能的定义它与 MCP 工具一一对应参数如下search— 检索记忆索引search(queryauthentication, limit20, projectmy-project)参数类型说明querystring全文检索词支持 AND/OR/NOT 与短语查询limitnumber最多返回条数默认 20最大 100projectstring按项目名过滤typestring记录类别observations / sessions / promptsobs_typestring观察类型过滤如 bugfix、feature、decision、discovery、changedateStart/dateEndstringYYYY-MM-DD 或 epoch 毫秒offsetnumber跳过前 N 条分页orderBystringdate_desc默认、date_asc、relevancetimeline— 获取时间线上下文timeline(anchor11131, depth_before3, depth_after3, projectmy-project) # 或不指定 anchor用 query 自动定位锚点 timeline(queryauthentication, depth_before3, depth_after3, projectmy-project)参数说明anchor时间线中心观察 ID可选query未提供 anchor 时用它自动找锚点depth_before/depth_after锚点前后各取多少条最大 20project项目名过滤返回depth_before 1 depth_after条按时间排列的记录观察、会话、prompt 交错排列。get_observations— 批量取完整详情get_observations(ids[11131, 10942])ids必填要取完整详情的观察 ID 数组。2 条及以上永远用这一个工具——一次请求代替 N 次请求orderBydate_desc默认/date_asclimit返回上限project项目过滤返回完整的观察对象title、subtitle、narrative、facts、concepts、files约 500–1000 token/条。调用示例// 第 1 步检索索引 search(queryauthentication bug, typebugfix, limit10) // 第 2 步查看索引识别相关 ID如 #123、#456 // 第 3 步只取这些 ID 的完整详情 get_observations(ids[123, 456])常见查询示例# 最近的 bug 修复 search(querybug, typeobservations, obs_typebugfix, limit20, projectmy-project) # 上周发生了什么 search(typeobservations, dateStart2025-11-11, limit20, projectmy-project) # 某次发现前后的上下文 timeline(anchor11131, depth_before5, depth_after5, projectmy-project) # 批量取详情 get_observations(ids[11131, 10942, 10855], orderBydate_desc)从源码看工具注册MCP 服务端的实现在 src/servers/mcp-server.ts它基于modelcontextprotocol/sdk构建 StdioServer并刻意拦截console.log转为错误日志防止任何输出污染 MCP 协议通道。工具列表本身不做重实现而是通过callWorker()把请求转发给本地 worker 的 HTTP endpointworker 启动与端口发现逻辑见 src/shared/worker-utils.ts 和 src/services/worker-spawner.ts。哪些工具对哪些 runtime 可见由 src/servers/mcp-tool-visibility.ts 控制并有对应测试 tests/servers/mcp-tool-schemas.test.ts 校验工具 schema。四、配置设置统一存放在~/.claude-mem/settings.json首次启动时自动创建默认值。可以配置 AI 模型、worker 端口、数据目录、日志级别和上下文注入行为。从源码看该路径由 src/shared/paths.ts 中的USER_SETTINGS_PATH join(DATA_DIR, settings.json)定义。完整的可用配置项与示例见 docs/public/configuration.mdx。模式与语言配置CLAUDE_MEM_MODEClaude-Mem 通过CLAUDE_MEM_MODE支持多种工作模式与语言。这个值同时控制工作流行为如 code、chill、investigation生成的观察所使用的语言配置方法编辑~/.claude-mem/settings.json{ CLAUDE_MEM_MODE: code--zh }模式定义在仓库的 plugin/modes/ 目录下。查看本机已安装的全部模式ls ~/.claude/plugins/marketplaces/thedotmack/plugin/modes/内置模式节选模式说明code默认英文模式code--zh简体中文已内置无需额外安装或升级code--ja日文code--chill轻松风格law-study法律学习专用含 plugin/modes/law-study-CLAUDE.md语言模式遵循code--[lang]命名规则[lang]为 ISO 639-1 语言码如zh中文、ja日文、es西班牙文。仓库当前已内置 25 个以上code--*.json语言变体含code--cs.json捷克文、code--de.json德文等与 docs/i18n/ 下的多语言 README 一一对应。切换模式后需重启 Claude Code 才能生效。五、系统要求与 Windows 注意事项系统要求Node.js20.0.0 或更高package.json 中engines声明为20.12.0且要求bun 1.0.0Claude Code支持插件的最新版本BunJavaScript 运行时兼进程管理器缺失时自动安装uvPython 包管理器用于向量检索缺失时自动安装SQLite 3持久化存储随包提供Windows 注意事项如果看到类似下面的报错npm : The term npm is not recognized as the name of a cmdlet请确认 Node.js 和 npm 已安装并加入 PATH安装完成后重启终端。六、发布分支策略稳定版本从main分支发布并推送到 npm。core-dev和community-edge是面向源码运行的分支分别用于可靠性问题的快速修复和社区集成。npm 上只发布main的产物另外两个分支需要从源码启动。分支流的完整说明见 docs/public/branches.mdx。七、排错、Bug 报告与贡献自动排错遇到问题时直接把现象描述给 Claudetroubleshoot 技能会自动诊断并给出修复建议。常见问题清单见 docs/public/troubleshooting.mdx。生成 Bug 报告仓库自带自动化的 bug-report 生成器实现在 scripts/bug-report/cd ~/.claude/plugins/marketplaces/thedotmack npm run bug-report贡献流程fork 仓库 → 创建 feature branch → 带测试地修改 → 更新文档 → 提 Pull Request。开发与构建指南见 docs/public/development.mdx仓库根目录的 CLAUDE.md 也描述了贡献约定。八、许可证Claude-Mem 采用Apache License 2.0见 LICENSE。选择 Apache-2.0 的考量是持久化的 agent 记忆应当能够方便地被嵌入开发工具、本地 agent、MCP 服务器、企业系统、机器人栈与生产级 agent harness。开源与商业使用的边界详见 docs/license.md 和 docs/ip-boundary.md。Ragtime 说明ragtime/ 目录单独采用Apache License 2.0见 ragtime/LICENSE其中的 ragtime/ragtime.ts 是该项目的检索增强生成模块实现。CMEM 社区代币文档还提到 CMEM 是第三方创建、经 Claude-Mem 作者Alex Newman官方认可的社区代币定位是社区增长催化剂与软件功能本身无关。九、延伸阅读安装与高级安装docs/public/installation.mdx自动运行机制docs/public/usage/getting-started.mdx架构总览docs/public/architecture/overview.mdxhooks 参考docs/public/architecture/hooks.mdxWorker Service 与数据库docs/public/architecture/worker-service.mdx、docs/public/architecture/database.mdx配置参考docs/public/configuration.mdx排错docs/public/troubleshooting.mdx多语言文档docs/i18n/含中文、日文、德文等 30 语言 README以上即为 Claude-Mem 从安装到日常使用的完整技术路径hooks 负责记worker SQLite Chroma 负责存MCP 三层工作流负责查而settings.json与模式文件决定了记录的语言与风格。【免费下载链接】claude-memPersistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode More项目地址: https://gitcode.com/GitHub_Trending/cl/claude-mem创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考