No description
| ai-service | ||
| backend | ||
| .gitignore | ||
| docker-compose.gpu.yml | ||
| docker-compose.yml | ||
| MODELS.md | ||
| README.md | ||
| start-local.sh | ||
WHAgent
Multi-Agent WhatsApp-Plattform mit Admin-Dashboard, Node-basierten Integrationen, Ollama-LLM, STT, OCR, TTS und persistenter Wissensbasis.
Features
- Admin-Dashboard unter
http://localhost:3000zum Anlegen von Agenten - Pro Agent beliebige Nodes (Redmine, Kalender, Mail, Custom)
- WhatsApp-Anbindung pro Agent über QR-Code Login
- Agent-Chats in WhatsApp (inkl. Gruppen/Einzelchat)
- Redmine-Statuswechsel über Textbefehle wie
ticket #45878 auf angelegt stellen - Erinnerungen mit Zielort, Fahrzeitberechnung und dynamischer Rekalkulation
- Standort-Rekalibrierung bei >100m Veränderung innerhalb von 5 Minuten
- STT für Sprachnachrichten
- OCR für Bilder
- TTS für Sprachantworten (Voice Notes)
- Dauerhafte Wissensbasis (Memories, Logs, Reminders) in Postgres
Technische Architektur
backend: Node.js, Express, whatsapp-web.js, Scheduler, REST API, Dashboard-Hostingai-service: FastAPI mit Faster-Whisper (STT), EasyOCR+Tesseract (OCR), Coqui-TTS (TTS)ollama: LLM-Inferenzpostgres: Persistenz für Agenten, Nodes, Wissensbasis, Flow-Events
GPU-Modellvorschlag (RTX 5070 12GB, Deutsch)
- LLM:
qwen2.5:7b-instruct-q4_K_M(Ollama, robustes Verständnis/Antworten) - STT:
large-v3via Faster-Whisper (deutsch stark, GPU-geeignet) - OCR: EasyOCR
de,en+ Tesseractdeu+eng - TTS:
tts_models/de/thorsten/tacotron2-DCA
Diese Auswahl ist auf 12GB ausgelegt, wenn Workloads primär nacheinander laufen.
Start
./start-local.sh
Danach:
- Dashboard öffnen:
http://localhost:3000 - Agent anlegen
- Agent verbinden
- QR-Code scannen
- Optional Redmine-Node hinterlegen (JSON mit
baseUrl,apiKey,statusMap)
Kompatibilitätsmodus (Macbook / ohne CUDA)
start-local.sherkennt automatisch NVIDIA/CUDA.- Mit CUDA: startet Compose mit
docker-compose.gpu.ymlund nutzt GPU-Modelle. - Ohne CUDA: startet Standard-Compose im CPU-Fallback.
- AI-Service wählt automatisch:
- STT GPU:
large-v3(float16) - STT CPU:
distil-large-v3(int8)
- STT GPU:
- Backend wählt automatisch das Ollama-Modell:
- GPU:
qwen2.5:7b-instruct-q4_K_M - CPU:
qwen2.5:3b-instruct-q4_K_M
- GPU:
Hinweise zu WhatsApp-Anrufen
WhatsApp-Web-Bibliotheken erlauben kein verlässliches Initiieren klassischer Telefonanrufe. Das Projekt implementiert stattdessen einen Sprachmodus per Voice Note (TTS-Ausgabe + STT-Eingabe), der den gleichen Gesprächsfluss ermöglicht.