360 Secure SkillHub
360 安全技能中心

Synthetic Supermemory

面向 OpenClaw 智能体的持久记忆流水线:scribe.js 定时把会话转录交给外部 LLM 摘要成每日记忆文件,ingest.js 按变更写入 Supermemory,recall.js、search.js、add.js 提供召回、检索与单条写入,通过 cron 自动运行。

kitsune
热度 50.82
最近更新 2026-05-18 12:35:57
分类:知识依赖:代码执行 / 读写文件 / 第三方 API / 内部调用大模型应用场景:工作流 / 笔记整理 / 摘要总结 / 自动化脚本

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add synthetic-supermemory
Metadata
name
synthetic-supermemory
description
Full automated memory pipeline for OpenClaw agents. Scribe session transcripts into structured daily memory files, ingest them into Supermemory for semantic recall, and retrieve enriched context at session startup. Use when you want persistent memory across sessions without agent self-reporting. Triggers on requests like "set up memory", "remember sessions", "recall context", "ingest memory files", "search memories", or any task requiring long-term agent memory. Requires SUPERMEMORY_API_KEY and OPENAI_API_KEY (or ANTHROPIC_API_KEY).
metadata
{"openclaw":{"emoji":"🧠","requires":{"bins":["node"],"env":["SUPERMEMORY_API_KEY","OPENAI_API_KEY"]},"primaryEnv":"SUPERMEMORY_API_KEY"}}

synthetic-supermemory

Full memory pipeline for OpenClaw agents. Three components that work together:

session transcripts
      ↓ scribe.js (hourly system cron)
memory/YYYY-MM-DD.md
      ↓ ingest.js (every 2h system cron)
Supermemory (containerTag per agent)
      ↓ recall.js (session startup)
enriched context

No gateway involvement. No context bloat. Fully automated.

⚠️ Privacy notice

scribe.js sends conversation transcript content to an external LLM (OpenAI or Anthropic) for summarization. If your sessions contain secrets, API keys, or PII — be aware that content will be sent to the provider. Use a dedicated low-privilege API key with spend limits.

Quick setup

# Install dependencies
cd /path/to/skills/synthetic-supermemory && npm install

# Store keys securely (do NOT put secrets in crontab)
mkdir -p ~/.openclaw/secrets
echo "sk-your-openai-key" > ~/.openclaw/secrets/scribe-key && chmod 600 ~/.openclaw/secrets/scribe-key
echo "sm-your-supermemory-key" > ~/.openclaw/secrets/supermemory-key && chmod 600 ~/.openclaw/secrets/supermemory-key

# Test scribe (dry-run)
SUPERMEMORY_API_KEY=$(cat ~/.openclaw/secrets/supermemory-key) \
node scripts/scribe.js \
  --agents-dir ~/.openclaw/agents \
  --all-sessions \
  --memory-dir ~/.openclaw/workspace/memory \
  --api-key-file ~/.openclaw/secrets/scribe-key \
  --dry-run

# Test recall
SUPERMEMORY_API_KEY=$(cat ~/.openclaw/secrets/supermemory-key) \
node scripts/recall.js --container my-agent

Cron setup (add via crontab -e)

# Scribe active sessions hourly
0 * * * * SUPERMEMORY_API_KEY=$(cat ~/.openclaw/secrets/supermemory-key) node /path/to/synthetic-supermemory/scripts/scribe.js --agents-dir ~/.openclaw/agents --all-sessions --memory-dir ~/.openclaw/workspace/memory --api-key-file ~/.openclaw/secrets/scribe-key >> /tmp/scribe.log 2>&1

# Ingest changed memory files into Supermemory every 2 hours
0 */2 * * * SUPERMEMORY_API_KEY=$(cat ~/.openclaw/secrets/supermemory-key) node /path/to/synthetic-supermemory/scripts/ingest.js --dir ~/.openclaw/workspace/memory --container my-agent >> /tmp/ingest.log 2>&1

Scripts

Script Purpose Usage
scribe.js Summarize session transcripts → daily memory files + Supermemory Hourly cron
ingest.js Ingest changed memory files → Supermemory (upsert, change-tracked) Every 2h cron
recall.js Retrieve context at session startup Session start
add.js Add a single memory from CLI or stdin On demand
search.js Semantic search across memories On demand

scribe.js options

Flag Description Default
--agents-dir <dir> OpenClaw agents directory —
--all-sessions Scribe all recently active sessions —
--sessions <dir> Single agent sessions directory —
--session-id <id> Specific session UUID —
--auto-session <key> Auto-resolve session by key suffix —
--memory-dir <dir> Directory for daily memory files required
--provider <name> LLM provider: openai or anthropic auto-detected
--model <model> Summarization model gpt-4o-mini
--api-key-file <path> LLM API key file (600 permissions) —
--sm-container <tag> Supermemory container override --agent value
--agent <id> Agent label for memory headers agent
--active-within-hours <n> Only scribe sessions active within window 1
--min-turns <n> Minimum new turns before scribing 3
--dry-run Print without writing false

ingest.js / recall.js / search.js / add.js options

All take --container <tag> to namespace memories per agent.

# Ingest a directory
node scripts/ingest.js --dir ~/.openclaw/workspace/memory --container sapphire

# Recall context at session start
node scripts/recall.js --container sapphire --query "recent projects and identity"

# Add a one-off memory
node scripts/add.js --container sapphire --content "Kitsune prefers dark mode"

# Search
node scripts/search.js --container sapphire --query "TokTeam deployment"

References