Skip to content

Flerkanalsöversikt

Triggerfish ansluter till dina befintliga meddelandeplattformar. Du pratar med din agent var du redan kommunicerar — terminal, Telegram, Slack, Discord, WhatsApp, en webbwidget eller e-post. Varje kanal har sin egen klassificeringsnivå, ägarbeknäftelsekontroller och policyhantering.

Hur kanaler fungerar

Varje kanaladapter implementerar samma gränssnitt: connect, disconnect, send, onMessage och status. Kanalroutern sitter ovanför alla adaptrar och hanterar meddelandedispatch, klassificeringskontroller och logik för återförsök.

Kanalrouter: alla kanaladaptrar flödar via en central klassificeringsgrind till Gateway-servern

När ett meddelande anländer på vilken kanal som helst:

  1. Identifierar routern avsändaren (ägare eller extern) med identitetskontroller på kodsnivå — inte LLM-tolkning
  2. Taggar meddelandet med kanalens klassificeringsnivå
  3. Skickar det vidare till policymotorn för hantering
  4. Dirigerar agentens svar tillbaka via samma kanal

Kanalklassificering

Varje kanal har en standardklassificeringsnivå som avgör vilken data som kan flöda genom den. Policymotorn tillämpar nedskrivningsregeln: data vid en given klassificeringsnivå kan aldrig flöda till en kanal med lägre klassificering.

KanalStandardklassificeringÄgaridentifiering
CLIINTERNALAlltid ägare (terminalanvändare)
TelegramINTERNALTelegram-användar-ID-matchning
SignalPUBLICAldrig ägare (adaptern ÄR din telefon)
SlackPUBLICSlack-användar-ID via OAuth
DiscordPUBLICDiscord-användar-ID-matchning
WhatsAppPUBLICTelefonnummermatchning
WebChatPUBLICAldrig ägare (besökare)
E-postCONFIDENTIALE-postadressmatchning

Fullt konfigurerbart Alla klassificeringar är konfigurerbara i din triggerfish.yaml. Du kan ange vilken kanal som helst till vilken klassificeringsnivå som helst baserat på dina säkerhetskrav.

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

Effektiv klassificering

Den effektiva klassificeringen för ett meddelande är minimumet av kanalklassificeringen och mottagarklassificeringen:

KanalnivåMottagarnivåEffektiv nivå
INTERNALINTERNALINTERNAL
INTERNALEXTERNALPUBLIC
CONFIDENTIALINTERNALINTERNAL
CONFIDENTIALEXTERNALPUBLIC

Det innebär att även om en kanal är klassificerad som CONFIDENTIAL behandlas meddelanden till externa mottagare på den kanalen som PUBLIC.

Kanaltillstånd

Kanaler rör sig genom definierade tillstånd:

  • UNTRUSTED — Nya eller okända kanaler börjar här. Ingen data flödar in eller ut. Kanalen är fullständigt isolerad tills du klassificerar den.
  • CLASSIFIED — Kanalen har tilldelats en klassificeringsnivå och är aktiv. Meddelanden flödar enligt policyregler.
  • BLOCKED — Kanalen har uttryckligen inaktiverats. Inga meddelanden bearbetas.

UNTRUSTED-kanaler En UNTRUSTED-kanal kan inte ta emot data från agenten och kan inte skicka data till agentens kontext. Det här är en hård säkerhetsgräns, inte en rekommendation. :::

Kanalrouter

Kanalroutern hanterar alla registrerade adaptrar och tillhandahåller:

  • Adapterregistrering — Registrera och avregistrera kanaladaptrar efter kanal-ID
  • Meddelandedispatch — Dirigera utgående meddelanden till rätt adapter
  • Återförsök med exponentiell backoff — Misslyckade sändningar återförsöks upp till 3 gånger med ökande fördröjningar (1s, 2s, 4s)
  • BulkoperationerconnectAll() och disconnectAll() för livscykelhantering
yaml
# Routerns återförsöksbeteende är konfigurerbart
router:
  maxRetries: 3
  baseDelay: 1000 # millisekunder

Ripple: Skrivning och närvaro

Triggerfish vidarebefordrar skrivindiktatorer och närvaro över kanaler som stöder dem. Det här kallas Ripple.

KanalSkrivindiktatorerLäskvittenser
TelegramSkicka och ta emotJa
SignalSkicka och ta emot
SlackBara skicka
DiscordBara skicka
WhatsAppSkicka och ta emotJa
WebChatSkicka och ta emotJa

Agentnärvarotillstånd: idle, online, away, busy, processing, speaking, error.

Meddelandechunkning

Plattformar har meddelandelängdsgränser. Triggerfish delar automatiskt upp långa svar för att passa inom varje plattforms begränsningar och delar vid radbrytningar eller mellanslag för läsbarhet:

KanalMax meddelandelängd
Telegram4 096 tecken
Signal4 000 tecken
Discord2 000 tecken
Slack40 000 tecken
WhatsApp4 096 tecken
WebChatObegränsat

Nästa steg

Ställ in de kanaler du använder:

  • CLI — Alltid tillgänglig, ingen installation behövs
  • Telegram — Skapa en bot via @BotFather
  • Signal — Länka via signal-cli daemon
  • Slack — Skapa en Slack-app med Socket Mode
  • Discord — Skapa en Discord-botapplikation
  • WhatsApp — Anslut via WhatsApp Business Cloud API
  • WebChat — Bädda in en chattwidget på din webbplats
  • E-post — Anslut via IMAP och SMTP-relä