功能说明remember(content, tags, entity)记忆一条信息,自动生成 ID,存储到本地 JSONrecall(query, top_k)语义检索,基于 TF-IDF + Cosine Similarity 返回最相关记忆remember_entity(name, facts)记住一个实体的多个属性get_entity(name)获取实体完整信息search_by_tag(tag)按标签精确搜索记忆get_memory_graph()返回记忆图谱(实体关系可视化结构)auto_reflect()自动反思:基于近期记忆生成洞察摘要save() / load()持久化保存与加载
向量相似度:TF-IDF + Cosine Similarity(sklearn,纯本地)
存储格式:JSON 文件,每条记忆独立一个 .json 文件
索引结构:
tag → memory_id[]memory_id → TF-IDF vector实体图:简单 JSON 图结构( entity_name → {facts})
存储路径: /workspace/memory/nova-memory/
text
/workspace/skills/nova-memory/
├── SKILL.md # 本文件
├── src/
│ ├── __init__.py # 模块入口
│ └── memory_core.py # 核心引擎
└── scripts/
└── memory_cli.py # 命令行工具
python
from nova_memory import NovaMemory
# 初始化
mem = NovaMemory(storage_dir="/workspace/memory/nova-memory/")
# 记忆一条信息
mid = mem.remember(
content="Eric 喜欢在周末去重庆大学城附近骑行",
tags=["eric", "偏好", "运动"],
entity="Eric"
)
# 语义检索
results = mem.recall("周末运动习惯", top_k=3)
for r in results:
print(r["content"], "→ 相似度:", round(r["score"], 3))
# 记住实体
mem.remember_entity("Eric", {
"职业": "投资者",
"时区": "UTC+8",
"地点": "重庆"
})
# 获取实体
info = mem.get_entity("Eric")
print(info)
# 按标签搜索
results = mem.search_by_tag("偏好")
# 记忆图谱
graph = mem.get_memory_graph()
print(graph)
# 自动反思
insight = mem.auto_reflect()
print(insight)
# 持久化
mem.save()
bash
# 记忆一条信息
python -m nova_memory.scripts.memory_cli remember "Eric 今天讨论了投资组合优化" --tags 投资,组合
# 语义检索
python -m nova_memory.scripts.memory_cli recall "投资策略"
# 实体操作
python -m nova_memory.scripts.memory_cli entity add "Eric" --facts 职业=投资者,地点=重庆
python -m nova_memory.scripts.memory_cli entity get "Eric"
# 标签搜索
python -m nova_memory.scripts.memory_cli tags search "投资"
# 记忆图谱
python -m nova_memory.scripts.memory_cli graph
# 自动反思
python -m nova_memory.scripts.memory_cli reflect
集成 SQLite 本地 OLAP 引擎,支持记忆数据的深度分析:
python
from nova_memory.memory_olap import MemoryOLAP
olap = MemoryOLAP()
# 生成完整分析报告
print(olap.full_report())
# 每日趋势
print(olap.trend_analysis(30))
# 标签热度
print(olap.tag_analysis(10))
# 实体统计
print(olap.entity_stats())
# 内容熵(多样性评分)
print(olap.content_entropy())
本技能与 Nova 四层记忆体系互补:
Nova 层级文件本技能可补充长期MEMORY.md结构化实体记忆项目memory/projects.md语义搜索相似项目日志memory/YYYY-MM-DD.md语义检索历史事件教训memory/lessons.md按标签回溯教训
auto_reflect()的输出可写入MEMORY.md或memory/lessons.md,形成闭环。
eval() / exec(),无代码注入风险/workspace/ 目录下