Skip to content

Mehrkanal-Uebersicht

Triggerfish verbindet sich mit Ihren bestehenden Messaging-Plattformen. Sie sprechen mit Ihrem Agenten dort, wo Sie bereits kommunizieren -- Terminal, Telegram, Slack, Discord, WhatsApp, ein Web-Widget oder E-Mail. Jeder Kanal hat seine eigene Klassifizierungsstufe, Eigentuemer-Identitaetspruefungen und Policy-Durchsetzung.

Wie Kanaele funktionieren

Jeder Kanaladapter implementiert dieselbe Schnittstelle: connect, disconnect, send, onMessage und status. Der Kanal-Router sitzt ueber allen Adaptern und handhabt Nachrichtenweiterleitung, Klassifizierungspruefungen und Wiederholungslogik.

Kanal-Router: Alle Kanaladapter fliessen durch ein zentrales Klassifizierungs-Gate zum Gateway Server

Wenn eine Nachricht auf einem beliebigen Kanal eintrifft, fuehrt der Router folgendes aus:

  1. Identifizierung des Absenders (Eigentuemer oder extern) mittels Code-Level-Identitaetspruefungen -- nicht LLM-Interpretation
  2. Markierung der Nachricht mit der Klassifizierungsstufe des Kanals
  3. Weiterleitung an die Policy Engine zur Durchsetzung
  4. Zurueckleitung der Agenten-Antwort ueber denselben Kanal

Kanal-Klassifizierung

Jeder Kanal hat eine Standard-Klassifizierungsstufe, die bestimmt, welche Daten durch ihn fliessen koennen. Die Policy Engine setzt die No-Write-Down-Regel durch: Daten einer bestimmten Klassifizierungsstufe koennen niemals zu einem Kanal mit niedrigerer Klassifizierung fliessen.

KanalStandard-KlassifizierungEigentuemer-Erkennung
CLIINTERNALImmer Eigentuemer (Terminal-Benutzer)
TelegramINTERNALTelegram-Benutzer-ID-Abgleich
SignalPUBLICNie Eigentuemer (Adapter IST Ihr Telefon)
SlackPUBLICSlack-Benutzer-ID ueber OAuth
DiscordPUBLICDiscord-Benutzer-ID-Abgleich
WhatsAppPUBLICTelefonnummer-Abgleich
WebChatPUBLICNie Eigentuemer (Besucher)
E-MailCONFIDENTIALE-Mail-Adressen-Abgleich

Vollstaendig konfigurierbar Alle Klassifizierungen sind in Ihrer triggerfish.yaml konfigurierbar. Sie koennen jeden Kanal basierend auf Ihren Sicherheitsanforderungen auf jede beliebige Klassifizierungsstufe setzen.

yaml
channels:
  telegram:
    classification: CONFIDENTIAL
  slack:
    classification: INTERNAL

Effektive Klassifizierung

Die effektive Klassifizierung fuer jede Nachricht ist das Minimum aus der Kanal-Klassifizierung und der Empfaenger-Klassifizierung:

Kanal-StufeEmpfaenger-StufeEffektive Stufe
INTERNALINTERNALINTERNAL
INTERNALEXTERNALPUBLIC
CONFIDENTIALINTERNALINTERNAL
CONFIDENTIALEXTERNALPUBLIC

Das bedeutet, dass selbst wenn ein Kanal als CONFIDENTIAL klassifiziert ist, Nachrichten an externe Empfaenger auf diesem Kanal als PUBLIC behandelt werden.

Kanalzustaende

Kanaele durchlaufen definierte Zustaende:

  • UNTRUSTED -- Neue oder unbekannte Kanaele starten hier. Keine Daten fliessen rein oder raus. Der Kanal ist vollstaendig isoliert, bis Sie ihn klassifizieren.
  • CLASSIFIED -- Der Kanal hat eine zugewiesene Klassifizierungsstufe und ist aktiv. Nachrichten fliessen gemaess den Policy-Regeln.
  • BLOCKED -- Der Kanal wurde explizit deaktiviert. Keine Nachrichten werden verarbeitet.

UNTRUSTED-Kanaele Ein UNTRUSTED-Kanal kann keine Daten vom Agenten empfangen und keine Daten in den Kontext des Agenten senden. Dies ist eine harte Sicherheitsgrenze, kein Vorschlag. :::

Kanal-Router

Der Kanal-Router verwaltet alle registrierten Adapter und bietet:

  • Adapter-Registrierung -- Kanaladapter nach Kanal-ID registrieren und abmelden
  • Nachrichtenweiterleitung -- Ausgehende Nachrichten an den richtigen Adapter routen
  • Wiederholung mit exponentiellem Backoff -- Fehlgeschlagene Sendungen werden bis zu 3 Mal mit steigenden Verzoegerungen wiederholt (1s, 2s, 4s)
  • Massenoperationen -- connectAll() und disconnectAll() fuer Lebenszyklus-Management
yaml
# Router-Wiederholungsverhalten ist konfigurierbar
router:
  maxRetries: 3
  baseDelay: 1000 # Millisekunden

Ripple: Tipp-Indikatoren und Praesenz

Triggerfish leitet Tipp-Indikatoren und Praesenzstatus ueber Kanaele weiter, die sie unterstuetzen. Dies wird Ripple genannt.

KanalTipp-IndikatorenLesebestaetigungen
TelegramSenden und EmpfangenJa
SignalSenden und Empfangen--
SlackNur Senden--
DiscordNur Senden--
WhatsAppSenden und EmpfangenJa
WebChatSenden und EmpfangenJa

Agenten-Praesenzstatus: idle, online, away, busy, processing, speaking, error.

Nachrichtenaufteilung

Plattformen haben Nachrichtenlaengenlimits. Triggerfish teilt lange Antworten automatisch auf, um in die Beschraenkungen jeder Plattform zu passen, wobei an Zeilenumbruechen oder Leerzeichen geteilt wird, um die Lesbarkeit zu erhalten:

KanalMax. Nachrichtenlaenge
Telegram4.096 Zeichen
Signal4.000 Zeichen
Discord2.000 Zeichen
Slack40.000 Zeichen
WhatsApp4.096 Zeichen
WebChatUnbegrenzt

Naechste Schritte

Richten Sie die Kanaele ein, die Sie verwenden:

  • CLI -- Immer verfuegbar, keine Einrichtung erforderlich
  • Telegram -- Bot ueber @BotFather erstellen
  • Signal -- Ueber signal-cli-Daemon verknuepfen
  • Slack -- Slack-App mit Socket Mode erstellen
  • Discord -- Discord-Bot-Anwendung erstellen
  • WhatsApp -- Ueber WhatsApp Business Cloud API verbinden
  • WebChat -- Chat-Widget auf Ihrer Webseite einbetten
  • E-Mail -- Ueber IMAP und SMTP-Relay verbinden