SSD Nodes Learn Hosting plans →

மொபைலில் Hermes agent-ஐ அணுகுவது எப்படி?

உங்கள் VPS-ல் உள்ள Hermes agent-ஐ மொபைல் மூலம் அணுக Tailscale mesh, reverse proxy அல்லது SSH முறைகளை பயன்படுத்தலாம். தொலைபேசி தொலைந்தால் அணுகலை ரத்து செய்வது எப்படி என அறியுங்கள்.

உங்கள் தொலைபேசியிலிருந்து Hermes agent-ஐ அணுக மூன்று வழிகள்

உங்கள் தொலைபேசியிலிருந்து Hermes agent-ஐ அணுக அதன் web dashboard-ஐப் பயன்படுத்த வேண்டும். அந்த dashboard-க்கு முன்னால் எதை வைப்பது என்பதே முக்கியமான முடிவு. முதல் வழி ஒரு private mesh network ஆகும்; இதில் dashboard ஒரு Tailscale முகவரியில் மட்டுமே இயங்கும், எந்த port-ம் இணையத்தில் திறந்திருக்காது. இரண்டாவது வழி, TLS (transport layer security) மற்றும் login வசதியுடன் கூடிய reverse proxy-க்கு பின்னால் உள்ள ஒரு public endpoint ஆகும்; இதில் அந்த login மட்டுமே உங்கள் server-ன் terminal-ஐப் பாதுகாக்கும். மூன்றாவது வழி, ஒரு terminal app மூலம் SSH (secure shell) பயன்படுத்துவது; இதற்கு மிகக் குறைந்த அமைப்புகளே தேவைப்படும், ஆனால் இது அதிகப்படியான அணுகலை வழங்கும்.

இந்த வழிகாட்டி உங்கள் சொந்த VPS-ல் Hermes agent-ஐ இயக்குதல் முடிவடையும் இடத்திலிருந்து தொடங்குகிறது. Agent நிறுவப்பட்டு, command line-ல் பதிலளிக்கிறது; இப்போது அதை உங்கள் கைபேசியில் பயன்படுத்த விரும்புகிறீர்கள்.

கீழே உள்ள கட்டளைகள் v2026.8.3 tag-ஐ அடிப்படையாகக் கொண்டு எழுதப்பட்டுள்ளன. இவை 3 ஆகஸ்ட் 2026 அன்று வெளியிடப்பட்டு, release notes-ல் v0.20.0 எனப் பெயரிடப்பட்டுள்ளன. Hermes அடிக்கடி புதிய பதிப்புகளை வெளியிடுவதால், main-ஐப் பின்பற்றுவதற்குப் பதிலாக, ஒரு குறிப்பிட்ட tag-ல் உங்கள் machine-ஐப் பூட்டி (pin) வைக்கவும். Installer ஒரு commit-ஐ ஏற்கும்:

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

hermes --version தற்போது என்ன நிறுவப்பட்டுள்ளது என்பதைக் காட்டும். இந்தப் பக்கத்தில் உள்ள எந்தவொரு flag-ஐயும் நம்புவதற்கு முன், அதை tag-உடன் ஒப்பிட்டுப் பார்க்கவும்.

இந்த repository எதை வழங்குகிறது, எதை வழங்கவில்லை

Hermes repository-ல் iOS அல்லது Android செயலிகள் இல்லை. இதன் native client hermes desktop (alias hermes gui) ஆகும்; இது macOS, Windows மற்றும் Linux-க்கான ஒரு Electron செயலியாகும். இது local 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 ஆனது hermes --tui-ஐ ஒரு PTY (pseudo-terminal) பின்னணியில் உருவாக்கி, அதன் வெளியீட்டைப் பக்கத்திற்கு stream செய்கிறது. சிறிய திரைகளில் 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-களிலிருந்தும் அணுகக்கூடியது. இந்த ஒரே வரிதான் உங்கள் server எவ்வளவு வெளிப்படையாக உள்ளது என்பதைத் தீர்மானிக்கிறது, எனவே அதை ஊகிப்பதற்குப் பதிலாக நேரடியாகச் சரிபார்க்கவும்.

விருப்பம் 1: Tailscale மூலம் ஒரு private mesh

உங்களுக்கு வேறு வலுவான காரணம் இல்லையென்றால், இதையே தேர்ந்தெடுக்கவும். Tailscale என்பது WireGuard-ஐ அடிப்படையாகக் கொண்ட ஒரு mesh VPN (virtual private network) ஆகும். நீங்கள் சேர்க்கும் ஒவ்வொரு சாதனமும் ஒரு நிலையான முகவரியைப் பெற்று, மற்றவற்றுடன் நேரடியாகத் தொடர்புகொள்ளும். உங்கள் அலைபேசியும் அதே mesh-ல் இணைவதால், dashboard-க்கு பொதுவான port எதையும் திறக்க வேண்டிய அவசியமே இல்லை.

