Token导航 LogoToken导航TokenDH.com
Personal Memory System logo
搜索检索stdio官方级别未说明来源级核验

Personal Memory System

MCP Server

为Claude Code设计的跨会话记忆系统,提供身份连续性、经验积累、知识检索和分层追溯功能。

工具数

3

提示词数

0

GitHub Stars

3

资源数

0
会话管理PythonClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

braxtonROSE4

提供方

braxtonROSE4

最后核验

2026/5/17 20:23

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python3 scripts/auto-install.py --name "Your Name"

详细介绍

个人记忆系统

Claude Code的跨会话存储系统。Claude Code没有持久内存——每次对话都从零开始。PMS通过4个钩子+1个MCP搜索服务+1个索引器改变了这一点,给出了Claude代码:

  • 身份连续性 --每次会话自动加载您的个人资料、写作风格和首选项
  • 经验积累 --从对话中吸取经验教训,并在整个会话中持续使用
  • 知识检索 --通过统一界面搜索对话历史和结构化知识
  • 分层可追溯性 --从摘要追溯到原始对话记录

为什么不是另一个内存框架?

GitHub上的每个Claude内存框架都做同样的事情:存储内存,搜索内存。索引对话历史、结构化存储、向量搜索——每个人都有。但它们都止步于此。没有人问下一个问题: 记住了,然后呢?

大多数框架将内存视为被动的——它坐在那里等待被搜索。即使被发现,它也只是塞进上下文的文本。代理人是否真的使用它取决于机会。

PMS的不同之处不在于底层(索引和搜索——每个人都可以这样做),而在于顶层: 如何将记忆转化为实际的代理行为变化。

  • 你写的课程不只是放在一个文件里,而是写进 CLAUDE.md 作为行为指示,代理人 必须 跟随
  • 你的偏好不是被动检索的——它们是 自动注射 每个会话都会启动,因此代理从第一条消息中就知道你是谁
  • 工作流程中需要检查的参考和遵循的SOP不是由代理人自行决定的——系统 力载荷 他们

架构:两层

┌─────────────────────────────────────────────────────┐
│              Memory Consumption Layer                │
│                                                     │
│  Three-layer progressive loading                    │
│  Experience → behavioral instruction pipeline       │
│  Workflow-driven active memory consumption          │
│                                                     │
├─────────────────────────────────────────────────────┤
│              Memory Infrastructure Layer            │
│                                                     │
│  Index Claude Code conversation history             │
│  Structured storage + unified search                │
│  Session summaries with transcript traceability     │
│                                                     │
└─────────────────────────────────────────────────────┘

底层:内存基础架构

基础设施层并没有重新发明轮子。Claude Code已将完整的对话记录存储在 ~/.claude/projects/ (JSONL格式,带有会话ID、时间戳和完整消息)。PMS对现有数据进行索引,将其与自己的结构化内存(课程、偏好、风格)相结合,并在两个来源之间提供统一的搜索。

索引器 --将知识文件和对话历史扫描并分块到SQLite中:

