持久内存系统

Clawdbot Memory是一个为Claude Code设计的持久内存系统,提供跨会话的长期记忆功能,支持语义搜索、混合搜索和结构化存储。

  • by JustinPerea
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 JustinPerea/clawdbot-memory

使用说明

Clawdbot内存

Claude Code的持久内存系统,为Claude提供跨会话的长期内存。

查看完整文档

建筑

特性

  • 语义搜索 -使用自然语言查询查找相关记忆
  • 混合搜索 -将向量嵌入与关键字匹配相结合
  • 结构化内存文件 -为不同类型的信息组织存储
  • 会话挂钩 -会话开始时自动加载上下文
  • 本地优先 -所有数据都保存在SQLite中的计算机上

快速开始

选项A:让克劳德来设置

从以下位置复制提示 SETUP_PROMPT.md 并将其粘贴到项目中的Claude Code中。Claude将把内存系统集成到您现有的项目中。

选项B:手动设置

1.克隆并安装

git clone https://github.com/JustinPerea/clawdbot-memory.git
cd clawdbot-memory
pnpm install

2.设置Ollama(用于嵌入)

# Install Ollama: https://ollama.ai
ollama pull nomic-embed-text

3.配置克劳德代码

复制设置模板:

cp .claude/settings.template.json .claude/settings.local.json

4.构建和索引

pnpm run build
pnpm run index

5.启动克劳德代码

claude

内存MCP服务器自动启动。

内存文件

文件 目的
MEMORY.md 长期事实、项目决策、架构
USER.md 您的偏好、编码风格、工具
SOUL.md 沟通风格和语调调整
AGENTS.md 不同情境下的行为模式
TOOLS.md 工具使用指南
CLAUDE.md Claude在启动时阅读的说明
memory/*.md 每日会话日志

MCP工具

memory_search

在所有内存文件中进行语义搜索。

{"query": "What testing framework do we use?", "maxResults": 6}

memory_get

从内存文件中读取特定行。

{"path": "USER.md", "from": 1, "lines": 20}

memory_list

列出所有可用的内存文件。

{"include_daily": true}

运作原理

  1. 索引: pnpm run index 将你的markdown文件分块,并使用Ollama的 nomic-embed-text 模型
  2. 存储:块和嵌入存储在SQLite中 sqlite-vec 用于矢量搜索
  3. 搜索:使用余弦相似度+关键字boost嵌入查询并将其与存储的块进行匹配
  4. MCP 服务器:Claude Code通过模型上下文协议连接到内存服务器

项目结构

clawdbot-memory/
├── src/
│   ├── mcp-server/     # MCP server implementation
│   │   ├── index.ts
│   │   └── tools/
│   ├── indexer/        # Document chunking & embedding
│   │   ├── chunker.ts
│   │   ├── embedder.ts
│   │   └── indexer.ts
│   └── db/             # SQLite + vector storage
│       ├── schema.ts
│       └── queries.ts
├── .claude/
│   ├── hooks/          # Session lifecycle hooks
│   └── settings.template.json
├── .mcp.json           # MCP server configuration
├── CLAUDE.md           # Instructions for Claude
└── *.md                # Memory files

钩子

该系统包括用于会话生命周期事件的可选挂钩:

  • SessionStart -启动Claude时加载上下文
  • SessionEnd -保存会话摘要
  • PreCompact -总结前保留重要上下文
  • SubagentStart -将上下文注入子代理

需求

  • Node.js 18+
  • pnpm
  • 奥拉玛 和 nomic-embed-text 模型
  • Claude 代码命令行界面

许可证

麻省理工学院