Server-ல்:

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

அலைபேசியில் Tailscale செயலியை நிறுவி, அதே கணக்கின் மூலம் உள்நுழையவும். Server-ல் tailscale status கட்டளையிட்டால், அலைபேசியின் பெயர் பட்டியலிடப்படும். இப்போது tailscale ip -4 காட்டிய முகவரியுடன் dashboard-ஐ இணைக்கவும்:

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

0.0.0.0-க்கு பதிலாக mesh முகவரியுடன் இணைப்பது, அந்த listening socket Tailscale interface-ல் மட்டுமே இருக்கும் என்பதைக் குறிக்கிறது. உங்கள் public IP முகவரியை port scan செய்தால் 9119-ல் எதுவும் இருக்காது, ஏனெனில் அங்கு எதையும் கேட்கும் (listen) சேவை இல்லை. எனவே, உங்கள் firewall-ஐ மட்டும் நம்பியிருக்க வேண்டிய அவசியமில்லை. இதை மீண்டும் ss -lntp | grep 9119 மூலம் உறுதிப்படுத்தவும்.

இந்த bind முகவரிதான் அங்கீகாரத்தையும் (authentication) தீர்மானிக்கிறது; இதைத்தான் பலர் கவனிக்கத் தவறுவார்கள். 127.0.0.1-ல் dashboard-க்கு login கிடையாது. வேறு எந்த முகவரியிலும் auth gate கட்டாயமானது, மேலும் எந்த provider-ம் அமைக்கப்படவில்லை என்றால் server தொடங்க மறுத்துவிடும். இதை project "failing closed" என்று அழைக்கிறது. முதல்முறை இயக்கும்போது, அதை interactive முறையில் இயக்கினால், அங்கேயே ஒரு username மற்றும் password-ஐ உருவாக்க அது வழிவகுக்கும்; அது ~/.hermes/config.yaml-ல் உள்ள dashboard.basic_auth-ல் சேமிக்கப்படும். இதற்குப் பதிலாக ~/.hermes/.env மூலமாகவும் அதே provider-ஐ அமைக்கலாம், இதுவே project-ன் உதாரணத்தில் காட்டப்பட்டுள்ளது:

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 மூலம் உருவாக்கவும், அதன் பிறகு அதை மாற்ற வேண்டாம். இது session cookie-ஐ கையொப்பமிடுகிறது, எனவே அதை மாற்றினால் அனைத்து சாதனங்களும் வெளியேற்றப்படும் (sign out). அதே கோப்பில் உங்கள் model API keys-ம் இருப்பதால், chmod 600 ~/.hermes/.env மூலம் அதைத் தனிப்பட்டதாக வைத்திருக்கவும்.

நீங்கள் நம்பும் முன், mesh-ல் உள்ள மற்றொரு கணினியிலிருந்து gate-ஐச் சரிபார்க்கவும்:

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

true-க்கு பின் ["basic"] வருவது, gate செயல்படுவதையும் password provider பதிலளிப்பதையும் குறிக்கிறது. இந்த provider-ஐப் பற்றி project-ன் ஆவணங்கள் தெளிவாகக் கூறுகின்றன: இது நம்பகமான நெட்வொர்க் அல்லது VPN-க்கு மட்டுமே உரியது, பொது இணையத்தில் இருக்கும் dashboard-க்கு இது ஏற்றதல்ல. ஒரு mesh-ல், நீங்கள் சரியாக அந்தச் சூழலில் தான் இருக்கிறீர்கள்.

Tailnet-க்குள் HTTPS-க்கு, அந்த port-ஐ Tailscale-க்கு வழங்கவும்:

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

Tailscale அந்த இயந்திரத்தின் MagicDNS பெயருக்காக வழங்கப்பட்ட certificate மூலம் TLS-ஐ முடித்துவைக்கும் (terminate). இதனால் browser எச்சரிக்கை காட்டாது மற்றும் session cookie அதன் Secure flag-ஐப் பெறும். முதலில் Tailscale admin console-ன் DNS பக்கத்தில் MagicDNS மற்றும் HTTPS Certificates-ஐ இயக்கவும். அங்குள்ள அறிவிப்பை கவனமாகப் படிக்கவும்: உங்கள் இயந்திரப் பெயர்கள் மற்றும் tailnet DNS பெயர் ஆகியவை பொதுவான certificate transparency ledger-ல் வெளியிடப்படும், அதை யார் வேண்டுமானாலும் பார்க்கலாம்.

