zettelkasten-memory-server
Version:
基于 Zettelkasten 记忆片段盒方法的 MCP 记忆服务器 v1.6.X
303 lines (232 loc) • 6.8 kB
Markdown
# Zettelkasten Memory Server 使用示例
## 快速开始
### 1. 构建和启动服务器
```bash
cd memory-server
npm install
npm run build
npm start
```
### 2. 重复读取限制机制配置
```bash
# 启用重复读取限制(推荐)
MEMORY_REPEAT_ACCESS_RESTRICTION=true npm start
# 禁用重复读取限制
MEMORY_REPEAT_ACCESS_RESTRICTION=false npm start
```
### 3. MCP 客户端配置
将以下配置添加到你的 MCP 客户端配置文件中:
```json
{
"mcpServers": {
"zettelkasten-memory": {
"command": "node",
"args": ["路径/到/memory-server/build/index.js"],
"env": {
"ZETTELKASTEN_STORAGE_DIR": "路径/到/你的记忆片段存储目录",
"MEMORY_REPEAT_ACCESS_RESTRICTION": "true"
}
}
}
}
```
## 使用示例
### 创建知识记忆片段
```markdown
工具: setMemory
参数:
- fragmentName: "深度学习基础"
- content: "深度学习是机器学习的一个分支,使用多层神经网络来学习数据表示。
## 核心概念
- [[神经网络]]
- [[反向传播]]
- [[梯度下降]]
## 应用领域
- [[计算机视觉]]
- [[自然语言处理]]
- [[语音识别]]
## 参考资料
- [[深度学习教材]]"
```
### 建立记忆片段网络
```markdown
工具: setMemory
参数:
- fragmentName: "神经网络"
- content: "神经网络是深度学习的基础结构,模拟生物神经元的工作方式。
## 基本组成
- 输入层
- 隐藏层
- 输出层
## 相关概念
- [[激活函数]]
- [[权重和偏置]]
- [[前向传播]]
参见: [[深度学习基础]]"
```
### 获取智能提示
```markdown
工具: getMemoryHints
参数:
- fileCount: 5
返回按权重排序的重要记忆片段,帮助你了解当前知识网络的核心内容。
```
### 展开引用内容
```markdown
工具: getMemory
参数:
- fragmentName: "深度学习基础"
- expandDepth: 1
- withLineNumber: false
这将返回"深度学习基础"记忆片段的内容,并展开其中引用的记忆片段内容。
```
### 从现有片段提取内容
```markdown
工具: extractMemory
参数:
- sourceFragmentName: "深度学习基础"
- newFragmentName: "神经网络基础"
- startLine: 5
- endLine: 10
从"深度学习基础"片段的第5-10行提取内容,创建新的"神经网络基础"片段。
```
### 优化建议
```markdown
工具: getOptimizeSuggestions
参数:
- optimizationThreshold: 0.1
- maxFileCount: 10
返回价值较低的记忆片段,建议进行合并、重写或删除。
```
### 重复读取限制机制示例
```markdown
# 正确使用流程(启用限制时)
1. 首次获取内容:
工具: getMemory
参数:
- fragmentName: "JavaScript基础"
2. 编辑内容前无需重复获取:
工具: setMemory
参数:
- fragmentName: "JavaScript基础"
- content: "更新后的内容..."
3. 编辑后如需再次查看,需要重新获取:
工具: getMemory
参数:
- fragmentName: "JavaScript基础"
# 错误使用示例(启用限制时)
1. 连续重复获取相同内容会被拒绝:
工具: getMemory
参数:
- fragmentName: "JavaScript基础"
工具: getMemory # 这次调用会被拒绝
参数:
- fragmentName: "JavaScript基础"
```
## 最佳实践
### 1. 记忆片段命名
- 使用简洁明确的名称
- 避免特殊字符和路径符号
- 使用中文或英文,保持一致性
### 2. 内容组织
- 每个记忆片段专注一个核心概念
- 大量使用 `[[链接]]` 建立记忆片段间的关系
- 使用 Markdown 格式增强可读性
### 3. 链接策略
- 创建枢纽记忆片段连接相关主题
- 建立层次结构:概念 -> 具体实现 -> 应用示例
- 定期使用 `getMemoryHints` 发现重要记忆片段
### 4. 维护优化
- 定期使用 `getOptimizeSuggestions` 清理低价值记忆片段
- 合并重复或相似内容的记忆片段
- 使用 `renameMemory` 重组记忆片段结构
### 5. 重复读取限制最佳实践
- **启用限制**:在生产环境中启用 `MEMORY_REPEAT_ACCESS_RESTRICTION=true`
- **获取后编辑**:获取内容后立即进行编辑操作,避免重复获取
- **编辑后重取**:完成编辑操作后,如需查看最新内容再重新获取
- **批量操作**:需要处理多个片段时,按顺序获取和编辑,避免交叉操作
## 高级用法
### 创建知识地图
```markdown
工具: setMemory
参数:
- fragmentName: "AI学习路径"
- content: "人工智能学习的完整路径规划
## 基础阶段
1. [[数学基础]]
- [[线性代数]]
- [[微积分]]
- [[概率统计]]
2. [[编程基础]]
- [[Python编程]]
- [[数据结构算法]]
## 进阶阶段
1. [[机器学习]]
- [[监督学习]]
- [[无监督学习]]
- [[强化学习]]
2. [[深度学习基础]]
- [[神经网络]]
- [[卷积神经网络]]
- [[循环神经网络]]
## 应用阶段
- [[计算机视觉项目]]
- [[NLP项目实战]]
- [[推荐系统开发]]"
```
### 主题收集记忆片段
```markdown
工具: setMemory
参数:
- fragmentName: "学习资源收集"
- content: "收集各种学习资源和参考材料
## 在线课程
- [[Coursera AI课程]]
- [[edX机器学习课程]]
## 技术博客
- [[Distill.pub文章]]
- [[OpenAI博客]]
## 实用工具
- [[Jupyter Notebook]]
- [[Google Colab]]
- [[Kaggle平台]]
## 数据集
- [[ImageNet数据集]]
- [[MNIST数据集]]"
```
### 使用重复读取限制优化工作流程
```markdown
# 高效工作流程示例
## 场景:整理学习笔记
1. 获取当前知识状态:
工具: getMemoryHints
参数:
- fileCount: 10
2. 创建新的学习片段:
工具: setMemory
参数:
- fragmentName: "今日React学习"
- content: "今天学习了React的useState Hook..."
3. 更新相关片段链接:
工具: getMemory
参数:
- fragmentName: "React"
- expandDepth: 0
工具: setMemory
参数:
- fragmentName: "React"
- content: "更新后的React内容,包含新的useState Hook链接..."
4. 检查优化建议:
工具: getOptimizeSuggestions
参数:
- optimizationThreshold: 0.1
- maxFileCount: 5
5. 提取重要内容:
工具: extractMemory
参数:
- sourceFragmentName: "今日React学习"
- newFragmentName: "useState Hook详解"
- startLine: 1
- endLine: 20
```
这样,你就可以构建一个强大而灵活的知识管理系统!通过合理使用重复读取限制机制,可以显著提高操作效率并避免不必要的系统开销。