Skip to content

Configuration Reference

OwliaBot is configured via config.yaml in the project root.

# AI Providers (required)
providers:
- id: claude
model: claude-sonnet-4-5
apiKey: "sk-ant-..."
priority: 1
- id: openai
model: gpt-4o
apiKey: "sk-..."
priority: 2
# Telegram (optional)
telegram:
token: "123456:ABC..."
allowList:
- "883499266"
# Discord (optional)
discord:
token: "MTIz..."
allowList:
- "123456789"
# Workspace path
workspace: ./workspace
# Skills
skills:
enabled: true
directory: ./workspace/skills
# Notifications
notifications:
channel: "telegram:883499266"
# Heartbeat (scheduled tasks)
heartbeat:
enabled: false
cron: "0 * * * *"

Configure one or more AI providers. OwliaBot uses failover if the primary is unavailable.

FieldTypeDescription
idstringUnique identifier
modelstringModel name (e.g., claude-sonnet-4-5)
apiKeystringAPI key
prioritynumberLower = higher priority
FieldTypeDescription
tokenstringBot token from @BotFather
allowListstring[]Allowed user IDs
FieldTypeDescription
tokenstringBot token from Discord Developer Portal
allowListstring[]Allowed user IDs
FieldTypeDefaultDescription
workspacestring./workspacePath to workspace directory
FieldTypeDefaultDescription
skills.enabledbooleantrueEnable/disable skills system
skills.directorystring{workspace}/skillsSkills directory path

Scheduled task execution.

FieldTypeDefaultDescription
heartbeat.enabledbooleanfalseEnable heartbeat
heartbeat.cronstring0 * * * *Cron expression (hourly default)

Some settings can be overridden via environment:

VariablePurpose
ANTHROPIC_API_KEYClaude API key
OPENAI_API_KEYOpenAI API key
ALCHEMY_API_KEYFor crypto-balance skill