Skip to content

Gambaran Keseluruhan Berbilang Saluran

Triggerfish berhubung ke platform pemesejan sedia ada anda. Anda bercakap dengan ejen anda di mana sahaja anda sudah berkomunikasi — terminal, Telegram, Slack, Discord, WhatsApp, widget web, atau e-mel. Setiap saluran mempunyai tahap pengkelasan, semakan identiti pemilik, dan penguatkuasaan dasar yang tersendiri.

Cara Saluran Berfungsi

Setiap penyesuai saluran melaksanakan antara muka yang sama: connect, disconnect, send, onMessage, dan status. Penghala saluran berada di atas semua penyesuai dan mengendalikan pengagihan mesej, semakan pengkelasan, dan logik cuba semula.

Penghala saluran: semua penyesuai saluran mengalir melalui pintu pengkelasan pusat ke Pelayan Gateway

Apabila mesej tiba di mana-mana saluran, penghala:

  1. Mengenal pasti penghantar (pemilik atau luaran) menggunakan semakan identiti peringkat kod — bukan tafsiran LLM
  2. Menanda mesej dengan tahap pengkelasan saluran
  3. Memajukannya ke enjin dasar untuk penguatkuasaan
  4. Menghalakan respons ejen kembali melalui saluran yang sama

Pengkelasan Saluran

Setiap saluran mempunyai tahap pengkelasan lalai yang menentukan data apa yang boleh mengalir melaluinya. Enjin dasar menguatkuasakan peraturan tiada write-down: data pada tahap pengkelasan tertentu tidak boleh mengalir ke saluran dengan pengkelasan yang lebih rendah.

SaluranPengkelasan LalaiPengesanan Pemilik
CLIINTERNALSentiasa pemilik (pengguna terminal)
TelegramINTERNALPadanan ID pengguna Telegram
SignalPUBLICTidak pernah pemilik (penyesuai ADALAH telefon anda)
SlackPUBLICID pengguna Slack melalui OAuth
DiscordPUBLICPadanan ID pengguna Discord
WhatsAppPUBLICPadanan nombor telefon
WebChatPUBLICTidak pernah pemilik (pelawat)
E-melCONFIDENTIALPadanan alamat e-mel

Boleh Dikonfigurasi Sepenuhnya Semua pengkelasan boleh dikonfigurasi dalam triggerfish.yaml anda. Anda boleh menetapkan mana-mana saluran ke mana-mana tahap pengkelasan berdasarkan keperluan keselamatan anda.

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

Pengkelasan Berkesan

Pengkelasan berkesan untuk mana-mana mesej adalah minimum daripada pengkelasan saluran dan pengkelasan penerima:

Tahap SaluranTahap PenerimaTahap Berkesan
INTERNALINTERNALINTERNAL
INTERNALEXTERNALPUBLIC
CONFIDENTIALINTERNALINTERNAL
CONFIDENTIALEXTERNALPUBLIC

Ini bermakna walaupun jika saluran dikelaskan sebagai CONFIDENTIAL, mesej kepada penerima luaran pada saluran tersebut dilayan sebagai PUBLIC.

Keadaan Saluran

Saluran bergerak melalui keadaan yang ditentukan:

  • UNTRUSTED — Saluran baru atau tidak diketahui bermula di sini. Tiada data mengalir masuk atau keluar. Saluran diasingkan sepenuhnya sehingga anda mengkelaskannya.
  • CLASSIFIED — Saluran mempunyai tahap pengkelasan yang diberikan dan aktif. Mesej mengalir mengikut peraturan dasar.
  • BLOCKED — Saluran telah dilumpuhkan secara eksplisit. Tiada mesej diproses.

Saluran UNTRUSTED Saluran UNTRUSTED tidak boleh menerima sebarang data daripada ejen dan tidak boleh menghantar data ke dalam konteks ejen. Ini adalah sempadan keselamatan yang keras, bukan cadangan. :::

Penghala Saluran

Penghala saluran mengurus semua penyesuai yang berdaftar dan menyediakan:

  • Pendaftaran penyesuai — Daftar dan nyah daftar penyesuai saluran mengikut ID saluran
  • Pengagihan mesej — Halakan mesej keluar ke penyesuai yang betul
  • Cuba semula dengan backoff eksponen — Penghantaran yang gagal dicuba semula sehingga 3 kali dengan kelewatan yang meningkat (1s, 2s, 4s)
  • Operasi pukalconnectAll() dan disconnectAll() untuk pengurusan kitaran hayat
yaml
# Tingkah laku cuba semula penghala boleh dikonfigurasi
router:
  maxRetries: 3
  baseDelay: 1000 # milisaat

Ripple: Menaip dan Kehadiran

Triggerfish menyampaikan petunjuk menaip dan keadaan kehadiran merentasi saluran yang menyokongnya. Ini dipanggil Ripple.

SaluranPetunjuk MenaipResit Baca
TelegramHantar dan terimaYa
SignalHantar dan terima--
SlackHantar sahaja--
DiscordHantar sahaja--
WhatsAppHantar dan terimaYa
WebChatHantar dan terimaYa

Keadaan kehadiran ejen: idle, online, away, busy, processing, speaking, error.

Potongan Mesej

Platform mempunyai had panjang mesej. Triggerfish secara automatik memotong respons panjang untuk muat dalam kekangan setiap platform, membelah pada baris baharu atau ruang untuk kebolehbacaan:

SaluranHad Panjang Mesej Maksimum
Telegram4,096 aksara
Signal4,000 aksara
Discord2,000 aksara
Slack40,000 aksara
WhatsApp4,096 aksara
WebChatTanpa had

Langkah Seterusnya

Sediakan saluran yang anda gunakan:

  • CLI — Sentiasa tersedia, tiada persediaan diperlukan
  • Telegram — Cipta bot melalui @BotFather
  • Signal — Pautkan melalui daemon signal-cli
  • Slack — Cipta aplikasi Slack dengan Socket Mode
  • Discord — Cipta aplikasi bot Discord
  • WhatsApp — Berhubung melalui WhatsApp Business Cloud API
  • WebChat — Benamkan widget sembang di tapak anda
  • E-mel — Berhubung melalui IMAP dan relay SMTP