இதற்கான உண்மையான விலை coordination server ஆகும். உங்கள் அலைபேசிக்கும் VPS-க்கும் இடையிலான traffic end-to-end குறியாக்கம் செய்யப்படுகிறது மற்றும் அது Tailscale வழியாகச் செல்வதில்லை, ஆனால் எந்தெந்த சாதனங்கள் mesh-ல் இருக்க வேண்டும் என்பதைத் தீர்மானிக்கும் கணக்கு உங்கள் வசம் இல்லை. அது உங்களுக்குப் பிரச்சினையென்றால், Headscale, the self-hosted Tailscale control server மூலம் control plane-ஐ நீங்களே இயக்கலாம், மேலும் tailscale up --login-server https://headscale.example.com மூலம் clients-ஐ அதனுடன் இணைக்கலாம். mesh-ஐத் தவிர்த்துவிட்டு, peers-ஐ நீங்களே கைமுறையாக அமைக்க விரும்பினால், the comparison between plain WireGuard and Tailscale மூலம் நீங்கள் எதை இழக்கிறீர்கள் என்பதைப் புரிந்துகொள்ளலாம்.

விருப்பம் 2: பொது HTTPS endpoint மற்றும் அதில் உள்ள ஆபத்து

சில நேரங்களில் mesh வசதி கிடைக்காது. அலுவலகத் தொலைபேசிகளில் VPN client-ஐ நிறுவ அனுமதிக்கப்படாமல் இருக்கலாம். அப்போது dashboard-ஐ ஒரு reverse proxy-க்கு பின்னால் வைக்க வேண்டும். Dashboard-ஐ loopback-ல் வைத்து, Caddy மூலம் certificate-ஐ நிர்வகிக்கவும்:

hermes.example.com {
  reverse_proxy 127.0.0.1:9119
}

Caddy தானாகவே certificate-ஐப் பெற்று புதுப்பித்துக்கொள்ளும். அதன் reverse_proxy, கூடுதல் கட்டளைகள் ஏதுமின்றி WebSocket upgrades-ஐ அனுமதிக்கும்; இது dashboard-ன் embedded terminal-க்குத் தேவைப்படும். Nginx-ல் நீங்கள் Upgrade மற்றும் Connection headers-ஐ நீங்களே சேர்க்க வேண்டும். nginx-ல் Certbot மூலம் Let's Encrypt certificate பெறுதல் என்ற கட்டுரை, TLS தொடர்பான பணிகளை விளக்குகிறது. Login callbacks சரியான host-க்குச் செல்ல, Hermes-க்கு அதன் பொதுப் பெயரைத் தெரிவிக்கவும்:

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

இப்போது ஆபத்து. Auth gate என்பது கோரிக்கை வந்த முகவரியை வைத்துச் செயல்படாமல், bind address-ஐ வைத்துச் செயல்படுகிறது. Proxy-க்கு பின்னால் 127.0.0.1-ல் இயங்கும் dashboard, loopback-ஐ மட்டுமே பார்க்கும். இதனால் login தேவையில்லை என்று கருதி, proxy அனுமதிக்கும் எவருக்கும் அது சேவையை வழங்கும். நீங்கள் எதை public-ஆக வெளியிட்டுள்ளீர்கள் என்பதைச் சரிபார்க்கவும்:

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

இது false என்று காட்டினால், உங்கள் server-ல் உள்ள terminal-ஐ இணையத்தில் எவரும் ஒரு URL மூலம் அணுக முடியும். இதில் எந்த exploit-ம் இல்லை, logs-லும் எந்தப் புகாரும் வராது. இதற்கு இரண்டு தீர்வுகள் உள்ளன, அவற்றில் ஒன்றையாவது நீங்கள் செய்ய வேண்டும். Proxy-லேயே authentication-ஐச் சேர்க்கவும்; இதற்கு forward auth மூலம் Authentik-ஐ self-hosted single sign-on provider-ஆகப் பயன்படுத்துதல் என்ற முறையைப் பின்பற்றலாம். அல்லது 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"

சரியாகச் செய்தாலும், இந்த முறையில் ஒரு பாதுகாப்பு எல்லை உள்ளது. பொதுவான login பக்கம் என்பது எவரும் அணுகித் தாக்கக்கூடிய ஒன்று; அதற்குப் பின்னால் உங்கள் VPS-ன் shell உள்ளது. வெறும் username மற்றும் password மட்டுமே போதுமான பாதுகாப்பு அல்ல, அதனால்தான் public binds-க்கு OAuth அல்லது OIDC-ஐப் பயன்படுத்த ஆவணங்கள் பரிந்துரைக்கின்றன. Login முயற்சிகளை rate limit செய்யவும், proxy ports மற்றும் SSH தவிர மற்ற அனைத்தையும் ufw மூலம் மூடவும், அவ்வப்போது access log-ஐச் சரிபார்க்கவும்.

