360 Secure SkillHub
360 安全技能中心

Session Scribe

核心功能:读取OpenClaw会话记录,跳过工具调用等事件,调用OpenAI/Anthropic廉价LLM生成要点总结,写入每日Markdown记忆文件,支持定时批量处理,仅处理新增内容。典型场景:需自动留存会话上下文、构建自动化记忆 pipeline(可搭配supermemory),无需依赖agent自报告。输入为OpenClaw会话JSONL文件,输出为按日期命名的Markdown文件。

kitsune
热度 45.44
最近更新 2026-05-11 17:36:15
分类:自动化依赖:读写文件 / 第三方 API应用场景:摘要总结 / 自动化脚本

安装技能

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

执行命令安装此 skill: npx secure-skills-cli add session-scribe-openclaw
Metadata
name
session-scribe
description
Automatically summarize active OpenClaw session transcripts into daily memory files using a cheap LLM. Run as a system cron job — reads new transcript entries since last run, summarizes them via OpenAI or Anthropic API, and appends bullet-point notes to a daily memory file. No gateway involvement, no context bloat. Designed to pair with the supermemory skill for full memory pipeline automation. Use when you want session context preserved without relying on agent self-reporting.
metadata
{"openclaw":{"emoji":"📝","requires":{"bins":["node"],"env":["OPENAI_API_KEY"]},"primaryEnv":"OPENAI_API_KEY"}}

session-scribe

Reads OpenClaw session transcripts and writes summarized bullet points to a daily memory file — automatically, via system cron.

No gateway involvement. No context bloat. Just cheap, reliable scribing.

⚠️ Privacy notice

This skill sends conversation transcript content to an external LLM (OpenAI or Anthropic). If your sessions contain secrets, API keys, PII, or sensitive data — be aware that content will be sent to the provider for summarization. Use a dedicated low-privilege API key with spend limits, and consider running --dry-run first to see exactly what gets sent.

How it works

  1. Reads <sessions-dir>/<session-id>.jsonl for new entries since last run
  2. Extracts user + assistant turns (skips tool calls, system events)
  3. Sends to OpenAI or Anthropic API for summarization (gpt-4o-mini by default — cheap)
  4. Appends bullet-point summary to <memory-dir>/YYYY-MM-DD.md (date auto-generated)
  5. Saves progress in .scribe-state.json so next run only processes new entries

Setup

# Install dependencies (one-time, in the skill directory)
cd /path/to/skills/session-scribe && npm install

# Set your API key — OpenAI or Anthropic both work
export OPENAI_API_KEY=sk-...
# or
export ANTHROPIC_API_KEY=sk-ant-api03-...

# Find your session ID
python3 -c "
import json, os
sessions = json.load(open(os.path.expanduser('~/.openclaw/agents/main/sessions/sessions.json')))
for k, v in sessions.items():
    print(k, '->', v.get('sessionId'))
"

# Test run (dry-run, prints summary without writing)
node scripts/scribe.js \
  --sessions ~/.openclaw/agents/main/sessions \
  --session-id <your-session-id> \
  --memory-dir ~/.openclaw/workspace/memory \
  --dry-run

# Or auto-resolve session by key suffix (e.g. your Discord channel ID)
node scripts/scribe.js \
  --sessions ~/.openclaw/agents/main/sessions \
  --auto-session "discord:channel:YOUR_CHANNEL_ID" \
  --memory-dir ~/.openclaw/workspace/memory \
  --dry-run

Note: OpenClaw's internal oat tokens cannot be used for direct API calls. Use a standard API key from platform.openai.com or console.anthropic.com.

System cron setup

Add to crontab (crontab -e) to run every hour:

# Store your key in a protected file (do NOT inline secrets in crontab)
echo "sk-your-key" > ~/.openclaw/secrets/scribe-key
chmod 600 ~/.openclaw/secrets/scribe-key

# Single session (via key file)
0 * * * * node /path/to/session-scribe/scripts/scribe.js \
  --sessions ~/.openclaw/agents/main/sessions \
  --auto-session "discord:channel:YOUR_CHANNEL_ID" \
  --memory-dir ~/.openclaw/workspace/memory \
  --api-key-file ~/.openclaw/secrets/scribe-key \
  >> /tmp/scribe.log 2>&1

# All sessions across all agents
0 * * * * node /path/to/session-scribe/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

Options

Flag Description Default
--sessions <dir> Path to OpenClaw sessions directory required
--session-id <id> Specific session UUID to scribe —
--auto-session <key> Auto-resolve session ID from sessions.json key suffix —
--memory-dir <dir> Directory to write daily memory files required
--provider <name> LLM provider: openai or anthropic auto-detected from env
--model <model> Model to use gpt-4o-mini
--api-key <key> API key (alternative to env var) —
--api-key-file <path> Read API key from file —
--agent <id> Agent label shown in memory file headers agent
--dry-run Print summary without writing to disk false
--min-turns <n> Minimum new turns before scribing 3
--active-within-hours <n> Only scribe sessions active within this window (--all-sessions mode) 1

Pairing with supermemory

For a full automated memory pipeline:

  1. session-scribe runs hourly → appends to memory/YYYY-MM-DD.md
  2. supermemory ingest runs every 2h → syncs changed files to Supermemory
  3. supermemory recall at session start → enriched context from past sessions

References