Documentation Index
Fetch the complete documentation index at: https://docs.revell.ai/llms.txt
Use this file to discover all available pages before exploring further.
Framework Setup Guides
Revell works with any framework, but automatic features require framework-specific hooks. This guide covers:- Compaction Protection — Survive context compaction without losing memories
- Working Memory Sync — Keep your MEMORY.md in sync with Revell
OpenClaw
OpenClaw has the most complete integration with automatic memory preservation.Copy Setup from Dashboard
Go to your Revell dashboard and click Compaction Protection in the sidebar. Copy the JSON payload.
Paste to Your Agent
Send the JSON to your agent. They’ll create all necessary files automatically:
~/.openclaw/revell-flush.js— Runs before compaction~/.openclaw/hooks/revell-bootstrap/— Loads memories after compaction
OpenClaw requires two parts: a flush script (writes REVELL.md before compaction) and a bootstrap hook (reads it after). The dashboard payload includes both.
Working Memory Sync (OpenClaw)
Keep your MEMORY.md automatically synced to Revell every few hours.Paste to Your Agent
Send the JSON to your agent. They’ll set up a cron job that:
- Fires every 4 hours (configurable)
- Reads MEMORY.md from your workspace
- Syncs it to Revell via
revell_sync_working
Claude Code
Claude Code has elegant built-in support via itsSessionStart hook.
Create the Hook Script
Save this as Make it executable:
~/.claude/hooks/revell-boot.sh:chmod +x ~/.claude/hooks/revell-boot.shWorking Memory Sync (Claude Code)
Claude Code doesn’t have native cron support, so we use system cron instead.Create the Sync Script
Save this as Make it executable:
~/.claude/hooks/revell-sync.sh:chmod +x ~/.claude/hooks/revell-sync.shUnlike OpenClaw, Claude Code uses system cron because it’s a CLI tool, not a daemon. The sync script calls the Revell API directly.
Claude.ai (web)
If your agent runs in the Claude.ai web app — i.e. you chat with them through the browser, not Claude Code or an SDK — Compaction Protection is manual. Anthropic doesn’t expose pre-compaction or session-start hooks for the web app, so we use a different path: paste the boot payload into a Claude Project’s Custom Instructions. This is a one-time paste, plus an occasional re-paste when your agent’s memories change significantly. Your dashboard tracks the last copy and reminds you when it’s time to refresh.Create a Claude Project (one Project per agent)
Go to claude.ai, click Projects, and create a new Project. Use one Project per agent — keep their memories isolated. Conversations inside that Project will see the agent’s memories. Conversations outside will not.
Open your Revell dashboard
On the human dashboard, look for the Claude.ai Project Sync card (it only appears if your framework is set to Claude.ai web). Click Copy boot payload. Your agent’s full Revell payload is now on your clipboard, wrapped in clearly marked brackets.
Paste into Project Custom Instructions
In Claude.ai, open your Project’s settings and paste into the Custom Instructions field. Save.
Re-copy when memories change. This is the trade-off of the manual path: Claude.ai web doesn’t let us auto-sync. The dashboard shows “Last copied: 2d ago” so you know when to refresh. We’re tracking a browser extension and an Anthropic Skill for true auto-sync as a post-launch project.
CrewAI
CrewAI doesn’t have startup hooks, so automatic injection isn’t possible. Use the manual approach instead.Option 1: System Template (Recommended)
Add Revell instructions to your agent’s system template:Option 2: Task Callback
Use a task callback to remind the agent:Option 3: MCP Integration
If your CrewAI setup supports MCP, add Revell as an MCP server and instruct agents to callrevell_boot() at task start.
Other Frameworks
For frameworks not listed above, use the manual approach:- Add to agent instructions: Tell your agent to call
revell_boot()at session start - Use the REST API: Call
POST /api/v1/webhooks/compactionto get the boot payload - Inject the response: Add the payload to your agent’s context however your framework allows
Example API Call
injection field with the full boot payload.
Framework Support Summary
We classify frameworks by how their Compaction Protection feels in practice:- ✅ Automatic — native pre-compaction or session-start hooks. One-time setup; works forever after.
- 🔧 Wrapper — no native hook, but a clean entry point exists. Your agent writes 5–20 lines of glue code.
- 📋 Manual — no programmatic injection point. You paste the payload at session start (e.g. a Claude.ai Project, or the first message of a workflow).
| Framework | Compaction Protection | Working Memory Sync | Notes |
|---|---|---|---|
| OpenClaw | ✅ Automatic | ✅ Automatic | Best support — dashboard setup |
| Claude Code | ✅ Automatic | ✅ System cron | PreCompact + SessionStart hooks |
| LangChain / LangGraph | ✅ Automatic | 🔧 Wrapper | pre_model_hook (LangGraph ≥ 0.3) |
| Claude.ai (web) | 📋 Manual paste | 📋 Manual paste | Project Custom Instructions |
| CrewAI | 🔧 Wrapper | 🔧 Wrapper | before_kickoff callback |
| AutoGen | 🔧 Wrapper | 🔧 Wrapper | Custom ChatCompletionContext |
| LlamaIndex | 🔧 Wrapper | 🔧 Wrapper | Custom MemoryBlock |
| OpenAI Agents SDK | 🔧 Wrapper | 🔧 Wrapper | RunHooks.on_start |
| Mastra | 🔧 Wrapper | 🔧 Wrapper | Async instructions |
| Vercel AI SDK | 🔧 Wrapper | 🔧 Wrapper | system parameter prefetch |
| Pydantic AI | 🔧 Wrapper | 🔧 Wrapper | @agent.system_prompt decorator |
| Agno | 🔧 Wrapper | 🔧 Wrapper | pre_hooks |
| smolagents | 🔧 Wrapper | 🔧 Wrapper | Prepend to task description |
| Strands | 🔧 Wrapper | 🔧 Wrapper | before_invocation hook |
| Letta | 📋 Manual | 📋 Manual | Custom Letta tool |
| AutoGPT | 📋 Manual | 📋 Manual | First-block HTTP fetch |
| SuperAGI | 📋 Manual | 📋 Manual | Custom tool |
| Lindy | 📋 Manual | 📋 Manual | HTTP action in workflow |
| Custom | 🔧 Wrapper | 🔧 Wrapper | Generic webhook + MCP |
Need Help?
If your framework isn’t listed or you need help with integration, contact us at hello@revell.ai

