为Claude Code添加持久化记忆功能

教程:让Claude Code记住你的一切

Claude Code是一个非常强大的AI编程助手,但它有一个痛点:每次对话结束后,所有的上下文都会丢失。本文将介绍如何为Claude Code添加持久化记忆功能。

问题所在

每次启动新的Claude Code会话时,AI就像第一次见到你一样,不记得之前的对话内容、你的编程偏好、项目背景等信息。

问题是:Claude 代码会忘记一切

每次你开始新的Claude Code游戏,所有的记录都会被清除。你的编码风格偏好、项目架构决策、昨天的调试会议——全都没了。

你最后还是重复了一遍:“我们用的是Supabase,不是Firebase。边缘函数属于 。不要用假数据。”supabase/functions/

Claude-MEM 通过在会话间添加持久内存来解决这个问题。发布后48小时内,它就达到了4.6万个GitHub星数。我安装了它,先做了一个轻量的DIY替代品,以下是我发现的情况。

什么是 claude-mem?

GitHub:https://github.com/thedotmack/claude-mem

一个能让Claude Code拥有长期记忆的插件。它会自动记录你在会谈中的行为,并为后续对话注入相关背景。

建筑

  • 5 生命周期钩子:SessionStart / UserPromptSubmit / PostToolUse / Stop / SessionEnd
  • SQLite + Chroma:混合搜索(关键词 + 向量相似度)
  • Bun HTTP Worker:localhost:37777 的后台服务
  • MCP工具:三层渐进披露(搜索→时间线→ get_observations)
  • Web UI:视觉记忆浏览器

安装

npx claude-mem install
npx claude-mem start  # Requires Bun

我最先打造的DIY替代方案

在发现 claude-mem 之前,我只用两个 PowerShell 脚本和 Claude Code 的原生钩子 API 构建了一个最小内存系统。

PostToolUse 钩子(auto-capture.ps1)

每次使用工具后都会触发。捕获git提交和新文件创建到每日markdown文件:BashWrite

memory/auto-capture/2026-04-13.md
- 09:15 [abc1234] feat: Add user authentication
- 09:32 [Write] auth_middleware.dart
- 10:01 [def5678] fix: Token refresh logic

SessionStart Hook (session-resume.ps1)

读取过去3天的捕获数据,并在新会话开始时注入上下文。AI立刻知道你一直在做什么。

settings.json注册

{
  "hooks": {
    "PostToolUse": [{
      "matcher": "Bash|Write",
      "hooks": [{
        "type": "command",
        "command": "powershell -File auto-capture.ps1"
      }]
    }],
    "SessionStart": [{
      "hooks": [{
        "type": "command",
        "command": "powershell -File session-resume.ps1"
      }]
    }]
  }
}

对比

特色 克劳德-梅姆 DIY钩子
设置 npx install(1个命令) 2个脚本,手动
自动吃子 所有工具使用 git提交 + 仅写
搜索 向量相似度 + 关键词 GREP(文本搜索)
网页用户界面 本地主持:37777 没有
依赖关系 Bun + SQLite + (Chroma) 没有
代币成本 LLM压缩(Gemini = 自由空间)
对git友好 数据库文件(git忽略) Markdown 文件(可共享)
多实例 会话范围隔离 文件共享以促进协调

两者同时运行

好消息是:它们和谐共存。claude-mem 作为插件注册,DIY 钩子直接注册在 settings.json。两者都针对同一事件开火,且没有冲突。

当克劳德-梅姆闪耀时

  • 智能压缩:使用大型语言模型(Gemini/Claude)将工具输出总结为紧凑的观测值
  • 义搜索:“我上周对认证系统做了什么?”其实有效
  • 网页仪表盘:已捕获内容的可视化概览

当DIY钩子闪耀时

  • 零依赖:无服务器,无数据库,无运行时
  • 团队共享:Markdown 文件可以提交到 git 并跨实例共享
  • 完全掌控:你决定捕捉哪些内容以及如何
  • 真正免费:完全没有API调用

成本优化小贴士

claude-mem 默认使用 Claude API 进行压缩,这会消耗你的代币。切换到Gemini(免费)以消除这个问题:

// ~/.claude-mem/settings.json
{
  "CLAUDE_MEM_PROVIDER": "gemini",
  "CLAUDE_MEM_GEMINI_API_KEY": "your-free-key-from-aistudio.google.com"
}

我们的三层内存架构

在我们的项目(Flutter Web + Supabase,3个并行Claude Code实例)中,我们采用了分层方法:

工具 目的
第一语言:会场中 claude-mem (SQLite) 自动记录所有工具使用,语义搜索
L2:场间 DIY钩子(折扣) Git 提交历史,跨实例共享
L3:跨项目 NotebookLM 主脑 深入研究,长期建筑知识

结论

Claude-Mem兑现了将Claude Code从“一次性工具”转变为“成长中的合作伙伴”的承诺。矢量搜索和网页界面确实是非常实用的功能,简单脚本很难复制。

然而,对于想要零依赖、零代币成本和支持 git 内存共享的团队来说,DIY 钩子方案是一个稳妥的起点。

我的建议:先用DIY钩子减少内存,然后在需要语义搜索和自动压缩时加Claude-mem。


使用 Claude Code 构建 |项目:https://my-web-app-b67f4.web.app/

ClaudeCode #AI #buildinpublic

原创文章,作者:ROCKYCOO,如若转载,请注明出处:https://aiyixun.com/%e4%b8%baclaude-code%e6%b7%bb%e5%8a%a0%e6%8c%81%e4%b9%85%e5%8c%96%e8%ae%b0%e5%bf%86%e5%8a%9f%e8%83%bd/

喜欢 (0)
ROCKYCOO的头像ROCKYCOO
上一篇 7小时前
下一篇 7小时前

相关推荐

  • 企业客服AI Agent部署实战

    企业客服AI Agent部署实战 一、前言 随着大模型技术成熟与企业降本增效需求加剧,传统关键词式客服机器人已无法满足复杂咨询、多轮对话、跨系统执行的业务需求。企业客服AI Age…

    12小时前

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注