首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Claude-Mem:给Claude加上“记忆”,AI终于不再健忘了

Claude-Mem:给Claude加上“记忆”,AI终于不再健忘了

作者头像
Al1ex
发布2026-04-17 15:41:31
发布2026-04-17 15:41:31
6280
举报
文章被收录于专栏:网络安全攻防网络安全攻防

基本介绍

Claude-Mem 是一种为 Claude 等大模型构建“长期记忆能力”的解决方案,旨在突破传统对话中上下文有限、信息易遗忘的问题。它通常通过将用户历史对话、偏好信息或任务状态进行结构化存储(如向量数据库、文件或缓存),并在后续交互中按需检索注入到模型上下文中,从而实现“记住用户”“延续任务”“持续优化交互体验”。简单来说,Claude-Mem 让 AI 不再只是一次性的对话工具,而是逐步进化为具备持续记忆、上下文理解和个性化能力的长期智能助手

核心特性

  • 🧠 持久化内存 - 上下文跨会话保留
  • 📊 渐进式披露 - 分层内存检索,具有令牌成本可见性
  • 🔍 基于技能的搜索 - 使用 mem-search 技能查询项目历史
  • 🖥️ Web 查看器界面 - 在 http://localhost:37777 实时查看内存流
  • 💻 Claude Desktop 技能 - 从 Claude Desktop 对话中搜索内存
  • 🔒 隐私控制 - 使用 <private> 标签排除敏感内容的存储
  • ⚙️ 上下文配置 - 精细控制注入的上下文内容
  • 🤖 自动操作 - 无需手动干预

架构概述

架构示意图:

代码语言:javascript
复制
┌─────────────────────────────────────────────────────────────────┐
│ 0. Smart Install Pre-Hook Fires                                 │
│    Checks dependencies (cached), only runs on version changes   │
│    Not a lifecycle hook - runs before context-hook starts       │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│ 1. Session Starts → Context Hook Fires                          │
│    Starts Bun worker if needed, injects context from previous   │
│    sessions (configurable observation count)                    │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│ 2. User Types Prompt → UserPromptSubmit Hook Fires              │
│    Creates session in database, saves raw user prompt for FTS5  │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│ 3. Claude Uses Tools → PostToolUse Hook Fires (100+ times)      │
│    Captures tool executions, sends to worker for AI compression │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│ 4. Worker Processes → Claude Agent SDK Analyzes                 │
│    Extracts structured learnings via iterative AI processing    │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│ 5. Claude Stops → Summary Hook Fires                            │
│    Generates final summary with request, completions, learnings │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│ 6. Session Ends → Cleanup Hook Fires                            │
│    Marks session complete (graceful, not DELETE), ready for     │
│    next session context. Skips on /clear to preserve ongoing    │
└─────────────────────────────────────────────────────────────────┘

核心组件:

1. 插件钩子(Plugin Hooks):用于捕获生命周期事件,共包含 6 个 hook 文件,用来监听系统运行过程中的关键节点(如会话开始、用户输入、工具调用等)

2. 智能安装机制(Smart Install):在 context-hook 之前执行的依赖检查脚本,通过缓存机制判断依赖是否已安装,从而避免重复安装,提高启动效率。

3. Worker 服务(Worker Service):基于 Claude Agent SDK 与 HTTP API 构建的后台服务,负责处理 observation 数据,并提供 10 个搜索接口用于记忆查询与分析。

4. 数据库层(Database Layer)

用于持久化存储系统数据:

  • sessions(会话)
  • observations(行为记录)

技术栈包括:

  • SQLite(结构化存储)
  • FTS5(全文检索)
  • ChromaDB(向量数据库)

5. mem-search Skill 搜索模块:基于Skill机制的记忆搜索能力(v5.4.0+),支持渐进式信息披露(progressive disclosure),即按需逐层展开记忆内容,而不是一次性返回全部数据。

6. 可视化界面(Viewer UI):基于 Web 的实时记忆流展示系统,支持:

  • 实时数据流(real-time stream)
  • 记忆变化可视化
  • 调试与观察系统行为

工作原理

工作流程示意图如下:

代码语言:javascript
复制
┌─────────────────────────────────────────────────────────────┐
│ Session Start → Inject context from last 10 sessions       │
└─────────────────────────────────────────────────────────────┘
                            ↓
┌─────────────────────────────────────────────────────────────┐
│ User Prompts → Create session, save user prompts           │
└─────────────────────────────────────────────────────────────┘
                            ↓
┌─────────────────────────────────────────────────────────────┐
│ Tool Executions → Capture observations (Read, Write, etc.)  │
└─────────────────────────────────────────────────────────────┘
                            ↓
