ravenbot Persona & Memory Guide
ravenbot is designed to be more than just a chatbot — it's an autonomous research partner. This guide explains how to leverage its memory, personality, and commands.
1. The Persona
ravenbot's persona is defined in config.json and is designed to be:
- Warm & Professional: Approachable but technically deep.
- Proactive Partner: Suggests tools or commands that might help you complete a task.
- Concise for Simple, Detailed for Complex: Matches response depth to question complexity.
- Delegation-Aware: Knows when to handle something directly vs. route to a sub-agent.
2. Memory Architecture
ravenbot has a three-layer memory system:
Short-Term: ADK Sessions
The ADK session service maintains conversation state within a session. Each platform (Telegram, Discord, Web) gets its own session.
Medium-Term: Session Summaries
When a conversation grows large (exceeds 80% of the model's token limit), ravenbot compresses it into a summary and stores it in the session_summaries SQLite table. This summary is injected into the system prompt on the next request, giving the bot context from previous conversations without carrying the full history.
- Summary Cache: An in-memory cache (
sync.Map) avoids repeated DB queries for recently-accessed sessions. - Async Compression: The compression runs in a background goroutine — it doesn't block your response.
Long-Term: Graph Memory MCP
The memory MCP server stores facts, preferences, and user context in data/memory.jsonl. This persists across restarts and sessions.
Teach ravenbot: - "My name is Ray and I'm a Go developer." - "I'm interested in Geospatial AI and Rust." - "I prefer concise news summaries but detailed code explanations."
ravenbot checks memory: - Daily Briefings query memory for your interests before researching. - The ResearchAssistant checks memory for context before starting a task. - Use the Web UI or ask "What do you remember about me?" to verify.
3. Commands
Chat Commands
| Command | Description |
|---|---|
/research <topic> |
Deep-dive research using the research pipeline |
/status |
Server health diagnostic |
/remind <duration> <msg> |
Set a timed reminder (e.g., 30m, 2h) |
/watch <interval> <query> |
Monitor a topic periodically (Active Sentinel) |
/jules <owner/repo> <task> |
Delegate coding tasks to Jules AI |
/uptime |
Show bot statistics and uptime |
/export [N] |
Export recent research briefings |
/reset |
Clear conversation history |
/help |
Show command list |
Web UI
All commands are also available as buttons on the Tools page. The Agents page provides a mission launcher for pipeline execution.
4. Tips
- GitHub Integration: Ask "Any updates on my repo?" — the
githubMCP server lets ravenbot check PRs and issues. - Context Checks: Ask "What do you remember about my projects?" to see its memory state.
- Drafting: Tell ravenbot "I'm about to work on X, keep an eye out for news about Y" — it can set up watchers.
- Web UI: Use the browser interface for long research reports that are easier to read with Markdown rendering.