Synaplan Multimodal Gateway
offiziellBietet die vollständige Funktionalität des Open-Source-Servers als MCP-Beispiel.
Was kann man mit Synaplan Multimodal Gateway MCP machen?
- Durchsuchen Sie Ihre RAG-Wissensdatenbank — Stellen Sie Fragen zu Ihren hochgeladenen Dokumenten und erhalten Sie Antworten, die auf Ihren eigenen Inhalten basieren, über den Endpunkt
POST /mcp. - KI-Erinnerungen abrufen — Fragen Sie Benutzerprofile und gespeicherte Kontexte ab, die Synaplan erfasst hat, und die als Werkzeuge über den MCP-Server bereitgestellt werden.
- Externe MCP-Server anbinden — Fügen Sie unter „Kanäle“ Ihre eigenen MCP-kompatiblen Dienste (CRM, Wiki, n8n) hinzu, damit der KI-Planer Live-Daten daraus abrufen kann.
- Mehrschrittige Anfragen verarbeiten — Zerlegen Sie komplexe Aufgaben in einen Ablauf von Schritten (extrahieren, zusammenfassen, generieren), der während der Ausführung Live-Fortschrittskarten streamt.
Dokumentation
Synaplan
KI-gestütztes Wissensmanagement mit RAG, Chat-Widgets und Multi-Channel-Integration.
Live-Instanz: web.synaplan.com | Dokumentation: docs.synaplan.com | API: Swagger UI
Voraussetzungen
- Docker + Docker Compose v2 (Docker Desktop unter macOS/Windows oder Docker Engine + das Compose-Plugin unter Linux)
- Git
- 8 GB RAM Minimum (16 GB empfohlen für die Standardinstallation mit lokaler KI)
- ~9 GB freier Speicherplatz für die Standardinstallation (~5 GB für Minimal)
- Freie TCP-Ports
5173,8000,8082,8025,3307,6333,11435
Apple Silicon (M1–M4) Macs: Synaplans Container-Images werden für
linux/amd64veröffentlicht und laufen daher unter Emulation auf Apple Silicon. Aktiviere in Docker Desktop → Einstellungen → Allgemein die Option „Rosetta für x86/amd64-Emulation auf Apple Silicon verwenden“ (macOS 13+), um deutlich schnellere und stabilere Container als mit dem standardmäßigen QEMU zu erhalten. Alles funktioniert auch ohne – nur langsamer, und der erste Build dauert länger.
Schnellstart
git clone https://github.com/metadist/synaplan.git
cd synaplan
docker compose up -d
Öffne http://localhost:5173 — die Benutzeroberfläche ist in ~2 Minuten bereit. Bei der Standardinstallation laden lokale Ollama-Modelle (gpt-oss:20b, bge-m3, ~14 GB insgesamt) im Hintergrund weiter – der Chat mit lokaler KI funktioniert, sobald dieser Download abgeschlossen ist (docker compose logs -f backend zeigt den Fortschritt an). Für das schnellste erste Erlebnis verwende die Minimal-Installation unten.
Installationsoptionen
| Modus | Befehl | Größe | Am besten geeignet für |
|---|---|---|---|
| Standard | docker compose up -d | ~9 GB | Voller Funktionsumfang, lokale KI |
| Minimal | docker compose -f docker-compose-minimal.yml up -d | ~5 GB | Nur Cloud-KI (Groq/OpenAI) |
Setze für die Minimalinstallation deinen API-Schlüssel bevor du den Stack startest, damit er beim ersten Start bereits erkannt wird (vermeidet einen Neustart). Einen kostenlosen Schlüssel erhältst du unter console.groq.com:
echo "GROQ_API_KEY=your_key" >> backend/.env
docker compose -f docker-compose-minimal.yml up -d
Bereits ohne Schlüssel gestartet? Füge ihn hinzu und starte das Backend neu:
echo "GROQ_API_KEY=your_key" >> backend/.env && docker compose restart backend
Zugriff
| Dienst | URL |
|---|---|
| App | http://localhost:5173 |
| API | http://localhost:8000 |
| API-Dokumentation | http://localhost:8000/api/doc |
| phpMyAdmin | http://localhost:8082 |
| MailHog | http://localhost:8025 |
Standard-Anmeldedaten:
| Passwort | Stufe | |
|---|---|---|
| admin@synaplan.com | admin123 | ADMIN |
| demo@synaplan.com | demo123 | PRO |
| test@example.com | test123 | NEU (unbestätigt) |
Funktionen
- KI-Chat — Ollama, OpenAI, Anthropic, Groq, Gemini
- Multi-Task-Routing — Ein KI-Planer zerlegt komplexe Anfragen in einen Aufgabengraphen (extrahieren → zusammenfassen → generieren → antworten) und streamt Live-Aufgabenkarten, während die Schritte ausgeführt werden
- RAG-Suche — Semantische Dokumentensuche mit MariaDB VECTOR oder Qdrant
- Chat-Widget — Auf jeder Website einbettbar (Widget-Anleitung)
- Live-Support — Echtzeit-WebSocket-Schicht (Centrifugo + Redis): menschliche Übernahme von Widget-Chats, Tippindikatoren, Operator-Benachrichtigungen (Echtzeit-Anleitung)
- WhatsApp — Integration der Meta Business API
- E-Mail — KI-gestützte E-Mail-Antworten
- Audio — Whisper-Transkription (Eingabe) + optional synaplan-tts (Ausgabe)
- Dokumente — PDF, Word, Excel, Bilder mit OCR
- KI-Erinnerungen — Benutzerprofilierung mit Qdrant-Vektorsuche
- Feedback-System — Erfassung und Analyse von Feedback, unterstützt durch Qdrant
- Plugins — Nicht-invasives Plugin-System (Plugin-Anleitung)
- MCP-Server (Early Access) — Verbinde KI-Clients (Claude, Cursor, …) über das Model Context Protocol; deine RAG und Erinnerungen werden zu Werkzeugen unter
POST /mcp(MCP-Anleitung) - MCP-Client (Early Access) — Binde deine MCP-Server (CRM, Wiki, n8n, …) unter Kanäle → MCP-Server ein; der Multi-Task-Planer bezieht Live-Daten von ihnen über
mcp_fetchDAG-Knoten — schreibgeschützt, SSRF-geschützt, pro Thema aktivierbar. Aktiviert durch gesetzteBCONFIG-Flags (MCP.CLIENT_ENABLED,MULTITASK.MCP_FETCH_ENABLED—app:seedschaltet sie beim Deployment ein; eine explizite0-Zeile ist der Notausschalter für den Operator). Siehe docs/MULTITASK_DATA_NODES.md
Qdrant-Vektordatenbank
Qdrant läuft als interner Docker-Dienst – keine Konfiguration erforderlich. Es unterstützt KI-Erinnerungen, die RAG-Dokumentensuche und das Feedback-System.
Startet automatisch mit docker compose up -d. Synaplan funktioniert vollständig ohne (Erinnerungen und Vektorsuche sind dann deaktiviert).
Echtzeit & Hintergrundverarbeitung
Beide Compose-Dateien starten außerdem drei interne Dienste (keine Host-Ports, keine Einrichtung erforderlich):
| Dienst | Rolle |
|---|---|
redis | Obligatorische gemeinsame Infrastruktur: Cache, Sitzungen, Sperren, Ratenbegrenzungen, Nachrichtenwarteschlangen (Redis Streams), Centrifugo-Engine |
centrifugo | WebSocket-Gateway für Echtzeitfunktionen (Live-Chat-Übernahme, Tippindikatoren, Operator-Benachrichtigungen) – Browser verbinden sich same-origin über /connection/websocket |
worker | Symfony Messenger Consumer, der asynchrone Jobs ausführt (KI-Verarbeitung, Dokumentenindizierung, Widget-Crawling) |
In einem Multi-Node-Cluster teilen sich alle Nodes ein Redis, sodass auf einem Node veröffentlichte WebSocket-Ereignisse Browser erreichen, die mit einem anderen verbunden sind. Details: docs/REALTIME.md.
Text-to-Speech (Optional)
Für Sprachausgabe führe synaplan-tts parallel zu Synaplan aus:
git clone https://github.com/metadist/synaplan-tts.git && cd synaplan-tts && docker compose up -d
Häufige Befehle
# Logs
docker compose logs -f backend
# Restart
docker compose restart backend
# Reset database
docker compose down -v && docker compose up -d
# Run tests
make test
# Code quality
make lint
Dokumentation
Benutzer- und API-Dokumentation unter docs.synaplan.com. Quelle: metadist/synaplan-docs.
Interne Anleitungen (für Entwickler, die an dieser Codebasis arbeiten):
| Anleitung | Beschreibung |
|---|---|
| Installation | Detaillierte Einrichtungsanweisungen |
| Konfiguration | Umgebungsvariablen, API-Schlüssel |
| Entwicklung | Befehle, Tests, Architektur |
| Echtzeit / WebSockets | Centrifugo + Redis Echtzeitschicht, Multi-Node-Bereitstellung |
| RAG-System | Dokumentensuche und -verarbeitung |
| Chat-Widget | Chat auf Websites einbetten |
| Einrichtung der Meta Business API | |
| Integration des E-Mail-Kanals |
Verwandte Repositories
| Repository | Zweck |
|---|---|
| synaplan | Hauptanwendung (dieses Repository) |
| synaplan-docs | Öffentliche Dokumentationsseite (docs.synaplan.com) |
| synaplan-tts | Optionaler Piper TTS-Dienst |
| synaplan-sortx | Plugin zur Dokumentensortierung + lokales Werkzeug |
| synaplan-charts | Helm-Charts für Kubernetes |
| synaplan-platform | Konfigurationen für Produktionsbereitstellung |
Projektstruktur
synaplan/
├── backend/ # Symfony PHP API
├── frontend/ # Vue.js SPA
├── docs/ # Documentation
├── _docker/ # Docker configs
└── plugins/ # Plugin system
Mitwirken
Siehe AGENTS.md für Entwicklungsrichtlinien und Codestandards.