விருப்பம் 3: மொபைல் டெர்மினலில் இருந்து SSH மற்றும் mosh பயன்படுத்துதல்

குறைந்த முயற்சியில் செய்யக்கூடிய வழி: உங்கள் தொலைபேசியில் ஒரு டெர்மினல் செயலியை நிறுவி, அதில் ஒரு SSH key-ஐ ஏற்றி, அந்த ஏஜெண்டின் சொந்த உரை இடைமுகத்தைப் (text interface) பயன்படுத்துவதாகும்.

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

tmux new -A -s phone என்பது phone என்று பெயரிடப்பட்ட அமர்வுடன் இணைகிறது, அல்லது அது இல்லையெனில் புதிய ஒன்றை உருவாக்குகிறது. இதனால் இணைப்பு துண்டிக்கப்பட்டாலும் ஏஜெண்ட் தொடர்ந்து இயங்கும், நீங்கள் மீண்டும் இணையும்போது அதே இடத்திலிருந்து தொடரலாம். இந்த முறை தொலைபேசியிலிருந்து Claude Code-ஐ இயக்குதல் என்பதற்குப் பயன்படுத்தப்படும் அதே முறையைப் போன்றது.

மொபைல் நெட்வொர்க்கில் சாதாரண SSH-ஐப் பயன்படுத்துவது சிரமமானது, ஏனெனில் தொலைபேசியின் IP முகவரி மாறும்போது அல்லது அது sleep mode-க்குச் செல்லும்போது இணைப்பு துண்டிக்கப்படும். Mosh இந்தச் சிக்கலைச் சரிசெய்கிறது. இது UDP (user datagram protocol) மூலம் இயங்குகிறது மற்றும் byte stream-க்கு பதிலாக டெர்மினல் நிலையை (terminal state) ஒத்திசைக்கிறது. எனவே, நீங்கள் வைஃபை (wifi) இணைப்பிலிருந்து செல்லுலார் தரவுக்கு மாறினாலும் அமர்வு அப்படியே இருக்கும்:

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

தொலைபேசியிலிருந்து, mosh you@vps.example.com என்பதை இயக்கவும். Mosh உங்கள் தற்போதைய SSH லாகின் மூலம் mosh-server-ஐத் தொடங்கி, அமர்வை 60000 முதல் 61000 வரையிலான UDP போர்ட்களுக்கு மாற்றும். இதனால்தான் அந்த போர்ட் வரம்பைத் திறந்து வைத்திருக்க வேண்டும்.

இதன் பாதுகாப்புச் சிக்கல் வெளிப்படையானது. ஒரு SSH அமர்வு என்பது ஒரு shell ஆகும், அந்த கணக்கின் மூலம் என்னவெல்லாம் செய்ய முடியுமோ அவை அனைத்தையும் shell-ஆல் செய்ய முடியும். எனவே, உங்கள் தொலைபேசி திருடப்பட்டால், ஏஜெண்டின் அனுமதி கோரும் திரைகள் (approval prompts) மட்டுமே உங்கள் கோப்புகளைப் பாதுகாக்கும் கடைசி அரணாக இருக்கும். இதற்கு root அல்லாத பிரத்யேகக் கணக்கைப் பயன்படுத்தவும், key-ஐ மட்டும் பயன்படுத்தவும், மேலும் உங்கள் சாதனத்தில் key-ஐ வைப்பதற்கு முன் VPS-ல் SSH-ஐப் பாதுகாத்தல் என்ற வழிகாட்டியைப் பின்பற்றி பாதுகாப்பு நடவடிக்கைகளை மேற்கொள்ளவும்.

மொபைல் நெட்வொர்க்கில் என்னென்ன சிக்கல்கள் ஏற்படும்

நான்கு விஷயங்கள் உள்ளன, இவற்றில் எதையும் நீங்கள் configuration மூலம் சரிசெய்ய முடியாது.

