SSD Nodes Learn Hosting plans →
מדריכים Matt Connorמאת Matt Connor · עודכן 2026-08-13

איך להתחבר לסוכן Hermes מהטלפון הנייד

למדו כיצד לגשת לסוכן Hermes המותקן על שרת VPS באמצעות רשת mesh פרטית או נקודת קצה HTTPS מאובטחת. המדריך מפרט איך לבטל גישה מרחוק במקרה של אובדן המכשיר עבור גרסה 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 version

hermes version מדפיס את מה שמותקן בפועל. השווה זאת עם התג לפני שתסמוך על דגל כלשהו בדף זה.

מה המאגר כולל, ומה לא

אין אפליקציית iOS או Android במאגר של Hermes. הלקוח המקורי הוא 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). הריצו אותו באופן אינטראקטיבי בפעם הראשונה והוא יציע להגדיר שם משתמש וסיסמה בו במקום. התוצאה נכתבת ל-~/.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 status

Tailscale מבצעת TLS termination עם תעודה שהונפקה עבור שם ה-MagicDNS של המכונה, כך שהדפדפן מפסיק להציג אזהרות וה-cookie של הסשן מקבל את דגל ה-Secure שלו. הפעילו תחילה את MagicDNS ואת HTTPS Certificates בדף ה-DNS של מסוף הניהול של Tailscale, וקראו את אישור ההבנה בזמן שאתם שם: שמות המכונות שלכם ושם ה-tailnet שלכם מתפרסמים ביומן השקיפות הציבורי של תעודות, שכל אחד יכול לקרוא.

העלות הכנה כאן היא שרת התיאום. תעבורה בין הטלפון שלכם לבין ה-VPS מוצפנת מקצה לקצה ואינה עוברת דרך Tailscale, אך החשבון שמחליט אילו התקנים שייכים ל-mesh אינו נמצא על החומרה שלכם. אם זה משנה לכם, הריצו את ה-control plane בעצמכם עם Headscale, שרת ה-Tailscale בניהול עצמי, והפנו את הלקוחות אליו באמצעות tailscale up --login-server https://headscale.example.com. אם אתם מעדיפים לוותר על ה-mesh ולהגדיר עמיתים ידנית, ההשוואה בין 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 רגיל על גבי רשת סלולרית אינו נוח, כיוון שהחיבור מתנתק בכל פעם שהטלפון מחליף כתובת IP או עובר למצב שינה. Mosh פותר זאת. הוא רץ על גבי UDP (פרוטוקול תקשורת ללא חיבור) ומסנכרן את מצב הטרמינל במקום להעביר זרם בתים (byte stream), כך שהסשן שורד מעבר מ-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; זו הסיבה שיש לפתוח טווח זה ב-firewall.

המחיר הביטחוני הוא ברור. סשן SSH הוא shell, ו-shell הוא כל מה שהחשבון יכול לעשות. הודעות האישור של הסוכן הן קו ההגנה האחרון בין טלפון לא נעול שנגנב לבין הקבצים שלכם. השתמשו בחשבון ייעודי שאינו root, התבססו על מפתחות בלבד, ובצעו הקשחת SSH ב-VPS לפני שאתם שמים מפתח על מכשיר שאתם נושאים איתכם.

מה משתבש ברשת סלולרית

ארבעה דברים, ואף אחד מהם אינו באג שניתן לפתור באמצעות הגדרות.

לוח הבקרה מנתק אותך כשאינך מסתכל. ל־access tokens יש TTL (זמן חיים) של 15 דקות, וחוזה ה־API הנוכחי אינו כולל refresh token. כאשר הטוקן פג, הדף מזהה תגובת 401 ומנווט חזרה ל־/login. פתחו את לוח הבקרה, הכניסו את הטלפון לכיס לעשרים דקות, ותחזרו למסך ההתחברות כשכל מה שהקלדתם אבד. שום דבר לא מקולקל. התחברו שוב.

הטרמינל המוטמע אינו שורד מעבר ללשונית ברקע. השרת מריץ את ה־TUI (ממשק משתמש טקסטואלי) מאחורי PTY ומסיים אותו בצורה נקייה כאשר הלשונית נסגרת; פתיחה מחדש יוצרת תהליך חדש. דפדפנים במובייל משליכים לשוניות ברקע כדי לפנות זיכרון, לכן מעבר לאפליקציה אחרת לזמן ממושך מסיים את הטרמינל. היסטוריית הצ'אט שלכם בטוחה, כיוון שהסשנים נשמרים בשרת ו־hermes sessions list עדיין מציג אותם. לא ניתן להתחבר מחדש לטרמינל עצמו. אם אתם זקוקים לסשן ששורד, השתמשו ב־tmux מעל SSH.

חיבורים לא פעילים מתים בשקט. ספקיות סלולר מנתקות חיבורי TCP לא פעילים כדי לפנות רשומות בטבלת ה־NAT (תרגום כתובות רשת), והטלפון מפסיק לטפל ברשת כמעט לחלוטין ברגע שהמסך כבוי. WebSocket שהיה שקט לזמן מה הוא לרוב מת כבר כשתפתחו את נעילת המכשיר, והדף יתחבר מחדש רק לאחר שתגעו בו. זו הסיבה ש־mosh מרגיש טוב יותר מ־SSH בטלפון: מעולם לא היה לו חיבור שניתן לאבד.

שום דבר לא דוחף התראה. לא לוח הבקרה ולא סשן SSH יכולים להעיר את הטלפון שלכם. אין אפליקציית Hermes על המכשיר, לכן אין נתיב לשירות ה־push של הפלטפורמה. הרצה ארוכה של סוכן מסתיימת, ואתם תגלו זאת בפעם הבאה שתסתכלו.

התראות מגיעות דרך ה-messaging gateway

הפתרון לבעיה האחרונה הוא ה-gateway, המהווה דרך שונה לחלוטין ליצירת קשר עם ה-agent. hermes gateway מחבר את ה-agent לפלטפורמות הודעות, כולל Telegram, Discord, Slack, WhatsApp, Signal ודואר אלקטרוני. כך ניתן לתקשר עם ה-agent בתוך אפליקציה שכבר מחזיקה בערוץ push בטלפון שלכם, מטפלת בהעברת הודעות ברקע, ומתמודדת עם ניתוקי רשת.

hermes gateway setup
hermes gateway install
hermes gateway status

hermes gateway install רושם את ה-gateway כשירות systemd, כך שהוא חוזר לפעול לאחר אתחול. מתקין ה-Hermes אינו יוצר עבורכם יחידות שירות (service units), לכן hermes dashboard לא יחזור לפעול מעצמו לאחר restart. עליכם לכתוב יחידה עבור כל רכיב שאתם תלויים בו, והמדריך כתיבת שירותי systemd וטיימרים ב-VPS מסביר כיצד ליצור את הקובץ עצמו.

משימה מתוזמנת יכולה לדחוף תוצאה באותה הדרך, ללא צורך בשיחה:

hermes send -t telegram -s "Backup report" -f /home/you/report.txt

מדיניות ההרשאות כאן היא "דחייה כברירת מחדל" (deny by default). ללא הגדרת רשימת מורשים (allowlist) וכאשר GATEWAY_ALLOW_ALL_USERS אינו מוגדר, הגישה נחסמת לכל משתמש, וזו נקודת ההתחלה הנכונה. ציינו את החשבונות שברצונכם לאשר בתוך ~/.hermes/.env:

TELEGRAM_ALLOWED_USERS=123456789
GATEWAY_ALLOWED_USERS=123456789

לחלופין, ניתן להפעיל צימוד מבוסס קוד (code-based pairing) במקום הדבקת מזהים מספריים, על ידי הגדרת 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 מריצה פקודות בתוך מכולה שמסירה את כל יכולות ה-Linux למעט רשימה מצומצמת, מגדירה את no-new-privileges, ומגבילה את מספר התהליכים, כך שהמכולה הופכת לגבול במקום ה-prompt. הפקודה terminal.cwd מקבעת את תיקיית העבודה. הפקודה HERMES_WRITE_SAFE_ROOT מגבילה את write_file ואת patch לתיקיות שתציינו, וכל ניסיון כתיבה מחוץ להן נחסם ללא אפשרות אישור שתעקוף זאת.

export HERMES_WRITE_SAFE_ROOT=/home/you/projects:/home/you/.hermes

Hermes כבר חוסם כתיבה ל-~/.ssh, ~/.aws, ~/.kube ו-/etc/sudoers, מסרב לכתוב קובצי .env בכל מקום על הדיסק, ודוחה רשימה קשיחה של פקודות הרסניות ללא קשר להגדרות האישור שלכם. התייחסו לכך כאל רף מינימלי, לא כאל התוכנית שלכם. הריצו את ה-agent כמשתמש רגיל, לעולם לא כ-root. אותו היגיון חל על כל agent לכתיבת קוד שמושאר פועל ללא השגחה, והמדריך הרצת Claude Code בצורה מאובטחת על VPS מפרט זאת בהרחבה.

לאחר מכן, רשמו לעצמכם את שלבי הביטול לפני שתזדקקו להם. הסרת המכשיר ב-Tailscale admin console מנתקת את הגישה לרשת באופן מיידי. שינוי של HERMES_DASHBOARD_BASIC_AUTH_SECRET ואתחול השירות מבטלים את כל סשני ה-dashboard בכל המכשירים, כיוון שערך זה חותם את ה-cookie של הסשן. מחיקת המפתח הציבורי של הטלפון מ-~/.ssh/authorized_keys מסיימת את הגישה ב-SSH. הפקודה hermes pairing revoke telegram <user-id> מסירה חשבון הודעות. אם המכשיר החזיק מידע כלשהו שיכול לקרוא את מפתחות הספק שלכם, בטלו אותם באמצעות 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 מנתק אותי מהמערכת בטלפון?

לאסימוני גישה (access tokens) יש זמן תפוגה (TTL) של 15 דקות, והחוזה הנוכחי של ה-API אינו כולל אסימון רענון (refresh token). כאשר האסימון פג, הדף מקבל שגיאת 401 ועובר ל-/login. העברת הדפדפן בטלפון לרקע הופכת זאת למורגש, שכן עשרים דקות באפליקציה אחרת מספיקות כדי להגיע לזמן התפוגה. הגדירו את 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, אשר תגיע ליעדה ללא קריאה למודל.