Connectoren — externe Kanäle, verbunden mit der Knowledge Base
Connectoren verbinden die Messaging-Kanäle, auf denen Ihre Kunden und Kollegen ohnehin schon sind — WhatsApp, Telegram, Discord, Slack — mit derselben Knowledge Base, die auch den internen Chat speist. Die Gespräche bleiben auf Ihren Servern: die App fra…
Connectoren verbinden die Messaging-Kanäle, auf denen Ihre Kunden und Kollegen ohnehin schon sind — WhatsApp, Telegram, Discord, Slack — mit derselben Knowledge Base, die auch den internen Chat speist. Die Gespräche bleiben auf Ihren Servern: die App fragt die APIs des Kanals mit den Zugangsdaten ab, die der Administrator einträgt, und die Antworten stammen aus der dokumentarischen Knowledge Base.
Nur in der Enterprise-Edition verfügbar (connectors_enabled: falsein der Community-Lizenz — das Community-Admin-Panel zeigt den UpgradePrompt; siehe Administration). Referenzen:packages/shared/src/schemas/connector.schema.ts(die Formularfelder),packages/server/src/routes/connectors.ts(die Limits + der Router),CHANGELOG.mdv0.28.1,packages/shared/src/constants/license.ts. Provenienz-Zeilen:FACT-CENSUS.mdF-CONN-1, F-CONN-2, F-LIC-1.
Einen Connector anlegen
Pfad: Settings → Conversations → Connectors (die Schaltfläche New connector). Das Formular verlangt:
| Feld | Hinweise |
|---|---|
| Name | die Kennung der Connector-Instanz |
| Plattform | telegram, discord, slack, whatsapp — nach dem Anlegen unveränderlich |
| Bot-Token / Zugangsdaten | das geheime Token des Kanals — nach dem Anlegen unveränderlich (nur create; die PUT rührt es nicht an) |
| Workspace | der Binding-Workspace, unveränderlich |
| Knowledge-Archive-Binding | das Dokumentenarchiv, das die Antworten speist |
| Willkommensnachricht | die erste Nachricht, die der Kanal einer eingehenden Konversation sendet (max. 4000 Zeichen) |
| Fallback-Nachricht | die Antwort, wenn die Suche keine gültigen Quellen findet (max. 4000 Zeichen) |
| Fallback-Locale | die Sprache der Fallback-Nachricht |
| Rate limit | 0 = unbegrenzt (der Router-Sentinel), N = maximal N Anfragen |
| Daily session limit | 0 = unbegrenzt, N = maximal N Sitzungen pro Tag |
Das Archive-Binding bestimmt den Corpus: jede Frage, die über den Kanal eintrifft, durchläuft dieselbe RAG-Pipeline wie die internen Chats (hybride Suche, Quellenangabe, Synthese) — die zitierte Antwort wird auf dem Ursprungskanal zurückgeschickt.
Einen Connector bearbeiten (v0.28.1)
Die Connector-Karte im Admin-Panel trägt ein Overflow-Menü mit einem Edit-Eintrag (an erster Stelle): er öffnet einen vorausgefüllten Dialog über der veränderlichen Oberfläche:
- Veränderlich via `PUT /api/connectors/:id`: Name, Archive-Binding, Willkommens-/Fallback-Nachrichten, Fallback-Locale, Rate limit, Daily session limit (leer = null;
0= unbegrenzt). - Per Schema unveränderlich: Plattform, Bot-Token, Workspace. Ein Kanal- oder Tokenwechsel = ein neuer Connector.
- Der
isEnabled-Schalter bleibt auf der Karte (Switch); der Telegram-pollModebleibt auf den Webhook-Schaltflächen. - Die PUT protokolliert das Audit-Ereignis
chat_connector.updated(auf Augenhöhe mit dem DELETE-Zweig).
Plattform-Adapter
Jede Plattform läuft über einen eigenen Adapter mit eigenen Registrierungs-Zugangsdaten:
| Plattform | Zugangsdaten | Hinweise |
|---|---|---|
| Telegram | Bot-Token (@BotFather) | Poll-Modus und Webhook werden beide unterstützt (eigene Schaltflächen auf der Karte) |
| Discord | Bot-Token (Developer Portal) + Message-Intents | die Adapter lesen die autorisierten Kanäle des Bots |
| Slack | Bot-Token + Signing Secret (Slack App) | Message-Events über den konfigurierten Webhook |
| Business-API-Provider (geheimes Token) | der Adapter ruft die API des Providers auf |
Die Zugangsdaten laufen über den Server und bleiben dort; das geheime Token wird nach dem Anlegen nie in der Oberfläche zurückgespiegelt.
Limits und die Fallback-Nachricht
Das Rate limit und das Daily session limit schützen den Workspace vor externem Verkehr: 0 = unbegrenzt; N = das Maximum pro Connector. Die Fallback-Nachricht (mit ihrer konfigurierbaren fallback locale) ist die Antwort, wenn die Corpus-Suche keine zitierfähigen Elemente liefert — ein externer Kanal bekommt nie Generierungen ohne Quellen, wenn ein Fallback konfiguriert ist.
Deaktivierung und Audit
isEnabled(der Karten-Switch) hält das Routing an, ohne die Konfiguration zu löschen.- Der DELETE eines Connectors ist eine eigenständige auditierte Aktion (das Ereignis
chat_connector.deleted, auf Augenhöhe mitupdated). - Jede Admin-Operation an Connectoren landet im Event-Log (siehe Administration).
Enterprise-Aktivierung ohne den Server anzufassen
Die Enterprise-Lizenz greift, indem man den Schlüssel im Panel einfügt (Settings → Security → License, GET/PUT/DELETE /api/license/instance): Probe-first-Prüfung des Schlüssels (invalid/expired/plugin_bound/community_tier — ein abgelehnter Schlüssel persistiert nie), AES-256-GCM-Chiffrat in SystemConfig, Laufzeitanwendung via setCachedLicense. Siehe API reference; F-LIC-1.
Diese Anleitung behandelt die Betriebsoberfläche der Konnektor-Adapter; die technische Tiefe steckt im Zwillingsbeitrag:
Provenance
| Abschnitt | Quelle |
|---|---|
| Edition-Schranke / UpgradePrompt | packages/shared/src/constants/license.ts (connectors_enabled) — F-CONN-1 |
| Edit-Oberfläche + Unveränderliches + Audit | CHANGELOG.md v0.28.1 (Added, Q1-quick; Phase 221 für die Lizenz) — F-CONN-2, F-LIC-1 |
| Formularfelder / Limits | packages/shared/src/schemas/connector.schema.ts (welcomeMessage/fallbackMessage max. 4000, fallbackLocale, rateLimitPerMinute/sessionLimitPerDay - der Limiter übersetzt 0 → unbegrenzt) |
---
Betreiber-Referenz — Simmetric Chat v0.28.1 (Dokumente aktualisiert am 2026-10-02, Census-SHA `aca5b8ff`).