நீங்கள் கவனிக்காதபோது dashboard உங்களை logout செய்துவிடும். இது login provider-ஐப் பொறுத்தது. பயனர் பெயர் மற்றும் கடவுச்சொல் வழங்கும் தளம், இயல்பாக 12 மணிநேரம் நீடிக்கும் session-களை வழங்குகிறது, இது dashboard.basic_auth-ன் கீழ் session_ttl_seconds மூலம் அமைக்கப்படுகிறது. Nous Portal OAuth provider 15 நிமிட TTL (time to live) கொண்ட access token-களை வழங்குகிறது, மேலும் அதன் தற்போதைய API ஒப்பந்தத்தில் refresh token வசதி இல்லை. ஒரு token காலாவதியாகும் போது, பக்கம் 401 response-ஐப் பெற்று, மீண்டும் /login-க்குச் செல்லும். 15 நிமிட token இருக்கும்போது, dashboard-ஐத் திறந்துவிட்டு, போனை 20 நிமிடங்கள் பாக்கெட்டில் வைத்துவிட்டுத் திரும்பினால், நீங்கள் தட்டச்சு செய்துகொண்டிருந்தவை மறைந்து, login திரை தோன்றும். இதில் எந்தப் பிழையும் இல்லை. மீண்டும் உள்நுழையவும்.

Embedded terminal பின்னணி tab-ல் இயங்காது. Server ஒரு PTY-க்கு பின்னால் TUI (text user interface)-ஐ உருவாக்குகிறது, tab மூடப்படும்போது அதைச் சரியாக முடித்துவிடும், மீண்டும் திறக்கும்போது புதியதாகத் தொடங்கும். மொபைல் உலாவிகள் நினைவகத்தை மீட்டெடுக்க பின்னணி tab-களை நீக்கிவிடும், எனவே நீண்ட நேரம் வேறொரு app-க்கு மாறினால் அந்த terminal முடிந்துவிடும். உங்கள் chat வரலாறு பாதுகாப்பானது, ஏனெனில் session-கள் server-ல் சேமிக்கப்படுகின்றன மற்றும் hermes sessions list அவற்றை இன்னும் காட்டும். Terminal-ஐ மீண்டும் இணைக்க முடியாது. உங்களுக்குத் தொடர்ச்சியான session தேவைப்பட்டால், SSH வழியாக tmux-ஐப் பயன்படுத்தவும்.

செயலற்ற இணைப்புகள் (Idle connections) தானாகவே துண்டிக்கப்படும். மொபைல் நிறுவனங்கள் NAT (network address translation) அட்டவணை உள்ளீடுகளை மீட்டெடுக்க செயலற்ற TCP இணைப்புகளைத் துண்டித்துவிடும், மேலும் திரை அணைக்கப்பட்டவுடன் போன் நெட்வொர்க் சேவைகளை நிறுத்திவிடும். சிறிது நேரம் அமைதியாக இருந்த WebSocket, நீங்கள் போனைத் திறக்கும்போது ஏற்கனவே துண்டிக்கப்பட்டிருக்கும், நீங்கள் தொட்ட பிறகுதான் பக்கம் மீண்டும் இணையும். இதனால்தான் SSH-ஐ விட mosh போனில் சிறப்பாகச் செயல்படுகிறது: அதில் இழப்பதற்கு என்று எந்த இணைப்பும் இல்லை.

எந்த அறிவிப்பும் (notification) வராது. Dashboard அல்லது SSH session உங்கள் போனை எழுப்ப முடியாது. சாதனத்தில் Hermes app இல்லாததால், தளத்தின் push சேவைக்கு வழி இல்லை. ஒரு நீண்ட agent பணி முடிந்துவிடும், நீங்கள் அடுத்த முறை போனைப் பார்க்கும்போதுதான் அது தெரியும்.

Messaging gateway வழியாக அறிவிப்புகள் வந்து சேரும்

கடைசியாகக் குறிப்பிட்ட சிக்கலைத் தீர்க்க gateway பயன்படுகிறது; இது agent-ஐ அணுகும் முற்றிலும் மாறுபட்ட வழியாகும். hermes gateway ஆனது Telegram, Discord, Slack, WhatsApp, Signal மற்றும் மின்னஞ்சல் உள்ளிட்ட messaging தளங்களுடன் agent-ஐ இணைக்கிறது. உங்கள் தொலைபேசியில் ஏற்கனவே push channel வசதி கொண்ட, பின்னணியில் தகவல்களைப் பெற்றுத் தரும், மற்றும் network துண்டிக்கப்பட்டாலும் சமாளிக்கக்கூடிய ஒரு செயலி மூலம் நீங்கள் உங்கள் agent-உடன் உரையாடலாம்.

hermes gateway setup
hermes gateway install
hermes gateway status

hermes gateway install ஆனது gateway-ஐ ஒரு systemd service-ஆகப் பதிவு செய்கிறது, எனவே reboot செய்த பிறகு அது மீண்டும் இயங்கும். Installer-ன் gateway நிலை இந்தச் செயலை உங்களுக்காகச் செய்ய முடியும், ஆனால் installer-ல் உள்ள எதுவும் hermes dashboard-க்கு ஒரு unit-ஐ உருவாக்குவதில்லை, எனவே restart செய்த பிறகு dashboard தானாகவே மீண்டும் இயங்காது. நீங்கள் சார்ந்திருக்கும் பாகங்களுக்கு ஒரு unit-ஐ எழுதுங்கள்; VPS-ல் systemd services மற்றும் timers எழுதுதல் என்ற பகுதி அந்த file-ஐப் பற்றிய விவரங்களை வழங்குகிறது.

