您的位置:首页 > 手游攻略 > Claude Code 每次都失忆怎么办?claude-mem 配置教程

Claude Code 每次都失忆怎么办?claude-mem 配置教程

作者:互联网  时间: 2026-07-25 15:30:02  

Claude Code 明明昨天已经读过项目,今天一开新会话又像第一次见面,这种“失忆”通常不是模型突然变笨,而是 claude-mem 的三段链路里有一段没接上:会话观察没有存进去、worker 没有处理、或者新会话启动时没有把相关记忆注入进来。先别急着重装,按配置文件、worker、上下文注入这三个点查,效率会高很多。

Claude-Mem 官方 Configuration 页面截图,页面展示 settings.json、worker port、data dir 和 context settings
先看配置页:真正要核对的是 settings.json、worker 端口、数据目录和上下文注入数量。

先判断是哪一种“失忆”

第一种是完全没有记忆。新开 Claude Code 后,问它昨天做过什么,它只能泛泛回答,连项目名、文件名、决策都说不出来。这更像 hooks、worker 或数据库没有工作。

第二种是有一点记忆,但总是漏关键事。比如它记得你改过登录模块,却不记得最后选择了哪种鉴权方案。这更像上下文注入数量太小,或者观察类型过滤得太窄。

第三种是你以为它该记住,但其实被排除了。比如内容放在 <private> 标签里,或者相关工具被 skip 掉,这类内容不会进入可搜索记忆。

我会这样试:先问一个非常具体的问题,例如“上次这个项目里我让你记住的测试命令是什么”。如果它完全答不上来,先查服务;如果它能答一半,再调上下文数量。

第一步:确认安装方式没有走偏

claude-mem 不能只靠 npm install -g claude-mem。全局 npm 包只装 SDK 或 library,不会自动把 Claude Code 的 hooks 注册好,也不会启动后台 worker。正确入口是交互式安装:

npx claude-mem install

或者在 Claude Code 里用插件市场命令:

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

我会这样试:如果你不确定自己当时怎么装的,直接跑 npx claude-mem repair。它比盲目重装温和,适合修复版本标记、依赖或 hooks 配置不一致的问题。

第二步:打开 settings.json,看核心配置在不在

claude-mem 的配置文件在 ~/.claude-mem/settings.json。先看四类字段:数据目录、worker 地址、worker 端口、上下文注入设置。官方配置页写到,默认数据根目录是 ~/.claude-mem,数据库、日志、worker pid、settings.json 都围绕这个目录展开。

常见配置项包括:

{
  "CLAUDE_MEM_DATA_DIR": "~/.claude-mem",
  "CLAUDE_MEM_WORKER_HOST": "127.0.0.1",
  "CLAUDE_MEM_WORKER_PORT": "37700",
  "CLAUDE_MEM_CONTEXT_OBSERVATIONS": "100",
  "CLAUDE_MEM_CONTEXT_SESSION_COUNT": "20",
  "CLAUDE_MEM_MODE": "code--zh"
}

端口不一定固定是 37700,官方文档说明默认会按用户 ID 生成一个 per-user 端口,所以实际访问地址要以 settings.json 里的 CLAUDE_MEM_WORKER_PORT 为准。不要死记一个本地 URL。

我会这样试:先把 CLAUDE_MEM_CONTEXT_OBSERVATIONS 调到 80-100,CLAUDE_MEM_CONTEXT_SESSION_COUNT 调到 10-20,再重开 Claude Code 会话测试。别一口气拉到特别大,否则上下文会变重,反而影响响应。

第三步:确认 worker 真的活着

Claude-Mem 官方 Troubleshooting 页面截图,页面展示 Quick Diagnostic Tool、worker、database、port 和 hook 检查方向
排查页的顺序很实用:worker、数据库、连通性、依赖、端口,一个一个查。

claude-mem 不是只写一个配置文件就能工作,它还要靠后台 worker 处理观察、数据库和检索。失忆时先看服务,再看内容。常见检查方向是 worker 状态、数据库是否存在、端口是否被占用、日志里有没有报错。

如果你在 claude-mem 插件或仓库目录里,可以尝试这些命令:

npm run worker:status
npm run worker:logs
npm run worker:restart

如果网页查看器打不开,先打开 ~/.claude-mem/settings.json 找端口,再访问 http://127.0.0.1:<端口>。如果端口被占用,可以改 CLAUDE_MEM_WORKER_PORT,然后重启 worker。

