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)
  • Bulkoperasjoner — connectAll() 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é