Skip to content

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 (gather data via tools) → ResearchSynthesizer (format into report)
  • 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: runningcompleted or failed
  • 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

  1. Define the VAULT_PATH environment variable in your .env file pointing to your notes directory:
    VAULT_PATH=/path/to/your/obsidian/vault
    
  2. 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

  1. The bot saves the watcher to its SQLite database.
  2. A background worker checks every minute for due tasks.
  3. When due, the ResearchAssistant performs a targeted search for new updates since the last run.
  4. Results are pushed to the session where the watcher was created.

🛠 Technical Details

Session Management

  • Persistent sessions: SQLite-backed via the ADK session/database package. Survive restarts.
  • Mission sessions: In-memory via ADK's InMemoryService. Ephemeral — no DB writes for pipeline executions.
  • Summary cache: In-memory sync.Map cache 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