Skip to content

Flerkanal-oversikt

Triggerfish kobles til dine eksisterende meldingsplattformer. Du snakker med agenten din uansett hvor du allerede kommuniserer — terminal, Telegram, Slack, Discord, WhatsApp, en nettwidget eller e-post. Hver kanal har sitt eget klassifiseringsnivå, eieridentitetssjekker og policy-håndhevelse.

Hvordan kanaler fungerer

Hver kanaladapter implementerer det samme grensesnittet: connect, disconnect, send, onMessage og status. Kanalrouteren sitter over alle adaptere og håndterer meldingssending, klassifiseringssjekker og gjenprøvingslogikk.

Kanalrouter: alle kanaladaptere flyter gjennom en sentral klassifiseringsport til Gateway-serveren

Når en melding ankommer på en kanal, gjør routeren:

  1. Identifiserer avsenderen (eier eller ekstern) ved hjelp av kodenivå identitetssjekker — ikke LLM-tolkning
  2. Merker meldingen med kanalens klassifiseringsnivå
  3. Videresender den til policy-motoren for håndhevelse
  4. Ruter agentens svar tilbake gjennom samme kanal

Kanalklassifisering

Hver kanal har et standard klassifiseringsnivå som bestemmer hvilke data som kan flyte gjennom den. Policy-motoren håndhever no-write-down-regelen: data på et gitt klassifiseringsnivå kan aldri flyte til en kanal med lavere klassifisering.

KanalStandard klassifiseringEiererdeteksjon
CLIINTERNALAlltid eier (terminalbruker)
TelegramINTERNALTelegram bruker-ID-samsvar
SignalPUBLICAldri eier (adapter ER din telefon)
SlackPUBLICSlack bruker-ID via OAuth
DiscordPUBLICDiscord bruker-ID-samsvar
WhatsAppPUBLICTelefonnummersamsvar
WebChatPUBLICAldri eier (besøkende)
E-postCONFIDENTIALE-postadressesamsvar

Fullt konfigurerbar Alle klassifiseringer er konfigurerbare i din triggerfish.yaml. Du kan sette en kanal til et hvilket som helst klassifiseringsnivå basert på dine sikkerhetskrav.

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

Effektiv klassifisering

Den effektive klassifiseringen for en melding er minimum av kanalklassifiseringen og mottakerklassifiseringen:

KanalnivåMottakernivåEffektivt nivå
INTERNALINTERNALINTERNAL
INTERNALEXTERNALPUBLIC
CONFIDENTIALINTERNALINTERNAL
CONFIDENTIALEXTERNALPUBLIC

Dette betyr at selv om en kanal er klassifisert som CONFIDENTIAL, behandles meldinger til eksterne mottakere på den kanalen som PUBLIC.

Kanaltilstander

Kanaler beveger seg gjennom definerte tilstander:

  • UNTRUSTED — Nye eller ukjente kanaler starter her. Ingen data flyter inn eller ut. Kanalen er fullstendig isolert til du klassifiserer den.
  • CLASSIFIED — Kanalen har et tildelt klassifiseringsnivå og er aktiv. Meldinger flyter i henhold til policy-regler.
  • BLOCKED — Kanalen er eksplisitt deaktivert. Ingen meldinger behandles.

UNTRUSTED-kanaler En UNTRUSTED-kanal kan ikke motta noen data fra agenten og kan ikke sende data inn i agentens kontekst. Dette er en hard sikkerhetsgrense, ikke en anbefaling. :::

Kanalrouteren

Kanalrouteren administrerer alle registrerte adaptere og tilbyr:

  • Adapterregistrering — Registrer og avregistrer kanaladaptere etter kanal-ID
  • Meldingssending — Rut utgående meldinger til riktig adapter
  • Gjenprøving med eksponensiell tilbakekobling — Mislykkede sendinger gjenprøves opptil 3 ganger med økende forsinkelser (1s, 2s, 4s)
  • BulkoperasjonerconnectAll() og disconnectAll() for livssyklusadministrasjon
yaml
# Routerens gjenprøvingsatferd er konfigurerbar
router:
  maxRetries: 3
  baseDelay: 1000 # millisekunder

Ripple: Skriving og tilstedeværelse

Triggerfish videresender skriveindikatorer og tilstedeværelsestilstand på tvers av kanaler som støtter dem. Dette kalles Ripple.

KanalSkriveindikatorerLesebekreftelser
TelegramSend og mottaJa
SignalSend og motta--
SlackSend bare--
DiscordSend bare--
WhatsAppSend og mottaJa
WebChatSend og mottaJa

Agenttilstedeværelsestilstander: idle, online, away, busy, processing, speaking, error.

Meldingsdeling

Plattformer har meldingslengdegrenser. Triggerfish deler automatisk lange svar for å passe innenfor hver plattforms begrensninger, og deler ved linjeskift eller mellomrom for lesbarhet:

KanalMaks meldingslengde
Telegram4 096 tegn
Signal4 000 tegn
Discord2 000 tegn
Slack40 000 tegn
WhatsApp4 096 tegn
WebChatUbegrenset

Neste steg

Konfigurer kanalene du bruker:

  • CLI — Alltid tilgjengelig, ingen oppsett nødvendig
  • Telegram — Opprett en bot via @BotFather
  • Signal — Koble til via signal-cli-daemon
  • Slack — Opprett en Slack-app med Socket Mode
  • Discord — Opprett en Discord bot-applikasjon
  • WhatsApp — Koble til via WhatsApp Business Cloud API
  • WebChat — Integrer en chat-widget på nettstedet ditt
  • E-post — Koble til via IMAP og SMTP-relé