Configuration Reference
ravenbot is highly configurable via environment variables and a config.json file. This document describes all available settings.
🌍 Environment Variables (.env)
These are used for core system settings and credentials. See .env.example for the canonical reference.
AI Backend Settings
| Variable | Description | Default |
|---|---|---|
AI_BACKEND |
gemini or ollama. |
gemini |
GEMINI_API_KEY |
Required for Gemini. Get it from Google AI Studio. | |
GEMINI_FLASH_MODEL / FLASH_MODEL |
Flash model for classification and simple tasks. | gemini-2.5-flash |
GEMINI_PRO_MODEL / PRO_MODEL |
Pro model for reasoning and complex research. | gemini-2.5-pro |
OLLAMA_BASE_URL |
API URL for your Ollama instance. | http://localhost:11434/v1 |
OLLAMA_MODEL |
Default Ollama model for both tiers. | |
OLLAMA_FLASH_MODEL |
Override Flash model for Ollama. | |
OLLAMA_PRO_MODEL |
Override Pro model for Ollama. | |
OLLAMA_THINKING |
Enable extended reasoning (if supported by model). | false |
OLLAMA_DISABLE_CLASSIFY |
Always use Flash model tier. | false |
Integration Settings
| Variable | Description |
|---|---|
TELEGRAM_BOT_TOKEN |
Your Telegram Bot API token. |
TELEGRAM_CHAT_ID |
Your specific Chat ID. |
DISCORD_BOT_TOKEN |
Your Discord Bot token. |
DISCORD_CHANNEL_ID |
Your specific Channel ID. |
JULES_API_KEY |
API Key for Jules Agent delegation. |
GITHUB_PERSONAL_ACCESS_TOKEN |
Required for GitHub MCP server features. |
BRAVE_API_KEY |
Required for web search via Brave Search MCP. |
VAULT_PATH |
Path to your personal Markdown knowledge base. |
Web Server Settings
| Variable | Description | Default |
|---|---|---|
WEB_PORT |
Port for the web UI. | :8080 |
Security Settings
| Variable | Description | Default |
|---|---|---|
ALLOW_LOCAL_URLS |
Set to true to allow access to local/private IPs. |
false |
⚙️ config.json
The config.json file controls the internal logic, prompts, and scheduled jobs of the bot.
Bot Config ("bot")
| Field | Description |
|---|---|
systemPrompt |
Core persona. Routes to sub-agents and handles general conversation. |
researchSystemPrompt |
Specialized prompt for the ResearchAssistant sub-agent. |
systemManagerPrompt |
Specialized prompt for the SystemManager sub-agent. |
julesPrompt |
Specialized prompt for the Jules sub-agent. |
routingPrompt |
Prompt used to classify messages as Simple (Flash) or Complex (Pro). |
summaryPrompt |
Prompt used to compress conversation history into session summaries. |
flashTokenLimit |
Max tokens for the Flash model context window. |
proTokenLimit |
Max tokens for the Pro model context window. |
compressionThreshold |
Token percentage (0.0–1.0) to trigger async context summarization. Validated on load; defaults to 0.8 if out of range. |
MCP Servers ("mcpServers")
Defines the tools available to sub-agents. Each server is assigned to specific agents:
| Server | Assigned To | Purpose |
|---|---|---|
brave-search |
ResearchAssistant | Web search |
weather |
ResearchAssistant | Weather lookups |
memory |
ResearchAssistant | Long-term memory |
filesystem |
ResearchAssistant | Server file access |
sequential-thinking |
ResearchAssistant | Step-by-step reasoning |
sysmetrics |
SystemManager | System metrics |
github |
Jules | GitHub API |
Scheduled Jobs ("jobs")
Defines automated research missions:
"jobs": [
{
"name": "Daily Briefing",
"schedule": "0 0 7 * * *",
"type": "research",
"params": { "prompt": "Research the latest trends..." }
}
]
🗄 Database
SQLite database stored at data/ravenbot.db (configurable via dbPath). Auto-migrated on startup. Key tables:
sessions— ADK session statesession_summaries— Compressed conversation summariesreminders— Timed reminders with delivery trackingwatchers— Periodic monitoring tasksdaily_reports— Research report storagevault_metadata— File checksum trackingbriefings— Daily briefing historymissions— Workflow mission tracking (pipeline, prompt, status, result, timestamps)