session-memory
name: session-memory
by breezezephyr · published 2026-03-22
$ claw add gh:breezezephyr/breezezephyr-session-memory-workspace---
name: session-memory
version: 1.0.0
description: Write session summaries to daily memory files and search session history so OpenClaw can recall and cite past conversations.
metadata: { "openclaw": { "emoji": "📅", "requires": { "bins": ["node"] } } }
---
# session-memory
Use this skill when the user asks to **remember yesterday’s (or a date’s) chat**, to **summarize a day’s sessions into memory**, or to **search past conversations** (by keyword or date). It bridges session logs and the memory store so OpenClaw can answer “what did we talk about on …?” and use session context in replies.
When to use
Paths (default agent)
- `sessions.json` = index; `<session-id>.jsonl` = full transcript.
- Daily file: `memory/YYYY-MM-DD.md`. Create or append a `## Session summary` section.
Run scripts from the **workspace root** (e.g. `~/.openclaw/workspace`), or pass `--workspace` so `memory/` is resolved correctly.
1. Summarize a day’s sessions → memory (session-to-memory)
Writes a **session summary** for the given date into `memory/YYYY-MM-DD.md` (creates the file or appends a section). Memory citations and RAG will then include that day’s chat.
node skills/session-memory/scripts/session-to-memory.js --date YYYY-MM-DDOptional:
Example:
cd ~/.openclaw/workspace
node skills/session-memory/scripts/session-to-memory.js --date 2026-02-27 --appendThen answer the user with: “已把 2026-02-27 的会话摘要写入 memory/2026-02-27.md,之后你问当天的对话我就能通过记忆检索到。”
2. Search sessions (session-search)
Searches session JSONL by **keyword** and optional **date range**, returns snippets (session id, date, role, snippet) so the agent can use them in context. Does **not** write to memory; use this to answer “之前我们说过 XXX 吗?” or to gather context before summarizing.
node skills/session-memory/scripts/session-search.js --query "关键词" [--since YYYY-MM-DD] [--until YYYY-MM-DD] [--limit 20]Optional:
Output: JSON array of `{ sessionId, date, role, snippet, timestamp }` to stdout. Use the result in your reply or to decide whether to run session-to-memory for that day.
Example:
node skills/session-memory/scripts/session-search.js --query "discord 断联" --since 2026-02-26 --limit 103. List sessions by date (for discovery)
To see which days have sessions (e.g. before summarizing or searching):
for f in ~/.openclaw/agents/main/sessions/*.jsonl; do
[ -f "$f" ] && echo "$(head -1 "$f" | jq -r '.timestamp' | cut -dT -f1) $(basename "$f" .jsonl)"
done | sort -rIf `jq` is not available, use the session-search script with a very broad query and `--limit 1` per day, or run the summarize script with `--date` for a specific date (it will report “no sessions” if none).
Tips
More tools from the same signal band
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
Sign plugins, rotate agent credentials without losing identity, and publicly attest to plugin behavior with verifiable claims and authenticated transfers.
The philosophical layer for AI agents. Maps behavior to Spinoza's 48 affects, calculates persistence scores, and generates geometric self-reports. Give your...