┌─────────────────────────────────────────────────────────────┐
│ Worker Processes → Extract learnings via Claude Agent SDK   │
└─────────────────────────────────────────────────────────────┘
                            ↓
┌─────────────────────────────────────────────────────────────┐
│ Session Ends → Generate summary, ready for next session     │
└─────────────────────────────────────────────────────────────┘
  • 输入(Input):Claude Code通过标准输入(stdin)将工具执行数据发送给hooks(生命周期钩子)
  • 存储(Storage):Hooks 将捕获到的 observations(行为记录)写入 SQLite 数据库进行持久化存储。
  • 处理(Processing):Worker 服务从数据库中读取 observations,并通过 SDK 进行处理与分析
  • 输出(Output):处理后的 summaries(总结结果)被写回数据库,用于后续使用。
  • 检索(Retrieval):下一次会话启动时,context hook 会从数据库中读取这些 summaries,并注入到新的上下文中,实现跨会话记忆能力。

数据流过程如下:

代码语言:javascript
复制
Hook (stdin) → Database → Worker Service → SDK Processor → Database → Next Session Hook

目录结构

代码语言:javascript
复制
claude-mem/
├── src/
│   ├── hooks/                  # Hook implementations (6 hooks)
│   │   ├── context-hook.ts     # SessionStart
│   │   ├── user-message-hook.ts # UserMessage (for debugging)
│   │   ├── new-hook.ts         # UserPromptSubmit
│   │   ├── save-hook.ts        # PostToolUse
│   │   ├── summary-hook.ts     # Stop
│   │   ├── cleanup-hook.ts     # SessionEnd
│   │   └── hook-response.ts    # Hook response utilities
│   │
│   ├── sdk/                    # Claude Agent SDK integration
│   │   ├── prompts.ts          # XML prompt builders
│   │   ├── parser.ts           # XML response parser
│   │   └── worker.ts           # Main SDK agent loop
│   │
│   ├── services/
│   │   ├── worker-service.ts   # Express HTTP + SSE service
│   │   └── sqlite/             # Database layer
│   │       ├── SessionStore.ts # CRUD operations
│   │       ├── SessionSearch.ts # FTS5 search service
│   │       ├── migrations.ts
│   │       └── types.ts
│   │
│   ├── ui/                     # Viewer UI
│   │   └── viewer/             # React + TypeScript web interface
│   │       ├── components/     # UI components
│   │       ├── hooks/          # React hooks
│   │       ├── utils/          # Utilities
│   │       └── assets/         # Fonts, logos
│   │
│   ├── shared/                 # Shared utilities
│   │   ├── config.ts
│   │   ├── paths.ts
│   │   └── storage.ts
│   │
│   └── utils/
│       ├── logger.ts
│       ├── platform.ts
│       └── port-allocator.ts
│
├── scripts/                    # Build and utility scripts
│   └── smart-install.js        # Cached dependency checker (pre-hook)
│
├── plugin/                     # Plugin distribution
│   ├── .claude-plugin/
│   │   └── plugin.json
│   ├── hooks/
│   │   └── hooks.json
│   ├── scripts/                # Built executables
│   │   ├── context-hook.js
│   │   ├── user-message-hook.js
│   │   ├── new-hook.js
│   │   ├── save-hook.js
│   │   ├── summary-hook.js
│   │   ├── cleanup-hook.js
│   │   └── worker-service.cjs  # Background worker + HTTP API
│   │
│   ├── skills/                 # Agent skills (v5.4.0+)
│   │   ├── mem-search/         # Search skill with progressive disclosure (v5.5.0)
│   │   │   ├── SKILL.md        # Skill frontmatter (~250 tokens)
│   │   │   ├── operations/     # 12 detailed operation docs
│   │   │   └── principles/     # 2 principle guides
│   │   ├── troubleshoot/       # Troubleshooting skill
│   │   │   ├── SKILL.md
│   │   │   └── operations/     # 6 operation docs
│   │   └── version-bump/       # Version management skill (deprecated)
│   │
│   └── ui/                     # Built viewer UI
│       └── viewer.html         # Self-contained bundle
│
├── tests/                      # Test suite
├── docs/                       # Documentation
└── ecosystem.config.cjs        # Process configuration (deprecated)

项目地址

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

安装部署

代码语言:javascript
复制
> /plugin marketplace add thedotmack/claude-mem

> /plugin install claude-mem

快使用起来吧,为你的Claude 加上"记忆系统",冲冲冲~

推 荐 阅 读

图片
图片
图片
图片
图片
图片
图片
图片
图片
图片

横向移动之RDP&Desktop Session Hija

图片
图片
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-04-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 七芒星实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档