Claude-Mem 法语版 README 深度解读:跨会话持久记忆、MCP 三层搜索与语言模式配置
2026/9/7 7:56:04 网站建设 项目流程

Claude-Mem 法语版 README 深度解读:跨会话持久记忆、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-mem

Claude-Mem 的 法语 README 是该项目 31 个官方语言版本之一,完整承载了英文主 README 的全部技术内容:跨会话持久上下文的工作机制、多平台安装路径、生命周期 hooks 架构、MCP 三层记忆搜索工作流以及~/.claude-mem/settings.json配置体系。本文以该法语文档为主体逐节展开,并结合仓库源码(hooks 定义、默认值管理器、MCP 服务器、mem-search 技能)补充实现细节,帮助法语读者与中文开发者都能完整掌握 Claude-Mem 的安装、配置与检索实战方案。

注意:该文档首行声明为自动翻译产物,欢迎社区修正。文档中的徽章显示版本为 13.4.0、Node >= 20.0.0,而当前仓库 package.json 实际版本为 13.24.0、engines.node要求>=20.12.0——这说明该法语 README 是早期版本翻译的快照,具体版本能力请以当前仓库为准。

快速安装

法语 README 给出的核心安装命令只有一条:

npx claude-mem install

针对不同 IDE / 平台的安装方式:

# 安装到 OpenCode npx claude-mem install --ide opencode # 安装到 Antigravity CLI npx claude-mem install --ide antigravity

也可以在 Claude Code 内直接通过插件 marketplace 安装:

/plugin marketplace add thedotmack/claude-mem /plugin install claude-mem

安装完成后重启 Claude Code,之前会话的上下文会自动出现在新会话中。

文档特别强调了一条重要的安装陷阱:npm install -g claude-mem只安装 SDK/库——它不会注册插件 hooks、也不会配置 service worker。必须使用npx claude-mem install或上面的/plugin命令完成完整安装。仓库中install/目录下的 installer.js 正是npx claude-mem的安装入口。

OpenClaw Gateway

