Architecture Overview
OwliaBot is designed with security and simplicity in mind.
Core Components
Section titled “Core Components”┌─────────────────────────────────────────────────────────────────┐│ OwliaBot Process ││ ││ ┌───────────────┐ ┌───────────────┐ ┌───────────────────────┐││ │ Gateway │ │ Channels │ │ Skills │││ │ │ │ - Telegram │ │ - crypto-price │││ │ │ │ - Discord │ │ - crypto-balance │││ └───────────────┘ └───────────────┘ └───────────────────────┘││ ││ ┌───────────────┐ ┌───────────────┐ ┌───────────────────────┐││ │ Agent Runtime │ │ Session │ │ Signer │││ │ - LLM Runner │ │ - History │ │ - 3-tier model │││ │ - Tool Exec │ │ - Context │ │ │││ └───────────────┘ └───────────────┘ └───────────────────────┘││ │└──────────────────────────────────────────────────────────────────┘Message Flow
Section titled “Message Flow”- User sends message via Telegram/Discord
- Gateway receives and routes to Agent Runtime
- Agent builds context (system prompt + history)
- LLM processes and may call tools
- Tool results fed back to LLM
- Final response sent to user
Design Principles
Section titled “Design Principles”Minimal Dependencies
Section titled “Minimal Dependencies”Target: fewer than 30 direct dependencies. No native modules unless necessary.
Channel Simplicity
Section titled “Channel Simplicity”Only Telegram + Discord supported. Fewer channels = smaller attack surface.
Local-First
Section titled “Local-First”Everything runs locally. No cloud services required (except LLM API).
Extensible Core
Section titled “Extensible Core”Core is minimal. Features added through Skills.
Key Files
Section titled “Key Files”| File | Purpose |
|---|---|
config.yaml | Runtime configuration |
workspace/SOUL.md | Agent personality |
workspace/MEMORY.md | Long-term memory |
workspace/skills/ | Skill modules |
Next Steps
Section titled “Next Steps”- Skills System — How extensibility works
- Security Model — The 3-tier key architecture