我会这样试:先不删数据库,只看 ~/.claude-mem/logs/worker-error.log。如果日志里是端口冲突,就改端口;如果是依赖缺失,再 repair;如果是数据库损坏,再考虑备份后处理。

第四步:把中文项目模式设对

中文项目建议把模式设成 code--zh。这个设置不会改变你的代码,也不是翻译插件;它影响 claude-mem 生成观察和注入上下文时的语言风格。中文需求、中文提交规范、中文项目约定比较多时,设置成中文模式更容易读。

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

我会这样试:如果你的项目 issue、README、需求文档主要是中文,就用 code--zh;如果是英文开源项目,保持 code 更稳。模式改完后重启 Claude Code,再开新会话测试。

第五步:调上下文注入,不要只调模型

很多人遇到失忆,第一反应是换更贵的模型。可如果 claude-mem 没把记忆注入进去,模型再强也看不到昨天的上下文。更该先看的字段是 CLAUDE_MEM_CONTEXT_OBSERVATIONSCLAUDE_MEM_CONTEXT_SESSION_COUNTCLAUDE_MEM_CONTEXT_OBSERVATION_TYPESCLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS

如果你只想让它记住项目决策和坑,可以把观察类型偏向 bugfixdecisiondiscovery。如果你发现它老是忘记“为什么这样做”,就把 full context 的数量适当提高,让更完整的 narrative 进入上下文。

我会这样试:先增加数量,再过滤类型。数量太小会漏,类型太早过滤会误删。等你确认记忆能正常回来,再用类型过滤降低噪音。

第六步:确认 MCP 搜索工具可用

官方配置页提到,claude-mem 提供 MCP search、timeline、get_observations 等搜索工具,Claude Code 里可以通过自然语言查询过去工作。如果新会话自动注入不明显,可以主动问:“搜索这个项目过去关于登录模块的记忆”。

如果搜索也没有结果,问题多半在存储或 worker;如果搜索有结果但启动时没有带进来,问题更偏上下文注入配置。

我会这样试:先问自动记忆,再问搜索记忆。自动记忆失败但搜索成功,调 context;两者都失败,查 worker、hooks 和数据库。

第七步:别把该记的内容放进 private 标签

Claude-Mem 官方 Private Tags 页面截图,页面说明 private 标签会过滤用户提示、工具输入、工具输出和可搜索内容
<private> 是隐私保护,不是普通备注。放进去的内容不要指望后续被记住。

<private>...</private> 很有用,适合包住 API key、密码、客户资料、内部 token。但官方说明也很清楚:private 内容会在存储前被过滤,不会进入数据库和搜索索引。你把“项目测试命令”也放进去,它就不会成为可检索记忆。

我会这样试:敏感信息放 private,项目规范不要放 private。比如 token、账号、客户名单要包起来;测试命令、目录约定、架构决策、排错结论就让 claude-mem 正常记录。

第八步:用一个小问题验证是否修好

配置改完后,不要直接丢一个大任务。先做一个低风险验证:在 Claude Code 里告诉它“这个项目的单元测试命令是 npm run test:unit,请记住这个约定”,让它做一次相关文件读取或说明,然后结束会话。新开会话后问:“这个项目的单元测试命令是什么?”

如果它能答出具体命令,说明存储、worker、检索和注入至少有一条链路跑通。再测试更复杂的记忆,比如“上次为什么没有选方案 A”。

我会这样试:一个测试只验证一个点。先测能不能记住命令,再测能不能记住决策,不要把安装、配置、隐私和项目任务混在同一轮里。

最后的配置检查清单

  • 确认安装入口是 npx claude-mem install 或 Claude Code 插件市场,不是只跑 npm install -g
  • ~/.claude-mem/settings.json 存在,并能看到 worker host、worker port、data dir。
  • 按实际端口打开 viewer,不死记默认地址。
  • worker 状态正常,日志里没有端口冲突、依赖缺失或数据库错误。
  • 中文项目设置 CLAUDE_MEM_MODEcode--zh
  • 适当提高 CLAUDE_MEM_CONTEXT_OBSERVATIONSCLAUDE_MEM_CONTEXT_SESSION_COUNT
  • 确认需要记住的项目约定没有被包进 <private>
  • 用一个小问题验证新会话能否取回记忆。

这套排查的重点不是把配置调得越多越好,而是先让链路可见:存进去、处理完、搜得到、注入回来。只要这四件事能逐项确认,Claude Code 每次像新同事报到的问题,就能一点点收住。

最新游戏

更多

Copyright©2010-2019. All rights reserved | 波波三国游戏官网|[email protected]

备案编号:湘ICP备2022015115号-4