Install
openclaw skills install @littlelollipop/lobster-memory基于知识图谱的 AI 长期记忆引擎(实体-关系-情绪 valence),支持自动抽取、因果边、递归自成长抽取与可观察的遗忘巩固。底层由 axolotl_rs (Rust 图存储) 驱动。
openclaw skills install @littlelollipop/lobster-memory让龙虾类 AI 助手拥有基于知识图谱的长期记忆系统。记忆按「情绪 / 知识 / 任务」分类存储,带多维度情感信号(表扬/批评),并通过「修剪/合并」信号自我巩固。
本技能提供能力,但是否使用由你(龙虾)自主决定。以下是推荐行为,确保记忆系统真正运转:
.lobster/memory.axeb:
from engine.integration import MemorySession
session = MemorySession(".lobster/memory.axeb", consolidate_every=20)
session.start() 返回的上下文字符串注入到你的 system prompt 中(它包含记忆统计,让你知道自己已经有什么记忆、最近在忙哪类事)。session.build_extraction_prompt(user_msg, reply) 构造抽取 prompt。session.after_turn(json) 写入图。
{"nodes":[],"edges":[]},静默跳过即可。session.recall(keywords=[...]) 查询相关记忆。session.recall_feedback(valence="negative" | "positive")。session.should_consolidate(round_number) 返回 True 时,调用 session.consolidate()。session.close() 保存记忆到磁盘。axolotl_rs(核心图存储引擎)构建在独立 venv 中。运行记忆相关 Python 时必须使用这个 venv 的 Python:
# 方式一:Bash 中先激活
source ~/.workbuddy/venvs/lobster-memory/bin/activate
python your_script.py
# 方式二:直接指定解释器
~/.workbuddy/venvs/lobster-memory/bin/python your_script.py
在 Python 代码里也可以通过 sys.path 显式加入技能目录:
import sys
sys.path.insert(0, "/path/to/lobster-memory") # 含 engine/ 的目录
from engine.integration import MemorySession
from engine.integration import MemorySession
# 1. 会话开始:注入记忆上下文到 system prompt
session = MemorySession(".lobster/memory.axeb", consolidate_every=30)
system_prompt += "\n" + session.start()
# 2. 每轮对话后:抽取关键点 → 写入图
for user_msg in conversation:
reply = agent.respond(user_msg)
extraction_prompt = session.build_extraction_prompt(user_msg, reply)
extraction_json = agent.call_llm(extraction_prompt) # 复用龙虾自身模型
result = session.after_turn(extraction_json)
# result = {"nodes_added": 2, "edges_added": 1, "error": None}
# 3. 定期巩固
if session.should_consolidate(round_number):
report = session.consolidate()
| 路径 | 做什么 | 何时触发 |
|---|---|---|
| 写记忆 | 从对话中提取实体/关系/反馈,写图 | 每轮对话后自动 |
| 回忆 | 按需查询相关记忆 | 龙虾自己判断何时查 |
| 巩固 | 5信号评分 → 留/剪/合并,学习发生在此 | 每 K 轮 或 容量超限 |
session = MemorySession(".lobster/memory.axeb", consolidate_every=30)
# 生命周期
ctx = session.start() # → system prompt 扩展字符串
prompt = session.build_extraction_prompt( # → 抽取 prompt(发给 LLM)
user_msg="用户说了什么",
assistant_reply="你回复了什么",
)
result = session.after_turn(llm_output) # → {"nodes_added": N, "edges_added": M}
# 记忆查询
memories = session.recall(keywords=["Rust"])
fb = session.recall_feedback(valence="negative") # 查历史批评
# 巩固
if session.should_consolidate(round_number):
report = session.consolidate()
# report: {"before": {...}, "after": {...}, "trashed": N, "merged": {...}}
session.close() # 保存 + 关闭
lobster-memory/
├── SKILL.md ← 你正在看的
├── install.sh ← 一键安装(wheel 优先)
├── engine/
│ ├── integration.py ← MemorySession(接入层,从这里开始)
│ ├── base.py ← LobsterMemory(底层 API)
│ ├── memory_graph.py ← axolotl 封装(CRUD/PageRank/BFS)
│ ├── extractor.py ← 抽取 prompt + 校验 + 去重
│ ├── recall.py ← 回忆接口 + 访问日志
│ ├── consolidator.py ← 巩固引擎(6步流水线)
│ └── schema.py ← 常量/枚举/容量参数
install.sh 自动构建到 ~/.workbuddy/venvs/lobster-memory/)