ஒரு scheduled job மூலம் உரையாடல் ஏதுமின்றி முடிவுகளை இதே முறையில் அனுப்ப முடியும்:

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

இங்கு அங்கீகாரம் (Authorisation) முன்னிருப்பாக (default) மறுக்கப்படும். Allowlist அமைக்கப்படாமலும், GATEWAY_ALLOW_ALL_USERS அமைக்கப்படாமலும் இருக்கும்போது, அனைத்து பயனர்களும் நிராகரிக்கப்படுவார்கள்; இதுவே சரியான தொடக்க நிலையாகும். நீங்கள் விரும்பும் கணக்குகளை ~/.hermes/.env-ல் குறிப்பிடவும்:

TELEGRAM_ALLOWED_USERS=123456789
GATEWAY_ALLOWED_USERS=123456789

அல்லது எண் சார்ந்த ID-களை நகலெடுப்பதற்குப் பதிலாக code அடிப்படையிலான இணைப்பைப் பயன்படுத்தவும். இது chat-style DM தளங்களுக்கு முன்னிருப்பாக உள்ளது, மேலும் இதை ~/.hermes/config.yaml-ல் unauthorized_dm_behavior: pair மூலம் நீங்கள் வெளிப்படையாக அமைக்கலாம். Agent-க்கு செய்தி அனுப்பும் ஒரு அறிமுகமில்லாத கணக்கிற்கு எட்டு எழுத்துக்கள் கொண்ட code ஒன்று அனுப்பப்படும்; நீங்கள் அதை அங்கீகரிக்கும் வரை வேறு எதுவும் நடக்காது:

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

இந்தக் குறியீடுகள் ஒரு மணி நேரத்திற்குப் பிறகு காலாவதியாகிவிடும், ஒரு பயனர் பத்து நிமிடங்களுக்கு ஒருமுறை புதிய குறியீட்டைக் கோரலாம், மேலும் ஐந்து முறை தவறான முயற்சி மேற்கொண்டால் அந்தக் கணக்கு முடக்கப்படும்.

திருடப்பட்ட தொலைபேசியின் பாதிப்பு எல்லையை (blast radius) கட்டுப்படுத்துதல்

உங்கள் agent-ஐ அணுகக்கூடிய தொலைபேசி, உங்கள் server-ல் கட்டளைகளை (commands) இயக்கக்கூடியது. தொலைபேசிகள் தொலைந்து போக வாய்ப்புள்ளது. அதை வைத்திருப்பவர் என்ன செய்ய முடியும் என்பதை இப்போதே முடிவு செய்யுங்கள்.

அனுமதி (approvals) முறையைச் செயல்பாட்டில் வைத்திருங்கள். approvals.mode இயல்பாக smart-க்கு அமைக்கப்பட்டுள்ளது; இது ஒரு துணை மாதிரியை (auxiliary model) பயன்படுத்தி அபாயத்தை மதிப்பிட்டு, குறைந்த அபாயம் கொண்ட கட்டளைகளை மட்டுமே தானாக அனுமதிக்கும். இதை off-க்கு அமைப்பது, அனைத்தையும் --yolo மூலம் இயக்குவதற்குச் சமம்; HERMES_YOLO_MODE=1 இதை environment மூலம் செய்கிறது. அந்த நிலையில் உள்ள agent-உடன் தொடர்பு கொள்ளும் தொலைபேசியை வைத்திருக்காதீர்கள். நீங்கள் தூங்கும்போது திட்டமிடப்பட்ட பணிகள் (scheduled jobs) தானாகவே அனுமதி பெறாதவாறு approvals.cron_mode: deny-ஐ அமைக்கவும்.

approvals:
  mode: smart
  cron_mode: deny

