A multi-agent chat system with a Svelte 5 frontend and Rust backend featuring real-time streaming, LLM observability, and modular worker architecture.
┌─────────────────┐ WebSocket ┌─────────────────────────────────────┐
│ │◄──────────────────►│ Agent │
│ Svelte 5 UI │ (streaming) │ │
│ (SvelteKit) │ │ ┌─────────┐ ┌─────────────┐ │
│ │ │ │Frontline│───►│ Orchestrator│ │
└─────────────────┘ │ └─────────┘ └──────┬──────┘ │
│ │ │
│ ┌──────────────┼──────────┐ │
│ ▼ ▼ ▼ │
│ ┌────────┐ ┌────────┐ ┌─────┐│
│ │ Search │ │ Email │ │ Gen ││
│ │(Serper)│ │(SGGrid)│ │ ││
│ └────────┘ └────────┘ └─────┘│
│ │ │
│ ┌────▼────┐ │
│ │Evaluator│ │
│ └─────────┘ │
└─────────────────────────────────────┘
Create a .env file in the project root:
# Required
OPENAI_API_KEY=sk-...
# Optional
OPENAI_MODEL=gpt-4o # Main model for routing decisions
WORKER_MODEL=gpt-4o-mini # Model for workers
SERPER_API_KEY=... # For web search (serper.dev)
SENDGRID_API_KEY=... # For email sending
[email protected]
RUST_LOG=info
docker compose up