| 🎤 Mikrofon → 16kHz PCM → Gemini | 🔊 Audio-Ausgabe → 24kHz PCM → Browser |
| 💬 Text-Chat (parallel zur Sprache) | 🔍 Web Search (Serper API als Tool) |
| 🖼️ Image Generation (5 Provider) | 📄 Read File (aus /app und /data) |
| ⚙️ System Prompt (editierbar + persistent) | 🎙️ Stimmauswahl (Puck/Charon/Kore/Fenrir/Aoede) |
| 💾 Persistente Chats (JSONL) | 📋 Live-Logs über /logs |
| Secret | Beschreibung |
|---|---|
GEMINI_API_KEY | Google AI Studio Gemini API Key |
SERPER_API_KEY | Serper.dev Search API Key |
CF_ACCOUNT_ID | Cloudflare Account ID (Image Gen) |
CF_API_TOKEN | Cloudflare API Token |
AGNES_API_KEY | Agnes AI API Key |
GEMINI_MODEL | Modell-Name (default: gemini-3.1-flash-live-preview) |
/data gemountet → Settings, Chats, Generated Images überleben Restart/app/data (ephemeral) falls Bucket nicht beschreibbar| Tool | Beschreibung |
|---|---|
web_search(query) | Websuche via Serper API |
image_gen(prompt) | Bild generieren (5 Provider umschaltbar) |
readfile(path) | Textdatei lesen (erlaubt: /app, /data) |
| Methode | Pfad | Beschreibung |
|---|---|---|
GET | / | Frontend |
GET | /health | Health-Check |
GET | /logs | Letzte 300 Log-Einträge |
GET | /settings | Aktuelle Einstellungen |
POST | /settings | Einstellungen speichern |
GET | /sessions | Session-Liste |
GET | /chats/{name} | Session laden |
DELETE | /sessions/{name} | Session löschen |
WS | /ws | WebSocket (Audio + Text) |
| Provider | Backend |
|---|---|
| FLUX.1 Schnell | Cloudflare Workers AI |
| SDXL Lightning | Cloudflare Workers AI |
| SDXL Base 1.0 | Cloudflare Workers AI |
| Agnes 2.1 Flash | Agnes AI (1K-4K) |
| Agnes 2.0 Flash | Agnes AI (1024×1024) |
/data Bucket-Mounts können Permission-Probleme haben (Fallback auf /app/data)