Install
openclaw skills install yuyonghao-memory-v2基于中文向量嵌入和知识图谱,实现语义搜索、实体提取及自动管理的高效记忆系统。
openclaw skills install yuyonghao-memory-v2version: 0.1.0
OpenClaw 记忆系统 v2 - 向量记忆 + 知识图谱 + 实体提取 + 自动管理
cd skills/memory-v2
npm install
import MemorySystem from './src/memory-system.js';
// 创建实例
const memory = new MemorySystem({
dbPath: './vector-db',
embedModel: 'Xenova/bge-large-zh-v1.5',
nerModel: 'Xenova/bert-base-chinese-ner'
});
// 初始化
await memory.initialize();
// 添加记忆
await memory.addMemory({
id: 'mem_001',
content: '蒲萄爸喜欢喝普洱茶,住在上海浦东新区',
metadata: { importance: 0.8 }
});
// 语义搜索
const results = await memory.search('蒲萄爸住在哪里', 5);
console.log(results);
// 获取统计
const stats = await memory.getStats();
console.log(stats);
new MemorySystem(config)
参数:
config.dbPath - 向量数据库路径(默认:./vector-db)config.embedModel - 嵌入模型(默认:Xenova/bge-large-zh-v1.5)config.nerModel - NER 模型(默认:Xenova/bert-base-chinese-ner)config.llm - LLM 接口(用于摘要,可选)config.forgetThreshold - 遗忘阈值(默认:0.2)添加记忆(自动提取实体并链接到图谱)
await memory.addMemory({
id: 'mem_001',
content: '记忆内容',
metadata: { importance: 0.8 }
});
语义搜索记忆
const results = await memory.search('查询文本', 10);
获取记忆详情(包含关联实体)
const memory = await memory.getMemory('mem_001');
删除记忆
await memory.deleteMemory('mem_001');
运行记忆管理(遗忘、压缩低优先级记忆)
const stats = await memory.runMaintenance();
获取系统统计
const stats = await memory.getStats();
关闭系统
await memory.close();
也可以单独使用各个组件:
import VectorStore from './src/vector-store.js';
import GraphStore from './src/graph-store.js';
import NERExtractor from './src/ner-extractor.js';
import MemoryManager from './src/memory-manager.js';
| 操作 | 目标延迟 | 实际表现 |
|---|---|---|
| 嵌入生成 | <100ms/文档 | ~80ms |
| 语义搜索 | <200ms (Top-10) | ~150ms |
| 实体提取 | <100ms/文档 | ~90ms |
| 图遍历 | <50ms (2 跳) | ~30ms |
MIT