路径格式内容
知识库_me/lessons.md, Growth/strategy.md等等。结构化知识
会议摘要.claude/memory/sessions/*.md精选会议亮点
对话历史cc://{projectDir}/{session}.jsonl原始对话记录

索引是增量的(基于mtime),只处理更改的文件。

搜索引擎 --混合搜索 score = 0.7 * vector_score + 0.3 * fts_score:

  • 英语为FTS5,中文为CJK双字词+LIKE
  • PMS结构化内存在原始对话历史中的权重为1.2倍
  • 零结果回退:二元组未命中→ 单字符搜索(0.5倍权重)
  • 通过OpenAI嵌入进行可选的向量搜索(优雅地降级为仅FTS)

MCP工具 --通过stdio公开的三个工具:

工具目的示例
memory_search跨越知识+历史的模糊搜索memory_search("product design lessons")
memory_search_context在特定文件中搜索memory_search_context(source="cc://...", query="...")
memory_get读取文件或格式化对话memory_get(path="cc://project/session.jsonl")

分层检索 --从摘要到源代码,分为三个步骤:

User: "What did I work on yesterday?"
    │
    ▼ memory_search("yesterday")
    │
    ├── Hit: session summary .claude/memory/sessions/20260306-1430.md
    │   with transcript_ref: cc://project/abc.jsonl
    │
    ▼ Need more detail?
    │
    ├── memory_search_context(source="cc://...", query="...")
    │   → chunk-level results within that conversation
    │
    └── memory_get(path="cc://...", from=5, lines=10)
        → formatted original conversation transcript

顶层:内存消耗

这就是PMS的不同之处。消费层有三种机制:

1.三层渐进式上下文加载

Layer 0 (auto, every session)     Layer 1 (on task identification)     Layer 2 (on workflow entry)
─────────────────────────────     ──────────────────────────────────   ────────────────────────────
Profile, writing style,           Domain-specific CLAUDE.md            Project context,
preferences, experience index     + content-index.md                   workflow SOPs,
                                                                       reference materials
  • 第0层:SessionStart Hook注入标识(≤15000个字符)--代理从消息一中知道您
  • 层1:CLAUDE.md指令强制代理在识别您的任务后加载域知识
  • 层2:在输入定义的工作流时加载特定于工作流的上下文(例如,编写PRD)

2.经验→ 行为指导管道

经验教训不仅会被储存,还会被执行:

Conversation produces insight
    → on-stop Hook detects signal (6 pattern types: correction, insight, error, cognitive shift, method discovery, anti-pattern)
    → session-end Hook extracts + deduplicates
    → pending-learnings.json (staged)
    → next session: user confirms
    → written to lessons.md or domain CLAUDE.md as mandatory instructions
    → agent must follow them in future sessions

3.工作流驱动的主动消费

在定义的工作流中(例如,编写PRD),系统不会等待代理“记住”——它会强制加载相关体验:

  • 在写PRD之前→ 加载PRD体验规则+六题预思考框架
  • 增长战略之前→ 负载增长领域知识+参考资料
  • 加工新材料前→ 加载目标域的内容索引

四个钩子

PMS与Claude Code会话生命周期的四个时刻挂钩:

Session start          Every user message       After every AI reply      Session end
    │                       │                        │                       │
    ▼                       ▼                        ▼                       ▼
session-start.py      user-prompt.py             on-stop.py           session-end.py
(inject identity)     (prevent drift +           (capture learning     (generate summary +
                       match experience)          signals)              extract lessons)
钩子触发器关键功能
会话开始会话开始加载配置文件/样式/首选项,扫描新文件,注入待定学习
用户提示每条用户消息重新注入格式规则(防漂移),关键字匹配相关课程
停止每次AI回复扫描输出学习信号(6种),跟踪文件更改,每7轮心跳检查一次
会话结束会话结束生成结构化摘要 transcript_ref,提取未决学习,触发索引同步

快速开始

选项1:一键自动安装(推荐)

git clone https://github.com/citrolabs/local-personal-memory-system.git
cd local-personal-memory-system
python3 scripts/auto-install.py --name "Your Name"

运行:环境检测→ 配置文件设置→ 模板安装→ 吊钩安装→ 域设置→ 内存服务器构建→ 自举分析→ 安装后测试。

选项2:AI辅助安装

在克劳德代码中:

“请阅读INSTALL.md并帮助我安装此系统”

选项3:交互式向导

python3 scripts/init-wizard.py

选项4:命令行(手动构建)

python3 scripts/install.py --name "Your Name" --domains "Product,Growth"
cd /.claude/memory-server && npm install && npm run build

安装后结构

your-memory-dir/
├── CLAUDE.md                      # Agent instructions (system file)
├── config.json                    # System configuration
├── _me/                           # Personal profile (user data — preserved on upgrade)
│   ├── profile.md                 # Who you are (name, role, stage, projects)
│   ├── writing-style.md           # How you write (tone, patterns, banned expressions)
│   ├── preferences.md             # How you work (tools, communication style)
│   ├── lessons.md                 # What you've learned (cross-project experience)
│   ├── workflows.md               # How you operate (SOPs)
│   └── response-format.md         # How you want responses formatted
│
├── Product/                       # Domain workspaces (optional, role-based)
│   ├── PRD/
│   │   ├── CLAUDE.md              # Domain-specific experience rules
│   │   ├── content-index.md       # Reference material index
│   └── projects/
├── Growth/
│   └── projects/
├── Competitors/
│   └── projects/
├── [8 more domains...]
│
└── .claude/
    ├── hooks/                     # 4 Hook scripts + shared libraries
    ├── memory/
    │   ├── sessions/              # Session summaries (last 30)
    │   ├── index.sqlite           # FTS5 + optional vector index
    │   └── pending-learnings.json # Staged experience awaiting confirmation
    └── memory-server/             # MCP search service (TypeScript)

根据您的角色安装的域——只安装与您相关的域。

数据库模式

files(path, mtime_ms)                          -- File-level change tracking
chunks(id, path, line_start, line_end, text)    -- Text chunks
chunks_fts(text)                                -- FTS5 full-text index
vec_chunks(chunk_id, embedding)                 -- Vector index (optional)
session_refs(summary_path, transcript_ref)      -- Summary → transcript mapping

设计原则

原理实施
故障打开所有钩子都包裹在try-catch中——错误永远不会阻止对话
增量索引器使用mtime检测,仅处理更改的文件
分层加载第0层自动注入身份;第1/2层按需加载——无代币浪费
双路径降级总结:首选结构化块,正则表达式回退;搜索:首选矢量,FTS5回退
指针,而不是副本会议摘要参考成绩单通过 transcript_ref,切勿复制全文
用户/系统分离_me/projects/ 是用户数据吗?升级永远不会覆盖它们

系统要求

  • Claude 代码命令行工具
  • Python 3.8+
  • Node.js 18+(用于内存服务器)
  • 可选:OpenAI API密钥(启用矢量搜索)

验证

python3 scripts/verify-installation.py /path/to/install-dir

支持 --fix 用于汽车维修和 --json 用于机器可读输出。

测试

# Python tests
pytest tests/ -v

# TypeScript tests
cd core/memory-server && npm test

# End-to-end
bash tests/test_e2e.sh

与OpenClaw一起使用

PMS的内存消耗层可以完全集成到OpenClaw中——身份文件+技能+插件(4个自动挂钩)。完整的集成为您的OpenClaw代理提供了:

  • 身份连续性 --从每次会话的第一条消息中就知道你是谁
  • 搜索第一行为 --在回答实质性问题之前,先搜索积累的经验教训
  • 自动体验捕捉 --检测到6种学习信号,并将其转化为行为规则
  • 防漂移 --风格规则重新注入每条消息,心跳检查每7轮
  • 会话总结 --会话结束时自动生成的结构化摘要
# 1. Install PMS
git clone https://github.com/citrolabs/local-personal-memory-system.git
cd local-personal-memory-system
python3 scripts/auto-install.py --name "Your Name"

# 2. Copy identity templates to your OpenClaw project
cp integrations/openclaw/templates/MEMORY.md /path/to/your/project/
cp -r integrations/openclaw/templates/_me/ /path/to/your/project/memory/

# 3. Install Skill + Plugin
cp integrations/openclaw/skill/SKILL.md /path/to/openclaw/skills/personal-memory-consumption/SKILL.md
python3 integrations/openclaw/plugin/setup.py --pms-home /path/to/your/pms-install

完整指南: docs/integration-openclaw.md |设计原理: docs/philosophy.md

文档

许可证

麻省理工学院

目录标签

目录标签

会话管理PythonClaude记忆系统本地部署知识检索经验积累身份连续性

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP