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.
Apabila mesej tiba di mana-mana saluran, penghala:
- Mengenal pasti penghantar (pemilik atau luaran) menggunakan semakan identiti peringkat kod — bukan tafsiran LLM
- Menanda mesej dengan tahap pengkelasan saluran
- Memajukannya ke enjin dasar untuk penguatkuasaan
- 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.
| Saluran | Pengkelasan Lalai | Pengesanan Pemilik |
|---|---|---|
| CLI | INTERNAL | Sentiasa pemilik (pengguna terminal) |
| Telegram | INTERNAL | Padanan ID pengguna Telegram |
| Signal | PUBLIC | Tidak pernah pemilik (penyesuai ADALAH telefon anda) |
| Slack | PUBLIC | ID pengguna Slack melalui OAuth |
| Discord | PUBLIC | Padanan ID pengguna Discord |
PUBLIC | Padanan nombor telefon | |
| WebChat | PUBLIC | Tidak pernah pemilik (pelawat) |
| E-mel | CONFIDENTIAL | Padanan 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: INTERNALPengkelasan Berkesan
Pengkelasan berkesan untuk mana-mana mesej adalah minimum daripada pengkelasan saluran dan pengkelasan penerima:
| Tahap Saluran | Tahap Penerima | Tahap Berkesan |
|---|---|---|
| INTERNAL | INTERNAL | INTERNAL |
| INTERNAL | EXTERNAL | PUBLIC |
| CONFIDENTIAL | INTERNAL | INTERNAL |
| CONFIDENTIAL | EXTERNAL | PUBLIC |
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 pukal —
connectAll()dandisconnectAll()untuk pengurusan kitaran hayat
yaml
# Tingkah laku cuba semula penghala boleh dikonfigurasi
router:
maxRetries: 3
baseDelay: 1000 # milisaatRipple: Menaip dan Kehadiran
Triggerfish menyampaikan petunjuk menaip dan keadaan kehadiran merentasi saluran yang menyokongnya. Ini dipanggil Ripple.
| Saluran | Petunjuk Menaip | Resit Baca |
|---|---|---|
| Telegram | Hantar dan terima | Ya |
| Signal | Hantar dan terima | -- |
| Slack | Hantar sahaja | -- |
| Discord | Hantar sahaja | -- |
| Hantar dan terima | Ya | |
| WebChat | Hantar dan terima | Ya |
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:
| Saluran | Had Panjang Mesej Maksimum |
|---|---|
| Telegram | 4,096 aksara |
| Signal | 4,000 aksara |
| Discord | 2,000 aksara |
| Slack | 40,000 aksara |
| 4,096 aksara | |
| WebChat | Tanpa 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
