Skip to main content
The service is configured through environment variables. Copy .env.example to .env and adjust as needed.

Core settings

VariableDescriptionDefault
BACKENDStorage backend: local (SQLite) or remote (cloud API)local
SQLITE_PATHPath to SQLite database file./data/openbunny.db
PORTREST API port3100

LLM settings

VariableDescriptionDefault
OPENROUTER_API_KEYOpenRouter API keyRequired
OPENROUTER_MODELPrimary model IDanthropic/claude-sonnet-4
LLM_TEMPERATURESampling temperature0.3
LLM_MAX_TOKENSMax tokens per response4096
AGENT_MAX_ITERATIONSMax tool-use iterations per conversation10

Scheduler settings

VariableDescriptionDefault
DEBOUNCE_SECONDSWait time after last message before processing300 (5 min)
TICK_BATCH_SIZEMax conversations processed per tick50
TICK_INTERVAL_MSScheduler interval60000 (60s)

Remote backend settings

These are required when BACKEND=remote:
VariableDescription
REMOTE_API_URLCloud API base URL
REMOTE_API_TOKENAPI token (PAK) starting with obk_
REMOTE_TEAM_IDTeam UUID for scoping requests

Channel credentials

Slack

VariableDescription
SLACK_APP_TOKENSlack app-level token (starts with xapp-)
SLACK_BOT_TOKENSlack bot token (starts with xoxb-)

WhatsApp

WhatsApp uses QR code authentication via the Baileys library. No environment variables required — run the setup wizard.

Telegram

VariableDescription
TELEGRAM_API_IDTelegram API ID from my.telegram.org
TELEGRAM_API_HASHTelegram API hash

Gmail

VariableDescription
GOOGLE_CLIENT_IDGoogle OAuth client ID
GOOGLE_CLIENT_SECRETGoogle OAuth client secret
GOOGLE_PUBSUB_TOPICGoogle Cloud Pub/Sub topic for push notifications

iMessage

iMessage requires macOS. The service runs a Swift bridge daemon that communicates with the Messages database. No environment variables required.