Synaplan Multimodal Gateway

offiziell

Bietet 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.

License

Live-Instanz: web.synaplan.com  |  Dokumentation: docs.synaplan.com  |  API: Swagger UI

Watch the Synaplan demo

▶ Demo auf YouTube ansehen


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/amd64 verö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

ModusBefehlGrößeAm besten geeignet für
Standarddocker compose up -d~9 GBVoller Funktionsumfang, lokale KI
Minimaldocker compose -f docker-compose-minimal.yml up -d~5 GBNur 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

DienstURL
Apphttp://localhost:5173
APIhttp://localhost:8000
API-Dokumentationhttp://localhost:8000/api/doc
phpMyAdminhttp://localhost:8082
MailHoghttp://localhost:8025

Standard-Anmeldedaten:

E-MailPasswortStufe
admin@synaplan.comadmin123ADMIN
demo@synaplan.comdemo123PRO
test@example.comtest123NEU (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_fetch DAG-Knoten — schreibgeschützt, SSRF-geschützt, pro Thema aktivierbar. Aktiviert durch gesetzte BCONFIG-Flags (MCP.CLIENT_ENABLED, MULTITASK.MCP_FETCH_ENABLEDapp:seed schaltet sie beim Deployment ein; eine explizite 0-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):

DienstRolle
redisObligatorische gemeinsame Infrastruktur: Cache, Sitzungen, Sperren, Ratenbegrenzungen, Nachrichtenwarteschlangen (Redis Streams), Centrifugo-Engine
centrifugoWebSocket-Gateway für Echtzeitfunktionen (Live-Chat-Übernahme, Tippindikatoren, Operator-Benachrichtigungen) – Browser verbinden sich same-origin über /connection/websocket
workerSymfony 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):

AnleitungBeschreibung
InstallationDetaillierte Einrichtungsanweisungen
KonfigurationUmgebungsvariablen, API-Schlüssel
EntwicklungBefehle, Tests, Architektur
Echtzeit / WebSocketsCentrifugo + Redis Echtzeitschicht, Multi-Node-Bereitstellung
RAG-SystemDokumentensuche und -verarbeitung
Chat-WidgetChat auf Websites einbetten
WhatsAppEinrichtung der Meta Business API
E-MailIntegration des E-Mail-Kanals

Verwandte Repositories

RepositoryZweck
synaplanHauptanwendung (dieses Repository)
synaplan-docsÖffentliche Dokumentationsseite (docs.synaplan.com)
synaplan-ttsOptionaler Piper TTS-Dienst
synaplan-sortxPlugin zur Dokumentensortierung + lokales Werkzeug
synaplan-chartsHelm-Charts für Kubernetes
synaplan-platformKonfigurationen 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.


Lizenz

Apache-2.0