סקירת ריבוי ערוצים
Triggerfish מתחבר לפלטפורמות ההודעות הקיימות שלכם. אתם מדברים עם הסוכן שלכם בכל מקום שבו אתם כבר מתקשרים -- טרמינל, Telegram, Slack, Discord, WhatsApp, ווידג'ט רשת, או דוא"ל. לכל ערוץ יש רמת סיווג משלו, בדיקות זהות בעלים ואכיפת מדיניות.
כיצד ערוצים עובדים
כל מתאם ערוץ מיישם את אותו ממשק: connect, disconnect, send, onMessage, ו-status. נתב הערוצים יושב מעל כל המתאמים ומטפל בשליחת הודעות, בדיקות סיווג ולוגיקת ניסיון חוזר.
כאשר הודעה מגיעה בכל ערוץ, הנתב:
- מזהה את השולח (בעלים או חיצוני) באמצעות בדיקות זהות ברמת הקוד -- לא פרשנות LLM
- מתייג את ההודעה עם רמת הסיווג של הערוץ
- מעביר אותה למנוע המדיניות לאכיפה
- מנתב את תגובת הסוכן חזרה דרך אותו ערוץ
סיווג ערוצים
לכל ערוץ יש רמת סיווג ברירת מחדל הקובעת אילו נתונים יכולים לזרום דרכו. מנוע המדיניות אוכף את כלל אין-כתיבה-למטה: נתונים ברמת סיווג מסוימת לעולם אינם יכולים לזרום לערוץ עם סיווג נמוך יותר.
| ערוץ | סיווג ברירת מחדל | זיהוי בעלים |
|---|---|---|
| CLI | INTERNAL | תמיד בעלים (משתמש טרמינל) |
| Telegram | INTERNAL | התאמת מזהה משתמש Telegram |
| Signal | PUBLIC | לעולם לא בעלים (המתאם הוא הטלפון) |
| Slack | PUBLIC | מזהה משתמש Slack דרך OAuth |
| Discord | PUBLIC | התאמת מזהה משתמש Discord |
PUBLIC | התאמת מספר טלפון | |
| WebChat | PUBLIC | לעולם לא בעלים (מבקרים) |
CONFIDENTIAL | התאמת כתובת דוא"ל |
ניתן להגדרה לחלוטין כל הסיווגים ניתנים להגדרה ב-triggerfish.yaml.
ניתן להגדיר כל ערוץ לכל רמת סיווג בהתאם לדרישות האבטחה שלכם.
yaml
channels:
telegram:
classification: CONFIDENTIAL
slack:
classification: INTERNALסיווג אפקטיבי
הסיווג האפקטיבי לכל הודעה הוא המינימום בין סיווג הערוץ וסיווג הנמען:
| רמת ערוץ | רמת נמען | רמה אפקטיבית |
|---|---|---|
| INTERNAL | INTERNAL | INTERNAL |
| INTERNAL | EXTERNAL | PUBLIC |
| CONFIDENTIAL | INTERNAL | INTERNAL |
| CONFIDENTIAL | EXTERNAL | PUBLIC |
משמעות הדבר שגם אם ערוץ מסווג כ-CONFIDENTIAL, הודעות לנמענים חיצוניים באותו ערוץ מטופלות כ-PUBLIC.
מצבי ערוץ
ערוצים עוברים בין מצבים מוגדרים:
- UNTRUSTED -- ערוצים חדשים או לא ידועים מתחילים כאן. אין זרימת נתונים פנימה או החוצה. הערוץ מבודד לחלוטין עד שתסווגו אותו.
- CLASSIFIED -- לערוץ הוקצתה רמת סיווג והוא פעיל. הודעות זורמות לפי כללי המדיניות.
- BLOCKED -- הערוץ הושבת באופן מפורש. אין הודעות מעובדות.
ערוצים UNTRUSTED ערוץ UNTRUSTED אינו יכול לקבל נתונים
מהסוכן ואינו יכול לשלוח נתונים להקשר הסוכן. זהו גבול אבטחה מוחלט, לא הצעה. :::
נתב ערוצים
נתב הערוצים מנהל את כל המתאמים הרשומים ומספק:
- רישום מתאמים -- רישום וביטול רישום של מתאמי ערוצים לפי מזהה ערוץ
- שליחת הודעות -- ניתוב הודעות יוצאות למתאם הנכון
- ניסיון חוזר עם backoff מעריכי -- שליחות כושלות מנוסות שוב עד 3 פעמים עם השהיות עולות (1 שנ', 2 שנ', 4 שנ')
- פעולות מרובות --
connectAll()ו-disconnectAll()לניהול מחזור חיים
yaml
# התנהגות ניסיון חוזר של הנתב ניתנת להגדרה
router:
maxRetries: 3
baseDelay: 1000 # מילישניותRipple: הקלדה ונוכחות
Triggerfish מעביר מחווני הקלדה ומצב נוכחות בין ערוצים התומכים בהם. זה נקרא Ripple.
| ערוץ | מחווני הקלדה | אישורי קריאה |
|---|---|---|
| Telegram | שליחה וקבלה | כן |
| Signal | שליחה וקבלה | -- |
| Slack | שליחה בלבד | -- |
| Discord | שליחה בלבד | -- |
| שליחה וקבלה | כן | |
| WebChat | שליחה וקבלה | כן |
מצבי נוכחות סוכן: idle, online, away, busy, processing, speaking, error.
חלוקת הודעות
לפלטפורמות יש מגבלות אורך הודעה. Triggerfish מחלק אוטומטית תגובות ארוכות כך שיתאימו למגבלות כל פלטפורמה, עם פיצול על שורות חדשות או רווחים לצורך קריאות:
| ערוץ | אורך הודעה מרבי |
|---|---|
| Telegram | 4,096 תווים |
| Signal | 4,000 תווים |
| Discord | 2,000 תווים |
| Slack | 40,000 תווים |
| 4,096 תווים | |
| WebChat | ללא הגבלה |
הצעדים הבאים
הגדירו את הערוצים שאתם משתמשים בהם:
- CLI -- תמיד זמין, ללא הגדרה נדרשת
- Telegram -- צרו בוט דרך @BotFather
- Signal -- קשרו דרך signal-cli daemon
- Slack -- צרו אפליקציית Slack עם Socket Mode
- Discord -- צרו אפליקציית בוט Discord
- WhatsApp -- התחברו דרך WhatsApp Business Cloud API
- WebChat -- הטמיעו ווידג'ט צ'אט באתר שלכם
- Email -- התחברו דרך IMAP ושרת SMTP
