Synthèse automatique
Ce skill fournit à un agent une mémoire à long terme sous forme de graphe de connaissances (entités, relations et valence émotionnelle), avec extraction automatique, consolidation périodique et oubli observable.
Points forts
- Protocole d'intégration explicite (start / after_turn / recall / consolidate / close) qui réutilise le LLM de l'agent comme extracteur, sans second modèle
- Consolidation pilotée par 5 signaux avec rapport détaillé des nœuds supprimés et des communautés fusionnées
- Stockage en Rust (axolotl_rs) dans un venv dédié, avec encapsulations CRUD, PageRank et BFS
- Mémoire persistée dans un fichier unique .axeb et contexte de départ injectable dans le system prompt
Limites
- Limité à Apple Silicon (darwin-arm64) : aucun support Linux ni Windows
- Chaque tour de conversation exige un appel LLM supplémentaire pour l'extraction, ce qui ajoute coût et latence
- Dépend d'un venv au chemin fixe (~/.workbuddy/venvs/lobster-memory), à construire via install.sh
À utiliser lorsqu'un assistant conversationnel doit se souvenir durablement des préférences, des retours critiques ou des tâches de l'utilisateur d'une session à l'autre.
À éviter pour un usage ponctuel sans besoin de mémoire persistante, ou sur une machine qui n'est pas un Mac Apple Silicon.
Analyse de sécurité
SûrNo destructive, exfiltrating, obfuscated, or safety-disabling behavior is present. Bash usage is limited to activating a local Python venv and running memory scripts, and persistent memory is local and expected for this skill. The only minor concerns are privacy/retention documentation and referenced-but-unshown install/build files.
- •Persistent local conversation memory in .lobster/memory.axeb has no explicit privacy/retention guidance
- •Uses Bash only to activate a project venv and run Python; install.sh and engine modules are referenced but not shown
Exemples
Set up my long-term memory: create .lobster/memory.axeb, inject the returned memory context into your system prompt, and extract key points after each reply.Look back at what I criticized you about last time — query your memory with negative valence and tell me what you retained.Consolidate your memory now and explain which nodes you trashed and which communities you merged.name: lobster-memory description: 基于知识图谱的 AI 长期记忆引擎(实体-关系-情绪 valence),支持自动抽取、因果边、递归自成长抽取与可观察的遗忘巩固。底层由 axolotl_rs (Rust 图存储) 驱动。 version: 0.1.0 author: Sai triggers:
- "长期记忆"
- "图记忆"
- "记忆图谱" allowed-tools:
- Bash requires: python: ">=3.10" platform: "darwin-arm64" # 仅支持 Apple Silicon (M 系列) env: []
lobster-memory — Long-term Graph Memory for Lobster Agents
让龙虾类 AI 助手拥有基于知识图谱的长期记忆系统。记忆按「情绪 / 知识 / 任务」分类存储,带多维度情感信号(表扬/批评),并通过「修剪/合并」信号自我巩固。
Agent 行为协议(龙虾必须遵守)
本技能提供能力,但是否使用由你(龙虾)自主决定。以下是推荐行为,确保记忆系统真正运转:
① 会话开始时(第一件事)
- 初始化会话,记忆文件放在 workspace 下的
.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。 - 调用你自己的 LLM 能力执行抽取(你就是抽取器,不需要第二个模型),得到 JSON。
session.after_turn(json)写入图。- 若本轮无有价值内容,抽取返回空
{"nodes":[],"edges":[]},静默跳过即可。 - 抽取失败不要报错给用户,记一条 warning 后继续。
- 若本轮无有价值内容,抽取返回空
③ 需要回忆时(你主动判断)
- 遇到相关情境,调用
session.recall(keywords=[...])查询相关记忆。 - 想知道「我之前在哪类事上被批评/被表扬过」,用
session.recall_feedback(valence="negative" | "positive")。 - 回忆结果仅供你参考与偏置自己的判断,不要机械复述给用户。
④ 巩固(学习发生在此)
session.should_consolidate(round_number)返回 True 时,调用session.consolidate()。- 可选择把巩固摘要(剪掉了什么、合并了什么群落)简要告诉用户。
⑤ 会话结束时
session.close()保存记忆到磁盘。
Python 环境
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 轮 或 容量超限 |
API 速查
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 ← 常量/枚举/容量参数
依赖
- Python 3.10+
- axolotl_rs (通过
install.sh自动构建到~/.workbuddy/venvs/lobster-memory/)
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/lobster-memory-long-term-graph-memory-mrx3xwwd/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
mkdir -p '.skill-downloads/lobster-memory-long-term-graph-memory-mrx3xwwd' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/lobster-memory-long-term-graph-memory-mrx3xwwd/download' --output '.skill-downloads/lobster-memory-long-term-graph-memory-mrx3xwwd/SKILL.md.part' && mv '.skill-downloads/lobster-memory-long-term-graph-memory-mrx3xwwd/SKILL.md.part' '.skill-downloads/lobster-memory-long-term-graph-memory-mrx3xwwd/SKILL.md'2. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
Claude Code
test -f '.skill-downloads/lobster-memory-long-term-graph-memory-mrx3xwwd/SKILL.md' && test -s '.skill-downloads/lobster-memory-long-term-graph-memory-mrx3xwwd/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/lobster-memory' && cp -R '.skill-downloads/lobster-memory-long-term-graph-memory-mrx3xwwd' '.claude/skills/lobster-memory'OpenSkills
OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/lobster-memory-long-term-graph-memory-mrx3xwwd'openskills read 'lobster-memory-long-term-graph-memory-mrx3xwwd'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/lobster-memory-long-term-graph-memory-mrx3xwwd/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Créer des cartes interactives avec kepler.gl
Data & IA
Création de cartes interactives et export HTML autonome avec le package Python keplergl, à partir de données géospatiales (DataFrame, GeoJSON, CSV).
Optimisation de paramètres par agent
Data & IA
Guide d'optimisation de systèmes configurables avec objectif mesurable, via des essais bornés et une recommandation fondée sur des preuves.
Relance des visiteurs ICP
Data & IA
Identifiez les utilisateurs inscrits correspondant au profil client idéal mais qui n'ont pas activé, et rédigez des messages de relance personnalisés pour les réengager.