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