Skip to content

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

  1. GitHub Integration: Ask "Any updates on my repo?" — the github MCP server lets ravenbot check PRs and issues.
  2. Context Checks: Ask "What do you remember about my projects?" to see its memory state.
  3. Drafting: Tell ravenbot "I'm about to work on X, keep an eye out for news about Y" — it can set up watchers.
  4. Web UI: Use the browser interface for long research reports that are easier to read with Markdown rendering.