Agent-க்குச் சேதப்படுத்த சிறிய உலகத்தை மட்டும் கொடுங்கள். terminal.backend: docker கட்டளைகளை ஒரு container-க்குள் இயக்குகிறது; இது ஒரு சில Linux capabilities-ஐத் தவிர மற்ற அனைத்தையும் நீக்குகிறது, no-new-privileges-ஐ அமைக்கிறது, மற்றும் process எண்ணிக்கையைக் கட்டுப்படுத்துகிறது. இதனால், ஒரு prompt-க்கு பதிலாக container-ஏ எல்லையாக மாறுகிறது. terminal.cwd பணிபுரியும் கோப்பகத்தை (working directory) நிலைநிறுத்துகிறது. HERMES_WRITE_SAFE_ROOT, write_file மற்றும் patch ஆகியவற்றை நீங்கள் குறிப்பிடும் கோப்பகங்களுக்குள் மட்டும் கட்டுப்படுத்துகிறது; அவற்றுக்கு வெளியே எழுதப்படும் எந்த முயற்சியும் தடுக்கப்படும், அதை மீற எந்த அனுமதியும் வழங்கப்படாது.

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

Hermes ஏற்கனவே ~/.ssh, ~/.aws, ~/.kube மற்றும் /etc/sudoers ஆகியவற்றுக்கு எழுதுவதைத் தடுக்கிறது; மேலும் ~/.hermes/.env போன்ற அதன் சொந்த ரகசிய சேமிப்பகங்களுக்கும் இது பொருந்தும். வட்டில் உள்ள பிற Project .env கோப்புகளைப் படிக்க முடியாது, ஆனால் அவற்றை மாற்ற முடியும். உங்கள் அனுமதி அமைப்புகள் எதுவாக இருந்தாலும், அழிவுகரமான கட்டளைகளின் பட்டியலை இது நிராகரிக்கிறது. இதை ஒரு அடிப்படைப் பாதுகாப்பாகக் கருதுங்கள், உங்கள் முழுத் திட்டமாக அல்ல. Agent-ஐ சாதாரண பயனராக (ordinary user) இயக்குங்கள், ஒருபோதும் root-ஆக இயக்க வேண்டாம். கவனிக்கப்படாமல் விடப்படும் எந்தவொரு coding agent-க்கும் இதே தர்க்கம் பொருந்தும். Claude Code-ஐ VPS-ல் பாதுகாப்பாக இயக்குவது குறித்த கட்டுரை இதை விரிவாக விளக்குகிறது.

தேவைப்படுவதற்கு முன்பே அதற்கான ரத்து செய்யும் (revocation) படிகளை எழுதி வையுங்கள். Tailscale admin console-ல் சாதனத்தை நீக்குவது, mesh அணுகலை உடனடியாகத் துண்டிக்கும். HERMES_DASHBOARD_BASIC_AUTH_SECRET-ஐ மாற்றி restart செய்வது, அனைத்து சாதனங்களிலும் உள்ள dashboard session-களை செல்லாததாக்கும்; ஏனெனில் அந்த மதிப்புதான் session cookie-ஐ உறுதிப்படுத்துகிறது. ~/.ssh/authorized_keys-லிருந்து தொலைபேசியின் public key-ஐ நீக்குவது SSH அணுகலை முடிவுக்குக் கொண்டுவரும். hermes pairing revoke telegram <user-id> ஒரு messaging கணக்கை நீக்கும். உங்கள் provider keys-ஐப் படிக்கக்கூடிய எதையும் அந்தச் சாதனம் கொண்டிருந்தால், hermes auth logout <provider> மூலம் அவற்றை நீக்கிவிட்டு, புதியவற்றை உருவாக்குங்கள்.

முடிவுகளை ஊகிக்காமல் சரிபார்க்கவும். இவை உங்கள் சொந்த கணினியில் இயக்க வேண்டிய கட்டளைகள்; அவற்றின் வெளியீடு உங்கள் அமைப்பைப் பொறுத்தது:

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

Logs ~/.hermes/logs/-ன் கீழ் சேமிக்கப்படுகின்றன. ஏதேனும் அசம்பாவிதம் நடந்த பிறகு அவற்றைப் படியுங்கள்; அசம்பாவிதம் இல்லாத நேரங்களிலும் அவ்வப்போது அவற்றைப் பரிசோதிக்கவும்.

FAQ

Hermes-க்கு iOS அல்லது Android-ல் அதிகாரப்பூர்வமான mobile app உள்ளதா?

இல்லை. Hermes repository-ல் command line interface, web dashboard, மற்றும் macOS, Windows, Linux-க்கான Electron desktop client மட்டுமே உள்ளன. iOS அல்லது Android-க்கான அதிகாரப்பூர்வ build எதுவும் இல்லை. உங்கள் தொலைபேசியிலிருந்து web dashboard-ஐ browser மூலமாகவோ, SSH client மூலமாகவோ அல்லது hermes gateway வழியாக இணைக்கப்பட்ட messaging platform மூலமாகவோ பயன்படுத்தலாம். மூன்றாம் தரப்பு mobile clients உள்ளன, ஆனால் அவை உங்கள் agent-ன் credentials-ஐக் கையாளும் மூன்றாம் தரப்பு code என்பதால், அவற்றை நிறுவும் முன் source code-ஐச் சரிபார்க்கவும்.

