Skip to content

סקירת ריבוי ערוצים

Triggerfish מתחבר לפלטפורמות ההודעות הקיימות שלכם. אתם מדברים עם הסוכן שלכם בכל מקום שבו אתם כבר מתקשרים -- טרמינל, Telegram, Slack, Discord, WhatsApp, ווידג'ט רשת, או דוא"ל. לכל ערוץ יש רמת סיווג משלו, בדיקות זהות בעלים ואכיפת מדיניות.

כיצד ערוצים עובדים

כל מתאם ערוץ מיישם את אותו ממשק: connect, disconnect, send, onMessage, ו-status. נתב הערוצים יושב מעל כל המתאמים ומטפל בשליחת הודעות, בדיקות סיווג ולוגיקת ניסיון חוזר.

נתב ערוצים: כל מתאמי הערוצים זורמים דרך שער סיווג מרכזי לשרת השער

כאשר הודעה מגיעה בכל ערוץ, הנתב:

  1. מזהה את השולח (בעלים או חיצוני) באמצעות בדיקות זהות ברמת הקוד -- לא פרשנות LLM
  2. מתייג את ההודעה עם רמת הסיווג של הערוץ
  3. מעביר אותה למנוע המדיניות לאכיפה
  4. מנתב את תגובת הסוכן חזרה דרך אותו ערוץ

סיווג ערוצים

לכל ערוץ יש רמת סיווג ברירת מחדל הקובעת אילו נתונים יכולים לזרום דרכו. מנוע המדיניות אוכף את כלל אין-כתיבה-למטה: נתונים ברמת סיווג מסוימת לעולם אינם יכולים לזרום לערוץ עם סיווג נמוך יותר.

ערוץסיווג ברירת מחדלזיהוי בעלים
CLIINTERNALתמיד בעלים (משתמש טרמינל)
TelegramINTERNALהתאמת מזהה משתמש Telegram
SignalPUBLICלעולם לא בעלים (המתאם הוא הטלפון)
SlackPUBLICמזהה משתמש Slack דרך OAuth
DiscordPUBLICהתאמת מזהה משתמש Discord
WhatsAppPUBLICהתאמת מספר טלפון
WebChatPUBLICלעולם לא בעלים (מבקרים)
EmailCONFIDENTIALהתאמת כתובת דוא"ל

ניתן להגדרה לחלוטין כל הסיווגים ניתנים להגדרה ב-triggerfish.yaml.

ניתן להגדיר כל ערוץ לכל רמת סיווג בהתאם לדרישות האבטחה שלכם.

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

סיווג אפקטיבי

הסיווג האפקטיבי לכל הודעה הוא המינימום בין סיווג הערוץ וסיווג הנמען:

רמת ערוץרמת נמעןרמה אפקטיבית
INTERNALINTERNALINTERNAL
INTERNALEXTERNALPUBLIC
CONFIDENTIALINTERNALINTERNAL
CONFIDENTIALEXTERNALPUBLIC

משמעות הדבר שגם אם ערוץ מסווג כ-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שליחה בלבד--
WhatsAppשליחה וקבלהכן
WebChatשליחה וקבלהכן

מצבי נוכחות סוכן: idle, online, away, busy, processing, speaking, error.

חלוקת הודעות

לפלטפורמות יש מגבלות אורך הודעה. Triggerfish מחלק אוטומטית תגובות ארוכות כך שיתאימו למגבלות כל פלטפורמה, עם פיצול על שורות חדשות או רווחים לצורך קריאות:

ערוץאורך הודעה מרבי
Telegram4,096 תווים
Signal4,000 תווים
Discord2,000 תווים
Slack40,000 תווים
WhatsApp4,096 תווים
WebChatללא הגבלה

הצעדים הבאים

הגדירו את הערוצים שאתם משתמשים בהם:

  • CLI -- תמיד זמין, ללא הגדרה נדרשת
  • Telegram -- צרו בוט דרך @BotFather
  • Signal -- קשרו דרך signal-cli daemon
  • Slack -- צרו אפליקציית Slack עם Socket Mode
  • Discord -- צרו אפליקציית בוט Discord
  • WhatsApp -- התחברו דרך WhatsApp Business Cloud API
  • WebChat -- הטמיעו ווידג'ט צ'אט באתר שלכם
  • Email -- התחברו דרך IMAP ושרת SMTP