法语 README 还提供了一键将 claude-mem 作为持久记忆插件安装到 OpenClaw 网关的方式(curl -fsSL https://install.cmem.ai/openclaw.sh | bash)。安装器会自动处理依赖、插件配置、AI 供应商配置、worker 启动,以及可选的 Telegram/Discord/Slack 实时观察流。本仓库 openclaw/ 目录下有对应的插件实现:openclaw.plugin.json 定义插件契约,install.sh 是本地安装脚本,openclaw/TESTING.md 与test-e2e.sh提供端到端验证流程。

文档列出的关键能力清单(法语原文的九项特性)对应如下:

  • 持久记忆——上下文跨会话存活;
  • 渐进式披露(divulgence progressive)——分层记忆检索并可见 token 成本;
  • 基于技能的搜索——用mem-search技能查询项目历史;
  • Web 可视化界面——worker 启动时打印的 URL 提供实时记忆流;
  • Claude Desktop 技能——从桌面端会话中检索记忆;
  • 隐私控制——用<private>标签排除敏感内容;
  • 上下文注入配置——精确控制注入内容;
  • 全自动运行——无需人工干预;
  • 引用(citations)——通过 worker API 按观察 ID 引用历史,或在 Web 界面查看全部。

六大核心组件与生命周期 hooks

法语 README 的「Comment ça fonctionne」一节列出了系统的六大组成部分,这一节是整个项目架构的骨架:

  1. 5 个生命周期 hooks——SessionStart、UserPromptSubmit、PostToolUse、Stop、SessionEnd(共 6 个 hook 脚本);
  2. 智能安装——带缓存的依赖检查器(前置脚本,不属于生命周期 hook);
  3. Service Worker——Bun 托管的本地 HTTP API,提供 Web 可视化界面与搜索端点;
  4. SQLite 数据库——存储会话(sessions)、观察(observations)、摘要(summaries);
  5. mem-search 技能——自然语言查询 + 渐进式披露;
  6. Chroma 向量数据库——语义 + 关键词混合检索,实现智能上下文召回。

这些组件声明可以在 plugin/hooks/hooks.json 中得到直接印证。该文件注册了六个 hook 事件,每个事件的命令最终都通过node bun-runner.js worker-service.cjs hook claude-code <子命令>转发给 worker 服务:

Hook 事件匹配器worker 子命令超时异步
Setup*执行scripts/version-check.js(依赖检查,即上文第 2 条"智能安装")300s
SessionStartstartup\|clear\|compactstart(启动 worker)+context(注入上下文)60s
UserPromptSubmitsession-init60s
PostToolUse*observation(捕获工具使用观察)120s
PreToolUseReadfile-context60s
Stopsummarize(生成会话摘要)120s

两个值得注意的实现细节:

  • hooks.json 里每个命令都内嵌了一段 bash 逻辑:优先使用CLAUDE_PLUGIN_ROOT,否则在~/.claude/plugins/cache/thedotmack/claude-mem/下按语义化版本排序选取最新的非孤儿缓存目录,最后回退到~/.claude/plugins/marketplaces/thedotmack/plugin;在 Windows Git Bash 环境下还会调用cygpath -w把路径转为 Windows 格式。这解释了为什么插件缓存多版本共存时仍能始终命中最新副本;
  • 捕获类 hook(PostToolUse/Stop)标记为async: true,不阻塞用户交互,这正是"自动记录、零感知"体验的来源。

worker 侧的入口是 src/services/worker-service.ts,MCP 服务器启动 worker 的调用链见 src/servers/mcp-server.ts(resolveWorkerScriptPath()解析 worker 脚本路径)。

MCP 三层搜索工作流

法语 README 用一整节介绍 Claude-Mem 通过4 个 MCP 工具提供的记忆检索,核心是一个节省 token 的三层工作流

  1. search——获取带 ID 的紧凑索引(约 50–100 tokens/条结果);
  2. timeline——查看感兴趣结果周围的时序上下文;
  3. get_observations——对筛选后的 ID 拉取完整详情(约 500–1000 tokens/条)。

按"先筛选、后取详情"的策略,文档宣称可获得约 10 倍的 token 节省。文档给出的用法示例:

// 第 1 步:搜索索引 search(query="authentication bug", type="bugfix", limit=10) // 第 2 步:检查索引,识别相关 ID(如 #123、#456) // 第 3 步:拉取完整详情 get_observations(ids=[123, 456])

这些工具的真实定义与参数在 plugin/skills/mem-search/SKILL.md 中有完整文档,比法语 README 更细,可直接作为实操参考:

  • search参数query(检索词)、limit(默认 20,最大 100)、project(项目名过滤)、typeobservations/sessions/prompts)、obs_type(逗号分隔:bugfix, feature, decision, discovery, change)、dateStart/dateEndYYYY-MM-DD或 epoch 毫秒)、offset(跳过量)、orderBy(默认date_desc,可选date_ascrelevance)。返回形如| #11131 | 3:48 PM | 🟣 | Added JWT authentication | ~75 |的索引表;
  • timeline参数anchor(观察 ID 锚点)或query(自动定位锚点)、depth_before/depth_after(默认 5,最大 20)、project。返回锚点前后depth_before + 1 + depth_after个条目,观察、会话、提示词按时序交错排列;
  • get_observations参数ids(数字数组,必填)、orderBy(默认date_desc)、limitproject。SKILL.md 明确要求"2 条以上观察务必用一次批量请求,而不是 N 次单条请求"。

从源码结构看,MCP 服务器 src/servers/mcp-server.ts 本身不实现检索逻辑:所有工具调用经callWorker()(第 72 行起)转发到本地 worker 的 HTTP API,检索能力由 worker 内的 SQLite FTS5 + Chroma 混合搜索实现;工具集在workerserver两种运行时下的可见性由 src/servers/mcp-tool-visibility.ts 按运行时选择(server 运行时下使用observation_search等命名),MCP 工具命名与暴露面的安全性有专门测试 tests/servers/mcp-server-name-safety.test.ts。

模式与语言配置(CLAUDE_MEM_MODE)

