איך לגשת לסוכן Hermes מהטלפון הנייד?
מדריך מעשי לחיבור לסוכן Hermes הרץ על VPS באמצעות רשת mesh פרטית או נקודת קצה מאובטחת. למד כיצד להגדיר גישה מרחוק בגרסה v0.20.0 ולבטל הרשאות במקרה של אובדן המכשיר.
שלוש הדרכים להגיע לסוכן ה-Hermes שלך מהטלפון
כדי להגיע לסוכן ה-Hermes שלך מהטלפון, עליך להשתמש בלוח הבקרה מבוסס האינטרנט שלו; ההחלטה המהותית היא מה עומד לפני לוח בקרה זה. האפשרות הראשונה היא רשת mesh פרטית, שבה לוח הבקרה מאזין רק לכתובת Tailscale ושום פורט אינו חשוף לאינטרנט. האפשרות השנייה היא נקודת קצה ציבורית מאחורי reverse proxy עם TLS (אבטחת שכבת תעבורה) ואימות גישה, כאשר אימות זה הוא ההגנה היחידה על הטרמינל לשרת שלך. האפשרות השלישית היא SSH (מעטפת מאובטחת) מאפליקציית טרמינל, שדורשת את ההגדרה המינימלית ומעניקה את רמת הגישה הגבוהה ביותר.
מדריך זה מתחיל בנקודה שבה מסתיים הפעלת סוכן Hermes על גבי VPS עצמאי. הסוכן מותקן, הוא מגיב בשורת הפקודה, וכעת ברצונך שיהיה זמין בכיסך.
הפקודות להלן נכתבו עבור תג v2026.8.3, שפורסם ב-3 באוגוסט 2026 ומסומן כ-v0.20.0 בהערות השחרור. Hermes משחררת גרסאות בתדירות גבוהה, לכן יש לקבע את המכונה לתג ספציפי במקום לעקוב אחר main. המתקין מקבל commit:
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash -s -- --commit 3c27eb6234bf
hermes --versionhermes --version מדפיס את מה שמותקן בפועל. השווה זאת עם התג לפני שאתה סומך על דגל כלשהו בדף זה.
מה המאגר כולל ומה לא
המאגר של Hermes אינו כולל אפליקציית iOS או Android. הלקוח המקורי הוא hermes desktop (המכונה גם hermes gui), אפליקציית Electron עבור macOS, Windows ו-Linux. ניתן לחבר אותו לסוכן מרוחק במקום למקומי: הגדירו את ה-URL המרוחק ל-http://<server-address>:9119 תחת Gateway בהגדרות, או בצעו export למשתנה HERMES_DESKTOP_REMOTE_URL=http://<server-address>:9119 לפני ההפעלה. זה פותר את הצורך במחשב נייד נוסף, אך לא מספק מענה לטלפון.
הממשק שבו משתמשים מהטלפון הוא hermes dashboard, ממשק הדפדפן. הוא מנהל הגדרות, סשנים, משימות cron, יכולות, לוגים ופלטפורמות הודעות, וכולל טרמינל מוטמע: השרת מריץ את hermes --tui מאחורי PTY (פסאודו-טרמינל) ומזרים את הפלט לדף. במסכים צרים, בורר הסשנים מתקפל ללוח צדדי נשלף, כך שהפריסה נשארת שמישה בטלפון.
כברירת מחדל, לוח הבקרה מאזין ל-127.0.0.1:9119 ופותח לשונית דפדפן בשרת עצמו, דבר שאינו מועיל ב-VPS (שרת וירטואלי פרטי) ללא ממשק גרפי. הפעילו אותו ללא דפדפן ובדקו את ה-socket:
hermes dashboard --no-open
ss -lntp | grep 9119מאזין ב-127.0.0.1:9119 נגיש רק מתוך השרת עצמו. מאזין ב-0.0.0.0:9119 נגיש מכל רשת שאליה המכונה מחוברת, כולל הרשת הציבורית. שורה אחת זו קובעת את רמת החשיפה שלכם, לכן ודאו שקראתם אותה במקום להניח הנחות.
אפשרות 1: רשת mesh פרטית עם Tailscale
בחרו באפשרות זו אלא אם יש לכם סיבה שלא לעשות זאת. Tailscale היא רשת VPN (רשת פרטית וירטואלית) מסוג mesh המבוססת על WireGuard. כל מכשיר שאתם מצרפים מקבל כתובת קבועה ומתקשר ישירות עם המכשירים האחרים. הטלפון שלכם מצטרף לאותה רשת, כך שללוח הבקרה אין צורך בפורט ציבורי כלל.
בשרת:
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
tailscale ip -4התקינו את אפליקציית Tailscale בטלפון והתחברו עם אותו חשבון. הפקודה tailscale status בשרת תציג את הטלפון לפי שמו. כעת, קשרו את לוח הבקרה לכתובת שהודפסה על ידי tailscale ip -4:
hermes dashboard --host 100.101.102.103 --port 9119 --no-openקישור לכתובת ה-mesh, במקום ל-0.0.0.0, אומר ש-socket ההאזנה קיים רק בממשק של Tailscale. סריקת פורטים של כתובת ה-IP הציבורית שלכם לא תמצא דבר בפורט 9119, כיוון ששום דבר לא מאזין שם; כך שה-firewall שלכם אינו ההגנה היחידה. אשרו זאת שוב עם ss -lntp | grep 9119.
כתובת הקישור קובעת גם את האימות, וזהו החלק שאנשים מפספסים. ב-127.0.0.1 ללוח הבקרה אין דרישת התחברות. בכל כתובת אחרת, שער האימות הוא חובה, ובלי ספק שירות מוגדר, השרת יסרב לעלות. הפרויקט מכנה זאת "כשל במצב סגור" (failing closed). הריצו את היישום באופן אינטראקטיבי בפעם הראשונה, והוא יציע להגדיר שם משתמש וסיסמה במקום, שיישמרו כ-dashboard.basic_auth בתוך ~/.hermes/config.yaml. ניתן להגדיר את אותו ספק דרך ~/.hermes/.env במקום זאת, וכך נעשה בדוגמה הרשמית של הפרויקט:
HERMES_DASHBOARD_BASIC_AUTH_USERNAME=you
HERMES_DASHBOARD_BASIC_AUTH_PASSWORD_HASH=scrypt$16384$8$1$...
HERMES_DASHBOARD_BASIC_AUTH_SECRET=a-long-random-stringצרו את ה-secret הזה בעזרת openssl rand -hex 32 ואל תשנו אותו. הוא חותם על ה-cookie של הסשן, לכן שינוי שלו ינתק את כל המכשירים. אותו קובץ מכיל גם את מפתחות ה-API של המודל שלכם, לכן שמרו עליו פרטי בעזרת chmod 600 ~/.hermes/.env.
בדקו את השער ממכונה אחרת ב-mesh לפני שתסמכו עליו:
curl -s http://100.101.102.103:9119/api/status | jq '.auth_required, .auth_providers'true ואחריו ["basic"] מציינים שהשער פעיל וספק הסיסמאות הוא זה שמשיב. התיעוד של הפרויקט מצהיר בגלוי לגבי ספק זה: הוא מיועד לרשת מהימנה או ל-VPN, ואינו מתאים ללוח בקרה החשוף לאינטרנט הציבורי. בתוך רשת mesh, זהו בדיוק המצב שבו אתם נמצאים.
עבור HTTPS בתוך ה-tailnet, העבירו את הפורט ל-Tailscale:
sudo tailscale serve --bg localhost:9119
sudo tailscale serve statusTailscale מבצעת TLS termination עם תעודה שהונפקה עבור שם ה-MagicDNS של המכונה, כך שהדפדפן מפסיק להציג אזהרות וה-cookie של הסשן מקבל את הדגל Secure. הפעילו תחילה את MagicDNS ואת HTTPS Certificates בדף ה-DNS של ממשק הניהול של Tailscale, וקראו את אישור ההסכמה בזמן שאתם שם: שמות המכונות שלכם ושם ה-tailnet שלכם מתפרסמים ב-ledger הציבורי של שקיפות תעודות (certificate transparency), שכל אחד יכול לקרוא.
העלות האמיתית כאן היא שרת התיאום. התעבורה בין הטלפון לבין ה-VPS שלכם מוצפנת מקצה לקצה ואינה עוברת דרך Tailscale, אך החשבון שמחליט אילו מכשירים שייכים ל-mesh אינו נמצא על החומרה שלכם. אם זה משמעותי עבורכם, הריצו את ה-control plane בעצמכם בעזרת Headscale, שרת הניהול של Tailscale בהתקנה עצמית, והפנו את הלקוחות אליו בעזרת tailscale up --login-server https://headscale.example.com. אם אתם מעדיפים לוותר על ה-mesh ולהגדיר עמיתים (peers) ידנית, ההשוואה בין WireGuard לבין Tailscale מכסה את מה שאתם מוותרים עליו.
אפשרות 2: נקודת קצה ציבורית ב-HTTPS, והמלכוד הטמון בה
לעיתים רשת mesh אינה זמינה. ייתכן שמכשיר טלפון מהעבודה אינו מאפשר התקנת לקוח VPN. במקרה כזה, ה-dashboard מועבר אל מאחורי reverse proxy. השאירו את ה-dashboard מאזין ל-loopback ואפשרו ל-Caddy לנהל את התעודה:
hermes.example.com {
reverse_proxy 127.0.0.1:9119
}Caddy מנפיק ומחדש את התעודה באופן עצמאי, וה-reverse_proxy שלו מעביר שדרוגי WebSocket ללא צורך בהנחיות נוספות, דבר הנדרש עבור ה-terminal המוטמע ב-dashboard. ב-nginx עליכם להוסיף את ה-headers מסוג Upgrade ו-Connection בעצמכם, והמדריך הנפקת תעודת Let's Encrypt עם Certbot ב-nginx מכסה את החלק של ה-TLS במשימה זו. הגדירו ל-Hermes את השם הציבורי שלו כדי ש-callbacks של התחברות יצביעו על ה-host הנכון:
dashboard:
public_url: "https://hermes.example.com"כעת, המלכוד. מנגנון האימות מתבסס על ה-bind address, ולא על הכתובת שממנה הגיעה הבקשה. dashboard שמוגדר ל-127.0.0.1 מאחורי proxy רואה את ה-loopback, מחליט שאין צורך בהתחברות, ומגיש תוכן לכל מי שה-proxy מאפשר לו לעבור. בדקו מה פרסמתם בפועל:
curl -s https://hermes.example.com/api/status | jq '.auth_required'אם הפלט הוא false, האינטרנט נמצא במרחק URL אחד מגישה ל-terminal בשרת שלכם. אין כאן ניצול של פגיעות (exploit) ושום דבר בלוגים לא יתריע על כך. ישנם שני פתרונות ועליכם ליישם לפחות אחד מהם. או שתטמיעו את האימות בתוך ה-proxy, באמצעות Authentik כספק Single Sign-On מאוחסן עצמית לפני השירות באמצעות forward auth, או שתגדירו את ספק ה-OIDC (OpenID Connect) המובנה של ה-dashboard:
HERMES_DASHBOARD_OIDC_ISSUER=https://auth.example.com/application/o/hermes/
HERMES_DASHBOARD_OIDC_CLIENT_ID=hermes-dashboard
HERMES_DASHBOARD_OIDC_SCOPES="openid profile email"גם אם תבצעו זאת נכון, לאפשרות זו יש רף סיכון שלא ניתן להוריד. דף התחברות ציבורי הוא דף שכל אחד יכול להגיע אליו ולתקוף, ומאחוריו נמצא shell ב-VPS שלכם. שם משתמש וסיסמה הם הגנה דלה למקרה כזה, וזו הסיבה שהתיעוד ממליץ על OAuth או OIDC עבור הגדרות bind ציבוריות. הגבילו את קצב הניסיונות להתחברות (rate limit), ודאו ש-ufw חסום לכל דבר מלבד פורטים של ה-proxy ו-SSH, וקראו את ה-access log מדי פעם.
אפשרות 3: שימוש ב-SSH וב-mosh ממסוף נייד
הדרך הפשוטה ביותר: התקינו אפליקציית מסוף בטלפון, טענו אליה מפתח SSH, והשתמשו בממשק הטקסט של הסוכן.
ssh you@vps.example.com
tmux new -A -s phone
hermes --tuiהפקודה tmux new -A -s phone מתחברת לסשן בשם phone, או יוצרת אותו אם אינו קיים. כך הסוכן ממשיך לרוץ גם כשהחיבור מתנתק, ואתם חוזרים בדיוק לאותה נקודה בפעם הבאה. התבנית זהה לזו המשמשת עבור הפעלת Claude Code מהטלפון.
שימוש ב-SSH רגיל על גבי רשת סלולרית אינו נוח, כיוון שהחיבור מתנתק בכל פעם שהטלפון מחליף כתובת או עובר למצב שינה. Mosh פותר זאת. הוא פועל על גבי UDP (פרוטוקול תעבורת נתונים למשתמש) ומסנכרן את מצב המסוף במקום להזרים בתים, כך שהסשן שורד מעבר מ-Wi-Fi לרשת סלולרית:
sudo apt install -y mosh
sudo ufw allow 60000:61000/udpמהטלפון, הריצו את mosh you@vps.example.com. Mosh מפעיל את mosh-server על גבי חיבור ה-SSH הקיים שלכם, ולאחר מכן מעביר את הסשן ל-UDP בטווח הפורטים 60000 עד 61000. זו הסיבה לכך שטווח זה חייב להיות פתוח.
המחיר הביטחוני הוא המובן מאליו. סשן SSH הוא מעטפת (shell), ומעטפת היא כל מה שהחשבון יכול לעשות. הודעות האישור של הסוכן הן קו ההגנה האחרון בין טלפון גנוב ופתוח לבין הקבצים שלכם. השתמשו בחשבון ייעודי שאינו root למטרה זו, עם מפתח בלבד, ובצעו הקשחת SSH ב-VPS לפני שאתם מציבים מפתח על מכשיר שאתם נושאים איתכם.
מה משתבש ברשת סלולרית
ארבעה דברים, ואף אחד מהם אינו באג שניתן לפתור באמצעות הגדרות.
לוח הבקרה מנתק אותך מהמערכת כשאינך מסתכל. משך הזמן תלוי בספק ההזדהות. ספק שם המשתמש והסיסמה מנפיק סשנים שתוקפם 12 שעות כברירת מחדל, המוגדרים על ידי session_ttl_seconds תחת dashboard.basic_auth. ספק ה-OAuth של Nous Portal מנפיק אסימוני גישה (access tokens) עם TTL (זמן חיים) של 15 דקות, וחוזה ה-API הנוכחי שלו אינו כולל אסימון רענון (refresh token). כאשר אסימון פג, הדף מזהה את תגובת ה-401 וחוזר ל-/login. עם אסימון של 15 דקות, אם תפתח את לוח הבקרה, תכניס את הטלפון לכיס לעשרים דקות, ותחזור – תמצא את עצמך במסך ההתחברות, וכל מה שהקלדת אבד. שום דבר לא מקולקל. פשוט התחבר שוב.
הטרמינל המוטמע אינו שורד מעבר ללשונית ברקע. השרת מפעיל את ה-TUI (ממשק טקסטואלי) מאחורי PTY ומסיים אותו בצורה מסודרת כאשר הלשונית נסגרת; פתיחה מחדש מפעילה מופע חדש. דפדפנים בנייד משליכים לשוניות ברקע כדי לפנות זיכרון, לכן מעבר לאפליקציה אחרת לזמן ממושך מסיים את הטרמינל. היסטוריית הצ'אט שלך בטוחה, כיוון שהסשנים נשמרים בשרת ו-hermes sessions list עדיין מציג אותם. לא ניתן להתחבר מחדש לטרמינל עצמו. אם דרוש לך סשן ששורד, השתמש ב-tmux מעל SSH.
חיבורים לא פעילים מתים בשקט. ספקיות סלולר מנתקות חיבורי TCP לא פעילים כדי לפנות רשומות בטבלת ה-NAT (תרגום כתובות רשת), והטלפון מפסיק לטפל ברשת כמעט לחלוטין ברגע שהמסך כבוי. WebSocket שהיה שקט לזמן מה הוא לרוב מת כבר ברגע שאתה פותח את נעילת המכשיר, והדף מתחבר מחדש רק לאחר שתגע בו. זו הסיבה ש-mosh מרגיש טוב יותר מ-SSH בטלפון: מעולם לא היה לו חיבור שניתן לאבד.
שום דבר לא דוחף התראות. לא לוח הבקרה ולא סשן SSH יכולים להעיר את הטלפון שלך. אין אפליקציית Hermes על המכשיר, לכן אין נתיב לשירות ה-push של הפלטפורמה. הרצה ארוכה של סוכן (agent) מסתיימת, ואתה מגלה זאת בפעם הבאה שתסתכל.
התראות מגיעות דרך ה-messaging gateway
הפתרון לבעיה האחרונה הוא ה-gateway, המהווה דרך שונה לחלוטין ליצירת קשר עם ה-agent. hermes gateway מחבר את ה-agent לפלטפורמות הודעות, כולל Telegram, Discord, Slack, WhatsApp, Signal ודואר אלקטרוני. לאחר מכן, ניתן לתקשר עם ה-agent מתוך אפליקציה שכבר מחזיקה בערוץ push בטלפון שלכם, מטפלת בהעברת הודעות ברקע ומתמודדת עם ניתוקי רשת.
hermes gateway setup
hermes gateway install
hermes gateway statushermes gateway install רושם את ה-gateway כשירות systemd, כך שהוא חוזר לפעול לאחר reboot. שלב ה-gateway במתקין יכול לבצע פעולה זו עבורכם, אך שום רכיב במתקין אינו יוצר unit עבור hermes dashboard, ולכן ה-dashboard לא יעלה מעצמו לאחר הפעלה מחדש. עליכם לכתוב unit עבור הרכיבים שאתם מסתמכים עליהם, והמדריך כתיבת שירותי systemd וטיימרים ב-VPS מכסה את הקובץ עצמו.
משימה מתוזמנת יכולה לדחוף תוצאה באותה דרך, ללא צורך בשיחה:
hermes send -t telegram -s "Backup report" -f /home/you/report.txtמדיניות ההרשאות כאן היא "דחה כברירת מחדל". ללא הגדרת allowlist וכאשר GATEWAY_ALLOW_ALL_USERS אינו מוגדר, הגישה לכל משתמש מסורבת, וזו נקודת ההתחלה הנכונה. ציינו את החשבונות הרצויים ב-~/.hermes/.env:
TELEGRAM_ALLOWED_USERS=123456789
GATEWAY_ALLOWED_USERS=123456789לחלופין, השתמשו בצימוד מבוסס קוד במקום בהדבקת מזהים מספריים. זוהי ברירת המחדל עבור פלטפורמות צ'אט והודעות ישירות, וניתן להגדיר זאת במפורש באמצעות unauthorized_dm_behavior: pair בתוך ~/.hermes/config.yaml. חשבון לא מוכר ששולח הודעה ל-agent יקבל קוד בן שמונה תווים, ושום דבר נוסף לא יקרה עד שתאשרו אותו:
hermes pairing list
hermes pairing approve telegram ABC12DEF
hermes pairing revoke telegram 123456789קודים פוקעים לאחר שעה, משתמש יכול לבקש קוד חדש בכל עשר דקות, וחמישה ניסיונות כושלים יחסמו את החשבון.
הגבלת טווח הנזק במקרה של גניבת טלפון
טלפון שיכול לתקשר עם ה-agent שלך הוא טלפון שיכול להריץ פקודות על השרת שלך, וטלפונים נוטים ללכת לאיבוד. החלט כבר עכשיו מה האדם שמחזיק במכשיר יוכל לעשות.
השאר את האישורים פעילים. approvals.mode מוגדר כברירת מחדל ל-smart, מה שגורם למודל עזר להעריך את רמת הסיכון ולאשר אוטומטית רק פקודות בסיכון נמוך. הגדרה ל-off שקולה להרצת הכל עם --yolo, ו-HERMES_YOLO_MODE=1 מבצע זאת דרך משתני הסביבה. אל תישא טלפון שמדבר עם agent במצב כזה. הגדר את approvals.cron_mode: deny כדי שמשימות מתוזמנות לא יוכלו לאשר את עצמן בזמן שאתה ישן.
approvals:
mode: smart
cron_mode: denyצמצם את מרחב הפעולה של ה-agent. הפקודה terminal.backend: docker מריצה פקודות בתוך container שמסיר את כל ה-Linux capabilities למעט רשימה מצומצמת, מגדיר את no-new-privileges, ומגביל את מספר התהליכים, כך שה-container הופך לגבול במקום ה-prompt. הפקודה terminal.cwd מקבעת את תיקיית העבודה. הפקודה HERMES_WRITE_SAFE_ROOT מגבילה את write_file ואת patch לתיקיות שתציין, וכל ניסיון כתיבה מחוץ להן נחסם ללא אפשרות אישור לעקיפת ההגבלה.
export HERMES_WRITE_SAFE_ROOT=/home/you/projects:/home/you/.hermesHermes חוסם ממילא כתיבה ל-~/.ssh, ~/.aws, ~/.kube ו-/etc/sudoers, וכן למאגרי ה-secrets שלו עצמו כמו ~/.hermes/.env. קריאת קבצי פרויקט .env במקומות אחרים בדיסק נחסמת, אך הם נשארים ברי-כתיבה. המערכת גם דוחה רשימה קשיחה של פקודות הרסניות, ללא קשר להגדרות האישור שלך. התייחס לכך כאל רף מינימלי, לא כאל תוכנית האבטחה שלך. הרץ את ה-agent כמשתמש רגיל, לעולם לא כ-root. אותו היגיון תקף לכל coding agent שמושאר פועל ללא השגחה, והמדריך הרצת Claude Code בצורה מאובטחת על VPS מפרט זאת בהרחבה.
כתוב מראש את שלבי ביטול ההרשאות לפני שתזדקק להם. הסרת המכשיר ב-Tailscale admin console מנתקת את הגישה ל-mesh באופן מיידי. שינוי של HERMES_DASHBOARD_BASIC_AUTH_SECRET ואתחול מבטלים את כל ה-sessions ב-dashboard בכל המכשירים, כיוון שערך זה חותם את ה-session cookie. מחיקת ה-public key של הטלפון מ-~/.ssh/authorized_keys מסיימת את הגישה ב-SSH. הפקודה hermes pairing revoke telegram <user-id> מסירה חשבון הודעות. אם המכשיר החזיק מידע כלשהו שיכול לקרוא את ה-provider keys שלך, בטל אותם עם hermes auth logout <provider> והנפק חדשים מול הספק.
בדוק את התוצאה במקום להניח שהיא הושגה. אלו פקודות להרצה על השרת שלך, והפלט שלהן תלוי בתצורה שלך:
tailscale status
hermes pairing list
hermes logs gateway -n 100
hermes status --deepהלוגים נמצאים תחת ~/.hermes/logs/. קרא אותם לאחר אירוע חריג, וקרא אותם מדי פעם גם כשלא קרה דבר.
FAQ
האם קיימת אפליקציה רשמית של Hermes ל-iOS או ל-Android?
לא. המאגר של Hermes כולל ממשק שורת פקודה, לוח בקרה מבוסס דפדפן, ולקוח שולחן עבודה מבוסס Electron עבור macOS, Windows ו-Linux. לא קיימת גרסה רשמית ל-iOS או ל-Android. מהטלפון ניתן להשתמש בלוח הבקרה דרך הדפדפן, בלקוח SSH, או בפלטפורמת הודעות המחוברת באמצעות hermes gateway. קיימים לקוחות צד-שלישי לנייד, אך מכיוון שמדובר בקוד חיצוני המחזיק בהרשאות הגישה לסוכן שלכם, יש לעיין בקוד המקור לפני ההתקנה.
מדוע לוח הבקרה של Hermes מנתק אותי מהמערכת בטלפון?
הדבר תלוי בספק ההזדהות. ספק ה-OAuth של Nous Portal מנפיק אסימוני גישה (access tokens) עם זמן תפוגה (TTL) של 15 דקות, והסכם ה-API הנוכחי שלו אינו כולל אסימון רענון (refresh token). לכן, כאשר האסימון פג, הדף מקבל שגיאת 401 ומבצע הפניה ל-/login. העברת הדפדפן לרקע בטלפון הופכת זאת למורגש, שכן עשרים דקות ביישום אחר מספיקות כדי להגיע לזמן התפוגה. ספק שם המשתמש והסיסמה מגדיר כברירת מחדל סשן של 12 שעות, המוגדר על ידי session_ttl_seconds. עם ספק זה, הגדירו את HERMES_DASHBOARD_BASIC_AUTH_SECRET לערך אקראי קבוע, כך שמפתח חתימת הסשן יישאר זהה לאחר אתחול, מה שיבטל את הסיבה השנייה לניתוקים.
האם ניתן לחשוף את לוח הבקרה של Hermes לאינטרנט הציבורי בצורה בטוחה?
רק עם אימות שאימתם בעצמכם. שער האימות מופעל בהתאם לכתובת ה-bind, כך שלוח בקרה המוגדר ל-127.0.0.1 מאחורי reverse proxy לעולם לא יבקש מהאינטרנט לבצע הזדהות. הריצו את curl -s https://your-host/api/status | jq '.auth_required' ובדקו את הפלט. השתמשו ב-OAuth או ב-OIDC במקום בשם משתמש וסיסמה, שכן התיעוד של הפרויקט מציין שספק הסיסמאות מיועד לרשתות מהימנות ול-VPN. רשת mesh פרטית מייתרת את השאלה לחלוטין, ולכן היא מהווה את ברירת המחדל המועדפת.
האם אני זקוק לחשבון Tailscale, או שאני יכול לארח את ה-control plane בעצמי?
ניתן לארח אותו באופן עצמאי. Headscale הוא מימוש קוד פתוח של שרת התיאום של Tailscale, ולקוחות Tailscale רשמיים מתחברים אליו באמצעות tailscale up --login-server https://headscale.example.com. במקרה זה, אתם מנהלים את רשימת המכשירים המורשים ברשת ה-mesh. העלות היא שאתם אחראים להפעלה ולגיבוי של השרת, ובזמן שהוא מושבת לא ניתן לרשום או לאמת מחדש מכשירים.
כיצד אקבל התראה לטלפון כשהסוכן מסיים משימה?
השתמשו ב-gateway של פלטפורמת ההודעות. ללוח הבקרה ול-SSH אין דרך "להעיר" טלפון, מכיוון שאין אפליקציית Hermes על המכשיר שתקבל הודעות push. חברו את הסוכן ל-Telegram, Signal, Discord או פלטפורמה נתמכת אחרת באמצעות hermes gateway setup, ואפשרו לאפליקציה של אותה פלטפורמה לספק את ההתראה. ניתן גם להשתמש ב-cron job כדי לשלוח הודעה בודדת באמצעות hermes send -t telegram -s "Job done" -f /path/to/report.txt, אשר תגיע ליעדה ללא צורך בקריאה למודל.