Features
This document covers all major ravenbot features: workflow pipelines, the web interface, Insight Vault, Visual Intelligence, and Active Sentinel.
1. 🔄 Workflow Pipelines
Pipelines are structured chains of sub-agents that execute in sequence, passing data between steps. They provide more consistent, higher-quality output than single-call agent invocations.
Research Pipeline
The built-in research pipeline chains two agents:
- ResearchAssistant: Runs web searches, weather lookups, memory queries, and file reads. Produces raw research data.
- ResearchSynthesizer: Takes the raw data and formats it into a polished Markdown report with TL;DR, organized sections, and inline source URLs.
The pipeline is used automatically for /research commands and scheduled jobs.
Missions
When a pipeline runs, it creates a mission — a tracked execution with status, timestamps, and results. Missions are stored in SQLite and can be viewed in the web UI's Missions dashboard.
- Status:
running→completedorfailed - Each mission records: pipeline name, prompt, result, error (if any), start time, completion time
Launching Missions
- Web UI: Go to the Agents page, select a pipeline, enter a prompt, and click Launch.
- Chat: Use
/research <topic>to trigger the research pipeline directly.
2. 🌐 Web Interface
A full browser-based interface running on port 8080 (configurable via WEB_PORT).
Pages
| Page | Description |
|---|---|
| Chat | Direct conversation with RavenBot |
| Agents | Agent registry, pipeline visualization, mission launcher |
| Missions | Track pipeline executions with status and results |
| Reports | Browse research reports with Markdown rendering |
| Tools | Quick-access buttons for all bot commands |
See the full Web Interface documentation for details.
3. 📂 Insight Vault (Personal Knowledge Base)
The Insight Vault allows ravenbot to search and read from your personal collection of Markdown notes (e.g., Obsidian, Logseq, or a simple directory of .md files).
Setup
- Define the
VAULT_PATHenvironment variable in your.envfile pointing to your notes directory: - Ensure the bot has read permissions for this directory.
Usage
The ResearchAssistant sub-agent is equipped with:
- search_vault: Finds notes containing specific keywords.
- read_vault_file: Reads the full content of a specific note.
Example: - "Check my vault for any notes on 'Geospatial AI'." - "What did I write in my 'Project Ideas' note about ravenbot?"
4. 👁️ Visual Intelligence (Multi-Modal Perception)
ravenbot can analyze images sent via Telegram or Discord. It uses the Pro model tier to process visual content.
Supported Platforms
- Telegram: Send a photo (as an image or compressed) or a document (if it's an image type).
- Discord: Upload an image attachment.
Usage
Simply send an image with an optional caption. - Debug: Screenshot of a terminal error → "Why is my build failing here?" - OCR/Summarization: Photo of a document or diagram → "Summarize the key points."
5. 👁️ Active Sentinel (Proactive Monitoring)
Active Sentinel transforms ravenbot into a proactive assistant that monitors the web for specific topics at regular intervals.
Command
Usage: /watch <interval_minutes> <query>
interval_minutes: Minimum of 5 minutes.query: The search query or topic to monitor.
Examples
/watch 60 Latest Go security advisories/watch 720 Trending repositories in Geospatial Engineering
How it Works
- The bot saves the watcher to its SQLite database.
- A background worker checks every minute for due tasks.
- When due, the
ResearchAssistantperforms a targeted search for new updates since the last run. - Results are pushed to the session where the watcher was created.
🛠 Technical Details
Session Management
- Persistent sessions: SQLite-backed via the ADK
session/databasepackage. Survive restarts. - Mission sessions: In-memory via ADK's
InMemoryService. Ephemeral — no DB writes for pipeline executions. - Summary cache: In-memory
sync.Mapcache for session summaries. Invalidated on compression. - Async compression: When a conversation exceeds the token threshold (default 80% of model limit), compression runs in a background goroutine. Does not block responses.
- Classification cache: 30-second TTL cache for Flash/Pro routing decisions. Expired entries evicted on read.
Agent Architecture
| Agent | Model | Purpose |
|---|---|---|
| ravenbot-flash | Flash | Default chat, Simple classification |
| ravenbot-pro | Pro | Complex reasoning |
| ResearchAssistant | Flash | Research, weather, memory, files |
| SystemManager | Flash | System diagnostics |
| Jules | Flash | Coding tasks, GitHub ops |
| ResearchSynthesizer | Flash | Formats raw research into reports |