layer-memory
by Dante926
README.md
# Layer Memory
本地优先、Markdown 原生的 AI 代理分层记忆系统。基于 Midway.js 的 MCP 服务,SQLite 存储,pnpm monorepo。
---
## 项目架构
```
layer-memory/
├── packages/
│ └── core/ # 记忆核心库(框架无关)
│ └── src/store/ # 存储层抽象、SQLite 实现、类型定义
├── apps/
│ ├── mcp-server/ # MCP 服务端(Midway.js 4.0)
│ │ └── src/tools/ # 4 个 MCP Tools
├── docs/ # 文档站(dumi 2.x)
├── skill/ # AI Agent skill 定义
├── .husky/ # Git hooks
├── .changeset/ # 版本管理
├── docker-compose.yml
├── Dockerfile
└── pnpm-workspace.yaml
```
### MCP Tools
| 工具 | 说明 | 参数 |
| --------------- | -------------------- | ------------------------------------------ |
| `memory_store` | 存储一条记忆 | key, value, type(可选), tags(可选) |
| `memory_recall` | 搜索已存储的记忆 | query, type(可选), tags(可选), limit(可选) |
| `memory_export` | 导出所有记忆为 JSON | outputPath |
| `memory_import` | 从 JSON 文件导入记忆 | inputPath |
记忆类型: `working` (工作记忆) / `persona` (人格画像) / `fact` (事实知识)
---
## 快速开始
### 前置要求
- Node.js >= 20
- pnpm 10.x(安装:`corepack enable && corepack prepare pnpm@10.15.0 --activate`)
### 安装
```bash
git clone https://github.com/Dante926/layer-memory.git
cd layer-memory
pnpm install
```
### 本地开发
```bash
pnpm dev
```
服务启动在 http://localhost:3000,MCP endpoint 在 `/mcp`。
### 构建
```bash
pnpm build
```
所有包编译到各自 `dist/` 目录。
### 文档站
```bash
pnpm docs:dev
```
---
## Docker 部署
### 启动服务
```bash
docker compose up -d
```
服务运行在 `http://localhost:3000`。
### 数据持久化
记忆数据存储在 Docker volume `layer-memory-data` 中,容器重启/更新不会丢失。
### 重新构建
```bash
docker compose build
docker compose up -d
```
---
## 连接到 AI Agent
### Claude Code
在 `~/.claude/settings.json` 中配置 MCP:
```json
{
"mcpServers": {
"layer-memory": {
"type": "url",
"url": "http://localhost:3000/mcp"
}
}
}
```
### Codex / Cursor
在项目的 `.cursor/mcp.json` 中配置:
```json
{
"mcpServers": {
"layer-memory": {
"type": "url",
"url": "http://localhost:3000/mcp"
}
}
}
```
---
## 使用示例
存储记忆:
```
调用 memory_store(
key="架构决策",
value="选择 Midway.js 4.0 MCP + SQLite",
type="fact",
tags="项目:layer-memory"
)
```
搜索记忆:
```
调用 memory_recall(query="架构决策", limit=5)
```
导出备份:
```
调用 memory_export(outputPath="backup.json")
```
---
## 版本管理
本项目使用 Changeset 管理版本:
```bash
pnpm changeset # 创建变更记录
pnpm version # 更新版本号
pnpm publish # 发布
```
---
## 开发
### 提交规范
使用 Conventional Commits:
- `feat:` 新功能
- `fix:` 修复
- `chore:` 工程化
- `docs:` 文档
### 代码格式化
```bash
pnpm format
```
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessSyncing