SSD Nodes Learn Hosting plans →
మార్గదర్శకాలు Matt Connorద్వారా Matt Connor · అప్‌డేట్ చేయబడింది 2026-08-13

ఫోన్ నుంచి Hermes agent ను ఎలా చేరుకోవాలి

VPS పై నడుస్తున్న Hermes agent ను ఫోన్‌లో ఉపయోగించేందుకు private mesh, public HTTPS endpoint, లేదా SSH మార్గాలను పోల్చండి. ఫోన్ పోతే access ఎలా revoke చేయాలో తెలుసుకోండి.

మీ ఫోన్ నుంచి మీ Hermes agent ను చేరుకోవడానికి మూడు మార్గాలు

మీ ఫోన్ నుంచి Hermes agent ను చేరుకోవడానికి దాని web dashboard ను ఉపయోగిస్తారు. అయితే అసలు నిర్ణయం ఆ dashboard ముందు ఏది ఉండాలన్నదే. మొదటి ఎంపిక private mesh network. ఇందులో dashboard Tailscale address పై మాత్రమే listen చేస్తుంది. ఏ port కూడా internet కు అందుబాటులో ఉండదు. రెండో ఎంపిక TLS (transport layer security) మరియు login కలిగిన reverse proxy వెనుక public endpoint. ఇందులో ఆ login మాత్రమే మీ server లోని terminal ను రక్షిస్తుంది. మూడో ఎంపిక terminal app నుంచి SSH (secure shell). దీనికి setup తక్కువగా అవసరం. అయితే ఇది అత్యధిక access ను ఇస్తుంది.

ఈ guide మీ స్వంత VPS పై Hermes agent ను నడపడం పూర్తయ్యే దశ నుంచి ప్రారంభమవుతుంది. Agent install అయింది. ఇది command line పై సమాధానం ఇస్తోంది. ఇప్పుడు దాన్ని మీ ఫోన్‌లో ఉపయోగించాలనుకుంటున్నారు.

క్రింది commands v2026.8.3 tag ఆధారంగా రాయబడ్డాయి. ఇది 3 August 2026 న publish చేయబడింది. Release notes లో దీనికి v0.20.0 అని label చేశారు. Hermes తరచుగా releases చేస్తుంది. అందువల్ల main ను అనుసరించకుండా machine ను ఒక tag కు pin చేయండి. Installer ఒక commit ను అంగీకరిస్తుంది:

curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash -s -- --commit 3c27eb6234bf
hermes version

hermes version వాస్తవంగా install అయినదాన్ని చూపిస్తుంది. ఈ పేజీలోని ఏదైనా flag ను నమ్మే ముందు దాన్ని tag తో పోల్చండి.

రిపాజిటరీలో ఏమి అందుబాటులో ఉంది, ఏమి లేదు

Hermes రిపాజిటరీలో iOS లేదా Android యాప్ లేదు. Native client hermes desktop (alias hermes gui). ఇది macOS, Windows మరియు Linux కోసం రూపొందించిన Electron అప్లికేషన్. ఇది స్థానిక agent కు బదులుగా remote agent కు కనెక్ట్ కావచ్చు: Settings లోని Gateway విభాగంలో remote URL ను http://<server-address>:9119 గా సెట్ చేయండి, లేదా దీన్ని ప్రారంభించే ముందు HERMES_DESKTOP_REMOTE_URL=http://<server-address>:9119 ను export చేయండి. ఇది రెండో laptop సమస్యను పరిష్కరిస్తుంది. ఫోన్‌కు మాత్రం ఇది ఉపయోగపడదు.

ఫోన్‌లో మీరు ఉపయోగించేది hermes dashboard, అంటే browser interface. ఇది configuration, sessions, cron jobs, skills, logs మరియు messaging platforms ను నిర్వహిస్తుంది. ఇందులో terminal కూడా ఉంటుంది: server ఒక PTY (pseudo-terminal) వెనుక hermes --tui ను ప్రారంభించి, దాని output ను పేజీలోకి stream చేస్తుంది. చిన్న screen పై session switcher slide-over panel గా ముడుచుకుంటుంది. అందువల్ల layout ఫోన్‌లో కూడా సరిగ్గా పనిచేస్తుంది.

డిఫాల్ట్‌గా dashboard 127.0.0.1:9119 పై listen చేస్తుంది. ఇది server లోనే browser tab ను తెరుస్తుంది. headless VPS (virtual private server) లో ఇది ఉపయోగం ఉండదు. Browser లేకుండా దీన్ని ప్రారంభించి, socket ను పరిశీలించండి:

hermes dashboard --no-open
ss -lntp | grep 9119

127.0.0.1:9119 పై ఉన్న listener ను server నుంచే చేరుకోవచ్చు. 0.0.0.0:9119 పై ఉన్న listener ను machine అనుసంధానమైన ప్రతి network నుంచి చేరుకోవచ్చు. ఇందులో public network కూడా ఉంటుంది. మీరు ఎంతవరకు exposed అయ్యారో ఆ ఒక్క line నిర్ణయిస్తుంది. అందువల్ల ఊహించకుండా దానిని పరిశీలించండి.

ఐచ్ఛికం 1: Tailscaleతో private mesh

దీనిని ఎంచుకోకూడదనే ప్రత్యేక కారణం లేకపోతే ఈ ఎంపికను ఉపయోగించండి. Tailscale అనేది WireGuardపై నిర్మించిన mesh VPN (virtual private network). మీరు enrol చేసే ప్రతి పరికరానికి స్థిరమైన address లభిస్తుంది. ఆ పరికరం ఇతర పరికరాలతో నేరుగా కమ్యూనికేట్ చేస్తుంది. మీ phone కూడా అదే meshలో చేరుతుంది. అందువల్ల dashboardకు public port అవసరం ఉండదు.

Serverలో:

curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
tailscale ip -4

Phoneలో Tailscale appను install చేసి, అదే accountతో sign in చేయండి. Serverలో tailscale status నడిపితే phone పేరు కనిపిస్తుంది. ఇప్పుడు tailscale ip -4 చూపించిన addressకు dashboardను bind చేయండి:

hermes dashboard --host 100.101.102.103 --port 9119 --no-open

0.0.0.0 కు బదులుగా mesh addressకు bind చేయడం వల్ల listening socket Tailscale interfaceపైనే ఉంటుంది. మీ public IP addressపై port scan చేసినా 9119 కనిపించదు, ఎందుకంటే అక్కడ ఏదీ listeningలో లేదు. అందువల్ల మీ భద్రత పూర్తిగా firewallపైనే ఆధారపడదు. ss -lntp | grep 9119 తో మళ్లీ నిర్ధారించండి.

Bind address authenticationను కూడా నిర్ణయిస్తుంది. చాలామంది గమనించని విషయం ఇదే. 127.0.0.1 పై dashboardకు login ఉండదు. ఇతర ఏ addressపైనైనా auth gate తప్పనిసరి. Provider configure చేయకపోతే server ప్రారంభం కావడానికి నిరాకరిస్తుంది. ఈ ప్రాజెక్ట్ దీనిని failing closed అని పిలుస్తుంది. మొదటిసారి దీన్ని interactiveగా run చేయండి. అప్పుడు అక్కడికక్కడే username, passwordను setup చేయడానికి ఇది మార్గనిర్దేశం చేస్తుంది. ఫలితం ~/.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

openssl rand -hex 32 తో ఆ secretను generate చేసి, తరువాత దాన్ని మార్చకండి. ఇది session cookieపై సంతకం చేస్తుంది. కాబట్టి దీన్ని మార్చితే ప్రతి device sign out అవుతుంది. అదే fileలో మీ model API keys కూడా ఉంటాయి. అందువల్ల chmod 600 ~/.hermes/.env తో దానికి private permissions ఇవ్వండి.

దాన్ని విశ్వసించే ముందు meshలోని మరో machine నుంచి gateను పరీక్షించండి:

curl -s http://100.101.102.103:9119/api/status | jq '.auth_required, .auth_providers'

true తరువాత ["basic"] కనిపిస్తే gate enabledగా ఉంది. Password provider అభ్యర్థనలకు సమాధానం ఇస్తోంది. ఆ provider గురించి project documentation స్పష్టంగా చెబుతుంది: ఇది trusted network లేదా VPN కోసం ఉద్దేశించబడింది. Public internetకు అందుబాటులో ఉన్న dashboardకు ఇది అనుకూలం కాదు. Meshలో మీరు ఉన్న పరిస్థితి ఇదే.

Tailnetలో HTTPS కోసం portను Tailscaleకు అప్పగించండి:

sudo tailscale serve --bg localhost:9119
sudo tailscale serve status

Tailscale machine MagicDNS name కోసం జారీ చేసిన certificateతో TLSను terminate చేస్తుంది. అందువల్ల browser హెచ్చరికలు చూపదు. Session cookieకు దాని Secure flag కూడా లభిస్తుంది. ముందుగా Tailscale admin consoleలోని DNS pageలో MagicDNS, HTTPS Certificatesను enable చేయండి. అక్కడ acknowledgementను కూడా చదవండి: మీ machine names, tailnet DNS name public certificate transparency ledgerలో ప్రచురించబడతాయి. వాటిని ఎవరైనా చదవగలరు.

ఇక్కడి నిజమైన ఖర్చు coordination server. మీ phone, VPS మధ్య traffic end-to-end encryptedగా ఉంటుంది. అది Tailscale ద్వారా వెళ్లదు. అయితే meshలో ఏ devices భాగమవుతాయో నిర్ణయించే account మీ hardwareపై ఉండదు. ఇది ముఖ్యమైతే స్వయంగా నిర్వహించే Tailscale control server అయిన Headscale ఉపయోగించండి. Clientsను దానికి tailscale up --login-server https://headscale.example.com ఉపయోగించి point చేయండి. Meshను వదిలి peersను manualగా configure చేయాలనుకుంటే, సాధారణ WireGuard మరియు Tailscale మధ్య పోలిక ద్వారా మీరు వదులుకునే అంశాలను తెలుసుకోవచ్చు.

ఎంపిక 2: public HTTPS endpoint మరియు దానిలోని ప్రమాదం

కొన్నిసార్లు mesh అందుబాటులో ఉండదు. Work phoneలో VPN clientను install చేయడానికి అనుమతి లేకపోవచ్చు. అప్పుడు dashboardను reverse proxy వెనుక ఉంచాలి. Dashboardను loopbackపై ఉంచి, certificateను Caddy నిర్వహించేలా చేయండి:

hermes.example.com {
  reverse_proxy 127.0.0.1:9119
}

Caddy స్వయంగా certificateను పొందుతుంది మరియు renew చేస్తుంది. దాని reverse_proxy ఎలాంటి అదనపు directives లేకుండా WebSocket upgradesను pass through చేస్తుంది. Dashboardలోని embedded terminalకు ఇది అవసరం. nginxలో మీరు Upgrade మరియు Connection headersను స్వయంగా జోడించాలి. ఆ పనిలోని TLS భాగం గురించి nginxలో Certbotతో Let's Encrypt certificate జారీ చేయడంలో వివరించబడింది. Login callbacks సరైన hostకు వెళ్లేలా Hermesకు దాని public nameను తెలియజేయండి:

dashboard:
  public_url: "https://hermes.example.com"

ఇప్పుడు ప్రమాదాన్ని పరిశీలిద్దాం. Auth gate, అభ్యర్థన వచ్చిన address ఆధారంగా కాకుండా bind address ఆధారంగా నిర్ణయం తీసుకుంటుంది. 127.0.0.1కు bind చేసిన dashboard proxy వెనుక ఉన్నప్పుడు loopbackను చూస్తుంది. అందువల్ల login అవసరం లేదని నిర్ణయించి, proxy అనుమతించిన ఎవరినైనా సేవలు అందిస్తుంది. మీరు వాస్తవంగా ఏది publicగా ఉంచారో తనిఖీ చేయండి:

curl -s https://hermes.example.com/api/status | jq '.auth_required'

అది falseను చూపిస్తే, మీ serverలోని terminalకు internet నుంచి ఒక URL దూరమే ఉంది. ఇందుకు exploit అవసరం లేదు. Logsలో కూడా ఎలాంటి హెచ్చరిక కనిపించదు. దీనికి రెండు పరిష్కారాలు ఉన్నాయి. వాటిలో కనీసం ఒకదాన్ని అమలు చేయాలి. మొదటిది, proxyలో authenticationను ఉంచడం. దీనికోసం self-hosted single sign-on providerగా Authentikను forward auth ద్వారా ముందుగా ఉంచవచ్చు. రెండవది, dashboard స్వంత OIDC (OpenID Connect) providerను configure చేయడం:

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"

సరిగ్గా configure చేసినా ఈ ఎంపికకు తగ్గించలేని కనిష్ఠ ప్రమాద స్థాయి ఉంటుంది. Public login pageను ఎవరైనా చేరుకుని attack చేయవచ్చు. దాని వెనుక మీ VPSలో ఒక shell ఉంటుంది. దీనికి username మరియు password మాత్రమే పరిమిత రక్షణ ఇస్తాయి. అందుకే public binds కోసం OAuth లేదా OIDCను docs సిఫారసు చేస్తాయి. Loginకు rate limit అమలు చేయండి. proxy ports మరియు SSH తప్ప మిగతా అన్నింటికీ ufwను మూసివేయండి. Access logను అప్పుడప్పుడు పరిశీలించండి.

మొబైల్ టెర్మినల్ నుంచి SSH మరియు mosh

అతి తక్కువ ప్రయత్నంతో చేయగల మార్గం ఇది: ఫోన్‌లో ఒక terminal app ఇన్‌స్టాల్ చేసి, అందులో SSH key లోడ్ చేసి, agent యొక్క స్వంత text interface ను ఉపయోగించండి.

ssh you@vps.example.com
tmux new -A -s phone
hermes --tui

tmux new -A -s phone, phone అనే session కు కనెక్ట్ అవుతుంది. ఆ session లేకపోతే దాన్ని సృష్టిస్తుంది. అందువల్ల connection తెగిపోయినా agent నడుస్తూనే ఉంటుంది. తదుపరిసారి తిరిగి కనెక్ట్ చేసినప్పుడు అదే స్థలానికి చేరుకుంటారు. ఇదే విధానాన్ని ఫోన్ నుంచి Claude Code ను నిర్వహించడానికి ఉపయోగిస్తారు.

మొబైల్ నెట్‌వర్క్‌పై plain SSH ఉపయోగించడం అసౌకర్యంగా ఉంటుంది. ఫోన్ address మార్చినప్పుడు లేదా sleep లోకి వెళ్లినప్పుడు connection తెగిపోతుంది. mosh ఈ సమస్యను పరిష్కరిస్తుంది. ఇది UDP (user datagram protocol) పై నడుస్తుంది. byte stream కు బదులుగా terminal state ను సమకాలీకరిస్తుంది. అందువల్ల wifi నుంచి cellular కు మారుతూ నడిచినా session కొనసాగుతుంది:

sudo apt install -y mosh
sudo ufw allow 60000:61000/udp

ఫోన్ నుంచి mosh you@vps.example.com అమలు చేయండి. మీ ప్రస్తుత SSH login పై mosh mosh-server ను ప్రారంభిస్తుంది. తరువాత session ను 60000 నుంచి 61000 పరిధిలోని UDP కు తరలిస్తుంది. అందుకే ఆ పరిధి open గా ఉండాలి.

దీని security cost సూటిగా అర్థం చేసుకోవచ్చు. SSH session ఒక shell. ఆ shell ద్వారా ఆ account చేయగలిగిన ప్రతిదీ చేయవచ్చు. అందువల్ల దొంగిలించబడిన, unlock చేసిన ఫోన్ మరియు మీ files మధ్య చివరి రక్షణ agent యొక్క approval prompts మాత్రమే. దీనికోసం ప్రత్యేక non-root account ఉపయోగించండి. key-only authentication అమలు చేయండి. మీరు వెంట తీసుకెళ్లే device లో key పెట్టే ముందు VPS పై SSH ను harden చేయడం పూర్తి చేయండి.

మొబైల్ నెట్‌వర్క్‌లో ఏమి పనిచేయదు

నాలుగు విషయాలు పనిచేయవు. వీటిలో దేనినీ configuration మార్చడం ద్వారా సరిచేయలేరు.

మీరు చూడకుండా ఉన్నప్పుడు dashboard మిమ్మల్ని logout చేస్తుంది. Access tokenలకు 15 నిమిషాల TTL (time to live) ఉంటుంది. ప్రస్తుత API contractలో refresh token లేదు. Token గడువు ముగిసినప్పుడు page 401 responseను గుర్తించి, తిరిగి /loginకి వెళ్తుంది. Dashboardను తెరిచి, phoneను ఇరవై నిమిషాలు pocketలో పెట్టి, తిరిగి చూసేసరికి మీరు login screenలో ఉంటారు. అప్పటివరకు టైప్ చేసినది మొత్తం పోతుంది. ఏదీ విరిగిపోలేదు. మళ్లీ sign in చేయండి.

Embedded terminal background tabలో కొనసాగదు. Server PTY వెనుక TUI (text user interface)ను ప్రారంభిస్తుంది. Tab మూసినప్పుడు దాన్ని సక్రమంగా ముగిస్తుంది. మళ్లీ తెరిస్తే కొత్త sessionను ప్రారంభిస్తుంది. Memoryను తిరిగి పొందడానికి mobile browsers background tabsను తొలగిస్తాయి. అందువల్ల మీరు మరొక appకు మారి ఎక్కువసేపు ఉంటే ఆ terminal ముగుస్తుంది. మీ chat history సురక్షితంగానే ఉంటుంది, ఎందుకంటే sessions serverలో నిల్వ ఉంటాయి మరియు hermes sessions list ఇప్పటికీ వాటిని చూపిస్తుంది. అయితే terminalకు మళ్లీ attach కాలేరు. కొనసాగిపోయే session అవసరమైతే SSHపై tmux ఉపయోగించండి.

Idle connections నిశ్శబ్దంగా ముగుస్తాయి. NAT (network address translation) tableలోని entriesను ఖాళీ చేయడానికి mobile carriers idle TCP connectionsను తొలగిస్తాయి. Screen ఆఫ్‌లో ఉన్నప్పుడు phone networkను దాదాపు పూర్తిగా సేవ చేయడం ఆపేస్తుంది. కొంతసేపు ఎలాంటి data పంపని WebSocket, మీరు phoneను unlock చేసే సమయానికి సాధారణంగా ఇప్పటికే dead అయి ఉంటుంది. మీరు దానిపై touch చేసిన తర్వాతే page మళ్లీ connect అవుతుంది. అందుకే phoneలో SSH కంటే mosh మెరుగ్గా అనిపిస్తుంది: కోల్పోవడానికి దానికి connection ఎప్పుడూ ఉండదు.

ఏ notification కూడా push కాదు. Dashboard లేదా SSH session మీ phoneను మేల్కొలపలేవు. Deviceలో Hermes app లేదు. అందువల్ల platform push serviceకు వెళ్లే మార్గం లేదు. Agent run పూర్తయిన తర్వాత, మీరు తదుపరి సారి చూసినప్పుడే విషయం తెలుస్తుంది.

సందేశ గేట్‌వే ద్వారా notifications అందుతాయి

చివరి సమస్యకు పరిష్కారం gateway. ఇది agent ను చేరుకోవడానికి పూర్తిగా భిన్నమైన మార్గం. hermes gateway, agent ను Telegram, Discord, Slack, WhatsApp, Signal మరియు email వంటి messaging platforms కు connect చేస్తుంది. మీ phone లో ఇప్పటికే push channel కలిగిన, background delivery ను నిర్వహించే, network disconnect అయినా దాన్ని తట్టుకునే app లోనే మీరు agent తో మాట్లాడవచ్చు.

hermes gateway setup
hermes gateway install
hermes gateway status

hermes gateway install gateway ను systemd service గా register చేస్తుంది. అందువల్ల reboot తర్వాత అది మళ్లీ ప్రారంభమవుతుంది. Hermes installer మీ కోసం service units సృష్టించదు. కాబట్టి restart తర్వాత hermes dashboard స్వయంగా తిరిగి ప్రారంభం కాదు. మీరు ఆధారపడే ప్రతి భాగం కోసం ఒక unit రాయండి. ఆ file గురించి VPS పై systemd services మరియు timers రాయడం లో వివరించారు.

Scheduled job కూడా conversation లేకుండా ఇదే విధంగా ఒక ఫలితాన్ని పంపగలదు:

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

ఇక్కడ authorisation default గా deny విధానంలో ఉంటుంది. allowlist సెట్ చేయకపోతే మరియు GATEWAY_ALLOW_ALL_USERS unset గా ఉంటే, ప్రతి user నిరాకరించబడతారు. ప్రారంభానికి ఇదే సరైన విధానం. అనుమతించాల్సిన accounts పేర్లను ~/.hermes/.env లో పేర్కొనండి:

TELEGRAM_ALLOWED_USERS=123456789
GATEWAY_ALLOWED_USERS=123456789

లేదా numeric IDs paste చేయడానికి బదులుగా code-based pairing ను ప్రారంభించండి. ఇందుకోసం unauthorized_dm_behavior: pair ను ~/.hermes/config.yaml లో set చేయండి. Agent కు message పంపే గుర్తుతెలియని account కు ఎనిమిది అక్షరాల code అందుతుంది. మీరు దాన్ని approve చేసే వరకు మరేమీ జరగదు:

hermes pairing list
hermes pairing approve telegram ABC12DEF
hermes pairing revoke telegram 123456789

Codes ఒక గంట తర్వాత expire అవుతాయి. ప్రతి user పది నిమిషాలకు ఒక code ను request చేయవచ్చు. ఐదు విఫల ప్రయత్నాల తర్వాత ఆ account lock అవుతుంది.

దొంగిలించబడిన ఫోన్ వల్ల నష్టం విస్తరించకుండా పరిమితం చేయడం

మీ agent‌ను చేరుకోగల ఫోన్ మీ server‌పై commands అమలు చేయగలదు. ఫోన్లు పోతాయి. దాన్ని పట్టుకున్న వ్యక్తి ఏ పనులు చేయగలడో ఇప్పుడే నిర్ణయించండి.

Approvals ను ఆన్‌లో ఉంచండి. approvals.mode కు default విలువ smart. ఇది risk‌ను అంచనా వేసి, low risk commands‌కు మాత్రమే స్వయంచాలకంగా approval ఇచ్చే auxiliary model‌ను ఉపయోగిస్తుంది. దీన్ని off కు మార్చడం అంటే అన్నింటినీ --yolo తో run చేయడం వంటిదే. HERMES_YOLO_MODE=1 ద్వారా అదే పని environment ఉపయోగించి చేయవచ్చు. ఆ స్థితిలో agent‌తో మాట్లాడే ఫోన్‌ను వెంట తీసుకెళ్లవద్దు. మీరు నిద్రిస్తున్నప్పుడు scheduled jobs తమకు తామే approval ఇవ్వకుండా approvals.cron_mode: deny సెట్ చేయండి.

approvals:
  mode: smart
  cron_mode: deny

Agent వల్ల దెబ్బతినగల పరిధిని తగ్గించండి. terminal.backend: docker commands‌ను container‌లో run చేస్తుంది. ఆ container‌లో కొద్దిపాటి జాబితా మినహా అన్ని Linux capabilities తొలగించబడతాయి, no-new-privileges సెట్ చేయబడుతుంది, process count‌కు పరిమితి విధించబడుతుంది. అందువల్ల prompt కాకుండా container boundaryగా పనిచేస్తుంది. terminal.cwd working directoryని స్థిరపరుస్తుంది. HERMES_WRITE_SAFE_ROOT మరియు write_file ను మీరు పేర్కొన్న directories‌కే పరిమితం చేస్తుంది. ఆ directories వెలుపల write ప్రయత్నం approvalతో కూడా override చేయలేని విధంగా block అవుతుంది. patch

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

Hermes ఇప్పటికే ~/.ssh, ~/.aws, ~/.kube మరియు /etc/sudoers కు writes‌ను block చేస్తుంది. Disk‌పై ఎక్కడైనా .env files రాయడాన్ని నిరాకరిస్తుంది. మీ approval settings ఏవైనా destructive commands యొక్క కఠిన జాబితాను reject చేస్తుంది. దీన్ని కనీస రక్షణగా మాత్రమే పరిగణించండి. దీన్ని మీ పూర్తి ప్రణాళికగా భావించవద్దు. Agent‌ను సాధారణ user‌గా run చేయండి. ఎప్పుడూ root‌గా run చేయవద్దు. unattendedగా నడిచే ఏ coding agent‌కైనా ఇదే తర్కం వర్తిస్తుంది. VPSపై Claude Code‌ను సురక్షితంగా run చేయడం దీన్ని మరింత వివరంగా వివరిస్తుంది.

తర్వాత అవసరం పడకముందే revocation steps‌ను రాసి ఉంచండి. Tailscale admin consoleలో device‌ను remove చేస్తే mesh access వెంటనే నిలిచిపోతుంది. HERMES_DASHBOARD_BASIC_AUTH_SECRET ను మార్చి restart చేస్తే ప్రతి deviceలోని అన్ని dashboard sessions invalid అవుతాయి. ఎందుకంటే ఆ విలువ session cookieపై signature వేస్తుంది. ఫోన్ public key‌ను ~/.ssh/authorized_keys నుంచి delete చేస్తే SSH ముగుస్తుంది. hermes pairing revoke telegram <user-id> messaging account‌ను remove చేస్తుంది. Provider keys‌ను చదవగల ఏదైనా ఫోన్‌లో ఉంటే, వాటిని hermes auth logout <provider> తో revoke చేసి upstreamలో కొత్త keys జారీ చేయండి.

ఫలితాన్ని ఊహించకుండా పరిశీలించండి. ఇవి మీ స్వంత boxలో run చేయాల్సిన commands. అవి print చేసేది మీ setupపై ఆధారపడి ఉంటుంది:

tailscale status
hermes pairing list
hermes logs gateway -n 100
hermes status --deep

Logs ~/.hermes/logs/ కింద ఉంటాయి. Incident జరిగిన తర్వాత వాటిని చదవండి. Incident జరగని సమయాల్లో కూడా అప్పుడప్పుడు చదవండి.

FAQ

iOS లేదా Android కోసం అధికారిక Hermes మొబైల్ యాప్ ఉందా?

లేదు. Hermes repositoryలో command line interface, web dashboard, అలాగే macOS, Windows మరియు Linux కోసం Electron desktop client ఉన్నాయి. first-party iOS లేదా Android build లేదు. ఫోన్ నుంచి browserలో web dashboardను, SSH clientను లేదా hermes gateway ద్వారా అనుసంధానించిన messaging platformను ఉపయోగించాలి. Third-party mobile clients అందుబాటులో ఉన్నాయి. అయితే అవి మీ agentకు సంబంధించిన credentialsను కలిగి ఉండే third-party code. కాబట్టి వాటిని install చేయడానికి ముందు source codeను చదవండి.

నా ఫోన్‌లో Hermes dashboard నన్ను ఎందుకు logout చేస్తుంది?

Access tokensకు 15 minute TTL ఉంటుంది. ప్రస్తుత API contractలో refresh token లేదు. Token expire అయినప్పుడు pageకి 401 అందుతుంది. అప్పుడు అది /loginకు navigate అవుతుంది. ఫోన్‌లో browserను backgroundలో ఉంచితే ఇది స్పష్టంగా కనిపిస్తుంది. మరో appలో ఇరవై నిమిషాలు గడపడం దీనికి సరిపోతుంది. Session signing key restartల మధ్య మారకుండా HERMES_DASHBOARD_BASIC_AUTH_SECRETను స్థిరమైన random valueకు set చేయండి. దీనివల్ల logout కావడానికి ఉన్న రెండవ కారణం తొలగిపోతుంది.

Hermes dashboardను public internetలో సురక్షితంగా ఉంచవచ్చా?

మీరు స్వయంగా authenticationను ధృవీకరించినప్పుడు మాత్రమే ఉంచాలి. Bind address ఆధారంగా auth gate activate అవుతుంది. అందువల్ల 127.0.0.1కు bind చేసి reverse proxy వెనుక ఉంచిన dashboard internet నుంచి login అడగదు. curl -s https://your-host/api/status | jq '.auth_required'ను run చేసి, తిరిగి వచ్చే outputను చదవండి. Username మరియు passwordకు బదులుగా OAuth లేదా OIDCను ఉపయోగించండి. ఎందుకంటే password provider trusted networks మరియు VPNల కోసం మాత్రమే అని project docs చెబుతున్నాయి. Private mesh ఉపయోగిస్తే ఈ ప్రశ్నే ఉండదు. అందుకే అది మెరుగైన default.

నాకు Tailscale account అవసరమా, లేదా control planeను self-host చేయవచ్చా?

మీరు దాన్ని self-host చేయవచ్చు. Headscale అనేది Tailscale coordination serverకు open implementation. Official Tailscale clients tailscale up --login-server https://headscale.example.comతో దానికి connect అవుతాయి. Meshలోకి అనుమతించే devices జాబితాపై మీరు నియంత్రణ కలిగి ఉంటారు. అయితే ఇప్పుడు ఆ serverను run చేసి backup చేయాల్సి ఉంటుంది. అది downగా ఉన్నప్పుడు deviceను enrol చేయలేరు లేదా re-authenticate చేయలేరు.

Agent job పూర్తి చేసినప్పుడు నా ఫోన్‌లో notification ఎలా పొందాలి?

Messaging gatewayను ఉపయోగించండి. Dashboard మరియు SSH ద్వారా ఫోన్‌ను wake చేయలేరు. ఎందుకంటే pushను స్వీకరించడానికి deviceలో Hermes app లేదు. hermes gateway setupతో agentను Telegram, Signal, Discord లేదా మరొక supported platformకు connect చేయండి. తరువాత ఆ platform యొక్క స్వంత app notificationను deliver చేస్తుంది. hermes send -t telegram -s "Job done" -f /path/to/report.txtతో cron job ఒక single messageను push చేయగలదు. ఇది modelను call చేయకుండానే deliver అవుతుంది.