Faya Session Memory
/install faya-session-memory
Session Memory
Solve the #1 problem with long-running AI agents: knowledge loss after context compaction.
The Problem
When sessions compact (summarize old messages to free context), specific details are lost: names, decisions, file paths, reasoning. The agent retains a summary but loses the ability to recall "What exactly did Annika say?" or "When did we decide to use v6 format?"
The Solution: Three-Layer Memory Architecture
Layer 1: MEMORY.md — Curated long-term memory (human-edited)
Layer 2: SESSION-GLOSSAR.md — Auto-generated structured index (people/projects/decisions/timeline)
Layer 3: memory/sessions/ — Full session transcripts as searchable Markdown
All three layers live under memory/ and are automatically vectorized by OpenClaw's
memory search, creating a navigational hierarchy: glossary finds the right session,
session provides the details.
Setup (run once)
Step 1: Convert existing sessions to Markdown
python3 scripts/session-to-memory.py
This scans all JSONL session logs in ~/.openclaw/agents/*/sessions/ and converts
them to memory/sessions/session-YYYY-MM-DD-HHMM-*.md. Truncates long assistant
responses to 2KB, skips system messages, tracks state to avoid re-processing.
Options:
--new— Only convert sessions not yet processed (for incremental runs)--agent main— Specify agent ID (default: main)
Step 2: Build the glossary
python3 scripts/build-glossary.py
Scans all session transcripts and builds memory/SESSION-GLOSSAR.md with:
- People — Who was mentioned, in how many sessions, date ranges
- Projects — Which projects discussed, with relevant topic tags
- Topics — Categorized themes (Email Drafts, Website Build, Security, etc.)
- Timeline — Per-day summary (session count, people, topics)
- Decisions — Extracted decision-like statements with dates
Options:
--incremental— Only process new sessions (uses cached scan state)
Step 3: Set up cron jobs for auto-updates
Create two cron jobs (use a cheap model like Gemini Flash):
Job 1: Session sync + glossary rebuild (every 4-6 hours)
Task: Run `python3 scripts/session-to-memory.py --new` then
`python3 scripts/build-glossary.py --incremental`.
Report how many new sessions were converted and indexed.
Optional Job 2: Pre-compaction memory flush check
Already built into AGENTS.md by default — just ensure the agent writes to
memory/YYYY-MM-DD.md before each compaction.
Customizing Entity Detection
Edit scripts/build-glossary.py to add your own known people and projects:
KNOWN_PEOPLE = {
"alice": "Alice Smith — Project Manager",
"bob": "Bob Jones — CTO",
}
KNOWN_PROJECTS = {
"website-redesign": "Website Redesign — Q1 Initiative",
"api-migration": "API Migration — v2 to v3",
}
The glossary also detects topics via regex patterns. Add new patterns in the
topic_patterns dict for your domain.
How It Works With memory_search
Once set up, memory_search("Alice project decision") will find:
- The glossary entry for Alice (which sessions she appears in)
- The actual session transcript where the decision was discussed
- Any MEMORY.md entry about Alice
This gives the agent a navigation layer (glossary) plus detail access (transcripts) — much better than either alone.
File Structure After Setup
memory/
├── MEMORY.md — Curated (you maintain this)
├── SESSION-GLOSSAR.md — Auto-generated index
├── YYYY-MM-DD.md — Daily notes
├── .glossary-state.json — Glossary builder state
├── .glossary-scans.json — Cached scan results
└── sessions/
├── .state.json — Converter state
├── session-2026-01-15-0830-abc123.md
├── session-2026-01-15-1200-def456.md
└── ...
Cron Memory Optimizer
Cron jobs run in isolated sessions with zero memory context. The optimizer analyzes your cron jobs and suggests memory-enhanced versions:
python3 scripts/cron-optimizer.py
This scans ~/.openclaw/cron/jobs.json, identifies jobs that would benefit from memory context, and generates memory/cron-optimization-report.md with before/after prompts and implementation guidance.
Example optimization:
Original: "Run daily research scout..."
Enhanced: "Before starting: Use memory_search to find recent context about research activities. Check memory/SESSION-GLOSSAR.md for relevant people, projects, and recent decisions. Then proceed with the original task using this context.
Run daily research scout..."
The script is conservative (suggests only, never auto-modifies) and skips monitoring jobs that don't need context.
Tips
- Run the full rebuild (
python3 scripts/build-glossary.pywithout--incremental) occasionally to pick up improvements to entity detection - The glossary is most useful when KNOWN_PEOPLE and KNOWN_PROJECTS are populated — spend 5 minutes adding your key contacts and projects
- For agents that run 24/7, the cron job keeps everything current automatically
- Session transcripts can get large (our 297 sessions = 24MB) — this is fine, OpenClaw's vector search handles it efficiently
- Use the cron optimizer after setting up memory to enhance existing automation
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install faya-session-memory - After installation, invoke the skill by name or use
/faya-session-memory - Provide required inputs per the skill's parameter spec and get structured output
What is Faya Session Memory?
Persistent session memory system that prevents knowledge loss after context compaction. Converts session transcripts to searchable Markdown, builds an auto-u... It is an AI Agent Skill for Claude Code / OpenClaw, with 435 downloads so far.
How do I install Faya Session Memory?
Run "/install faya-session-memory" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Faya Session Memory free?
Yes, Faya Session Memory is completely free (open-source). You can download, install and use it at no cost.
Which platforms does Faya Session Memory support?
Faya Session Memory is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Faya Session Memory?
It is built and maintained by moltbotmolty-del (@moltbotmolty-del); the current version is v1.0.0.