எனது தொலைபேசியில் Hermes dashboard ஏன் என்னை logout செய்கிறது?

இது நீங்கள் பயன்படுத்தும் login provider-ஐப் பொறுத்தது. Nous Portal OAuth provider 15 நிமிட TTL கொண்ட access tokens-ஐ வழங்குகிறது; அதன் தற்போதைய API ஒப்பந்தத்தில் refresh token இல்லை. எனவே, token காலாவதியானதும், பக்கம் 401 error-ஐப் பெற்று /login-க்குச் சென்றுவிடும். தொலைபேசியில் browser-ஐ background-க்கு மாற்றும்போது இது தெளிவாகத் தெரியும், ஏனெனில் மற்றொரு app-ல் 20 நிமிடங்கள் செலவழித்தாலே இந்த காலாவதி நேரத்தை எட்டிவிட முடியும். Username மற்றும் password provider-ல் session காலம் இயல்பாக 12 மணிநேரம், இது session_ttl_seconds மூலம் அமைக்கப்படுகிறது. அந்த provider-ஐப் பயன்படுத்தும்போது, HERMES_DASHBOARD_BASIC_AUTH_SECRET-க்கு ஒரு நிலையான random மதிப்பை அமைக்கவும். இது restart செய்தாலும் session signing key மாறாமல் இருக்க உதவும், இதனால் logout ஆவதற்கான இரண்டாவது காரணமும் நீங்கும்.

Hermes dashboard-ஐ பொது இணையத்தில் (public internet) பாதுகாப்பாக வைக்க முடியுமா?

நீங்கள் நீங்களே சரிபார்த்த authentication இருந்தால் மட்டுமே முடியும். Bind address-ஐப் பொறுத்து auth gate செயல்படும். எனவே, reverse proxy-க்கு பின்னால் 127.0.0.1-ல் bind செய்யப்பட்ட dashboard, இணையத்திலிருந்து login-ஐக் கேட்காது. curl -s https://your-host/api/status | jq '.auth_required'-ஐ இயக்கி, வரும் முடிவுகளைப் படிக்கவும். Username மற்றும் password-க்கு பதிலாக OAuth அல்லது OIDC-ஐப் பயன்படுத்தவும். ஏனெனில், password provider நம்பகமான நெட்வொர்க்குகள் மற்றும் VPN-களுக்காக மட்டுமே உருவாக்கப்பட்டது என்று திட்டத்தின் ஆவணங்கள் கூறுகின்றன. Private mesh-ஐப் பயன்படுத்தினால் இந்த கேள்வியே எழாது, எனவே அதுவே சிறந்த இயல்புநிலை (default) முறையாகும்.

எனக்கு Tailscale கணக்கு தேவையா, அல்லது control plane-ஐ நானே self-host செய்ய முடியுமா?

நீங்கள் அதை self-host செய்யலாம். Headscale என்பது Tailscale coordination server-ன் open implementation ஆகும். அதிகாரப்பூர்வ Tailscale clients tailscale up --login-server https://headscale.example.com மூலம் அதனுடன் இணையும். இதன் மூலம் mesh-ல் அனுமதிக்கப்பட்ட சாதனங்களின் பட்டியலை நீங்களே கட்டுப்படுத்தலாம். இதற்கான விலை என்னவென்றால், அந்த server-ஐ நீங்களே நிர்வகிக்க வேண்டும் மற்றும் backup எடுக்க வேண்டும். அது செயலிழந்திருக்கும்போது, புதிய சாதனங்களை இணைக்கவோ அல்லது re-authenticate செய்யவோ முடியாது.

Agent ஒரு வேலையை முடித்தவுடன் எனது தொலைபேசியில் notification பெறுவது எப்படி?

Messaging gateway-ஐப் பயன்படுத்தவும். Dashboard மற்றும் SSH மூலம் தொலைபேசியை எழுப்ப முடியாது, ஏனெனில் தொலைபேசியில் push notification-ஐப் பெற Hermes app இல்லை. hermes gateway setup மூலம் agent-ஐ Telegram, Signal, Discord அல்லது பிற ஆதரவுள்ள தளங்களுடன் இணைக்கவும்; அதன் பிறகு அந்த தளத்தின் சொந்த app மூலம் notification வந்து சேரும். Cron job மூலமாகவும் hermes send -t telegram -s "Job done" -f /path/to/report.txt-ஐப் பயன்படுத்தி ஒரு செய்தியை அனுப்பலாம், இது model-ஐ அழைக்காமலேயே செய்தியை வழங்கும்.