法语 README 的「Configuration du mode et de la langue」一节说明:CLAUDE_MEM_MODE参数同时控制工作流行为(如 code、chill、investigation)和生成观察所使用的语言。配置方法是编辑~/.claude-mem/settings.json

{ "CLAUDE_MEM_MODE": "code--zh" }

语言特定模式遵循code--[lang]命名规则,[lang]为 ISO 639-1 语言代码(zh中文、ja日语、es西班牙语等)。文档提醒:模式定义存放在插件的modes/目录,本地查看可用模式的命令是ls ~/.claude/plugins/marketplaces/thedotmack/plugin/modes/更换模式后必须重启 Claude Code 生效

这里可以对照仓库源码做两点补充:

  1. 该参数是完整的设置项之一:src/shared/SettingsDefaultsManager.ts 中CLAUDE_MEM_MODE的默认值为'code',与文档一致;
  2. 当前仓库 plugin/modes/ 目录实际提供了31 个语言变体(ar、bn、chill、cs、da、de、el、es、fi、fr、he、hi、hu、id、it、ja、ko、nl、no、pl、pt-br、ro、ru、sv、th、tr、uk、ur、vi、zh)外加email-investigationlaw-studymeme-tokens等实验模式。以 plugin/modes/code--fr.json 为例,模式文件的prompts字段通过 footer 中的 "LANGUAGE REQUIREMENTS" 指令强制观察与摘要以目标语言写出,并为 title/subtitle/fact/narrative 各 XML 占位符提供本地化提示文案——这就是"语言模式"的完整实现机制。

系统要求与 Windows 安装注意事项

法语 README 列出的系统要求:

  • Node.js:20.0.0 及以上(当前仓库实际要求>=20.12.0);
  • Claude Code:支持插件的最新版本;
  • Bun:JavaScript 运行时与进程管理器,缺失时自动安装;
  • uv:Python 包管理器,用于向量检索,缺失时自动安装;
  • SQLite 3:持久化存储,随系统提供。

Windows 部分指出:若出现npm : The term 'npm' is not recognized as the name of a cmdlet类错误,说明 Node.js/npm 未安装或未加入 PATH,需安装 Node.js 并重启终端。这条提示与 hooks.json 中大量cygpath$SHELL -lc 'echo $PATH'的 Windows/Git Bash 适配逻辑相互印证——项目对 Windows 环境的兼容是有意为之的一等公民支持。

配置体系:settings.json 的加载规则与关键默认值

文档说明:所有参数集中在~/.claude-mem/settings.json(首次启动自动以默认值创建),可配置 AI 模型、worker 端口、数据目录、日志级别与上下文注入参数。

这一"首次启动自动创建"的行为在 src/shared/SettingsDefaultsManager.ts 的loadFromFile()中得到确认,且该文件揭示了完整的配置优先级链路:内置默认值 < settings.json 持久化值 < 环境变量。具体而言:

  • 文件不存在时,用getAllDefaults()原子写入一份完整默认配置(writeJsonFileAtomic,见 src/shared/atomic-json.ts);
  • 文件存在时,仅覆盖DEFAULTS中声明过的键(第 323–328 行),未知键不会干扰运行;还兼容旧版{ "env": {...} }嵌套结构并自动扁平化迁移;
  • 最后applyEnvOverrides()(第 254–262 行)让同名环境变量覆盖文件值。

法语 README 未逐一列举、但对实操最有用的部分默认值(引自 SettingsDefaultsManager.ts 第 134–239 行):

