内容
# 区块化动态系数召回AI记忆 — 一个MCP服务器,为LLMs提供持久、可搜索的记忆,并具有自动衰减功能。
## 为什么
LLMs在不同会话之间会忘记。区块记忆为它们提供了一个持久的记忆系统:
- **存储**事实、决策和项目上下文为输入区块
- **搜索**使用FTS5全文搜索所有区块
- **自动衰减** — 不相关的记忆会随着时间逐渐淡忘(聊天:快速,技术:慢速)
- **自动去重** — 创建类似区块时会提升现有区块而不是重复
- **权重上限** — 防止热门区块淹没其他区块
## 快速开始
```bash
pip install block-memory-mcp
```
## 配置
### Claude 代码
添加到 `~/.claude/.mcp.json`:
```json
{
"mcpServers": {
"block-memory": {
"type": "stdio",
"command": "python3",
"args": ["-m", "block_memory"]
}
}
}
```
### Claude 桌面版
参见 `examples/claude_desktop_config.json`。
### 自定义数据库路径
```bash
export BLOCK_MEMORY_DB=~/my-project/memory.db
```
默认: `~/.block-memory/blocks.db`
## 工具
| 工具 | 描述 |
|------|-------------|
| `create_block` | 存储新的记忆。自动去重摘要。 |
| `recall_blocks` | 使用FTS5 + 时间衰减 + 最近 + 热门搜索 |
| `get_block` | 通过ID检索区块。提升权重。 |
| `list_blocks` | 按领域/类型浏览区块,按权重排序 |
| `archive_block` | 移至冷存储(排除召回) |
## 区块类型
| 类型 | 衰减率 | 半衰期 | 用途 |
|------|-----------|-----------|---------|
| `chat` | 5%/小时 | ~14小时 | 暂态对话上下文 |
| `task` | 2%/小时 | ~35小时 | 任务结果,会话摘要 |
| `technical` | 0.5%/小时 | ~139小时 | 设计决策,发现,持久事实 |
## 召回机制
```
最终得分 = FTS5匹配 (0.6) + 最近 (0.2) + 热门 (0.2)
```
- **FTS5**:三元 tokenizer 处理中文 + 英文。LIKE fallback 捕获2字符查询。
- **时间衰减**:旧区块根据其类型指数级淡忘。
- **最近**:最近召回的区块获得提升。
- **热门**:频繁召回的区块排名更高(对数缩放)。
得分低于阈值(0.1)的区块会被静默丢弃以减少噪音。
## 许可证
MIT