设置项默认值说明
CLAUDE_MEM_MODELclaude-haiku-4-5-20251001观察生成使用的模型
CLAUDE_MEM_WORKER_PORT37700 + (uid % 100)worker 本地 HTTP 端口,按 UID 派生实现多账户隔离
CLAUDE_MEM_WORKER_HOST127.0.0.1worker 绑定地址
CLAUDE_MEM_DATA_DIR~/.claude-mem数据目录
CLAUDE_MEM_LOG_LEVELINFO日志级别
CLAUDE_MEM_MODEcode模式/语言配置(上文已述)
CLAUDE_MEM_CONTEXT_OBSERVATIONS50会话启动时注入的观察数量
CLAUDE_MEM_CONTEXT_SESSION_COUNT10注入上下文中包含的会话数
CLAUDE_MEM_SKIP_TOOLSListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion不捕获观察的工具白名单
CLAUDE_MEM_PROVIDERclaude观察生成的 AI 供应商(另有 gemini、openrouter 等参数族)
CLAUDE_MEM_MAX_CONCURRENT_AGENTS2并发 Claude SDK 子进程上限
CLAUDE_MEM_CHROMA_ENABLED/CLAUDE_MEM_CHROMA_MODEtrue/local向量检索开关;local走 uvx 持久化 chroma-mcp,remote连现有 Chroma 服务(默认127.0.0.1:8000
CLAUDE_MEM_HOOK_FAIL_LOUD_THRESHOLD3连续 N 次 worker 不可达后 hook 以退出码 2 报错
CLAUDE_MEM_SEMANTIC_INJECT/_LIMITfalse/5实验特性:每次 UserPromptSubmit 注入 Top-N 相关历史观察

这些键的完整清单(含 Gemini/OpenRouter/Chroma/Telegram/Cloud Sync/Server 运行时等参数族)均可在 SettingsDefaultsManager.ts 的SettingsDefaults接口(第 22–131 行)中逐项核对。

发布分支、Bug 报告与贡献流程

发布分支:稳定版从main发布到 npm;core-devcommunity-edge是供早期可靠性修复与社区集成"从源码运行"的分支,仅main会发布到 npm。

Bug 报告:文档给出了自动化 bug 报告生成器:

cd ~/.claude/plugins/marketplaces/thedotmack npm run bug-report

对应当前仓库 package.json 中的脚本"bug-report": "bun scripts/bug-report/cli.ts",实现位于 scripts/bug-report/(cli.ts为命令行入口,collector.ts收集环境信息)。

贡献流程:Fork 仓库 → 建功能分支 → 带测试地修改 → 更新文档 → 提交 Pull Request。项目采用 Apache License 2.0,文档解释选择该许可的原因:持久代理记忆需要能顺利集成进开发工具、本地 agent、MCP 服务器、企业系统乃至生产 agent 基础设施;许可范围与开源/商业边界另见 docs/license.md 与 docs/ip-boundary.md。ragtime/目录同样为 Apache 2.0(见 ragtime/LICENSE)。

法语 README 本身是如何生成的

最后一个值得记录的事实:docs/i18n/下的 31 个语言版本并非纯手工翻译。仓库内置了 scripts/translate-readme/ 翻译工具链,其 README 说明该工具基于 Claude Agent SDK 将 README 翻译到多语言,核心实现 scripts/translate-readme/index.ts 有三个与可维护性直接相关的设计:

  1. 内容哈希缓存——用 SHA-256 前 16 位对源文件内容指纹化(hashContent),源码未变时直接命中TranslationCache,不重复调用模型;
  2. 成本护栏——maxBudgetUsd参数为每次翻译作业设置美元预算上限;
  3. 代码块保护——preserveCode默认保留代码块不翻译,这正是法语 README 中所有 bash/typescript 代码示例与英文原文逐字一致的原因。

该工具支持--use-existing(以既有译文为参考)、-o/--pattern(输出目录与文件名模式)等 CLI 选项,translate-readme README.md es fr de一条命令即可批量产出README.{lang}.md——这与docs/i18n/目录中README.fr.mdREADME.ja.md等文件的命名模式完全吻合。也就是说,当你向法语 README 提交翻译修正时,需要意识到源文档更新后缓存指纹会变化、工具链可能以英文原文重新生成覆盖——社区修正的价值在于反馈给英文主文档。

小结

这篇法语 README 虽为自动翻译快照,但它完整映射了 Claude-Mem 的技术全貌:以npx claude-mem install一键接入 Claude Code/OpenCode/Antigravity/OpenClaw,以 hooks.json 注册的六个 hook 事件自动捕获观察、以 Bun 托管的本地 worker 提供 HTTP API 与 Web 可视化,以 SQLite + Chroma 支撑search → timeline → get_observations三层检索工作流,并以~/.claude-mem/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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询