உங்கள் போனில் Hermes agent-ஐ அணுகுவது எப்படி?
உங்கள் VPS-ல் உள்ள Hermes agent-ஐ பாதுகாப்பாக அணுக Tailscale, 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) பயன்படுத்துவது. இதற்கு மிகக் குறைந்த அளவு அமைப்பு (setup) போதும், ஆனால் இது அதிகப்படியான அணுகலை வழங்கும்.
இந்த வழிகாட்டி உங்கள் சொந்த VPS-ல் Hermes agent-ஐ இயக்குதல் முடிந்த இடத்திலிருந்து தொடங்குகிறது. Agent நிறுவப்பட்டு, command line-ல் பதிலளிக்கிறது; இப்போது அதை உங்கள் கைபேசியில் பயன்படுத்த விரும்புகிறீர்கள்.
கீழே உள்ள கட்டளைகள் v2026.8.3 tag-ஐ அடிப்படையாகக் கொண்டு எழுதப்பட்டுள்ளன. இது 3 August 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 versionhermes version உண்மையில் என்ன நிறுவப்பட்டுள்ளது என்பதைக் காட்டும். இந்தப் பக்கத்தில் உள்ள எந்தவொரு flag-ஐயும் நம்புவதற்கு முன், அதை tag-உடன் ஒப்பிட்டுப் பாருங்கள்.
இந்த repository எதை வழங்குகிறது, எதை வழங்கவில்லை
Hermes repository-ல் iOS அல்லது Android செயலிகள் இல்லை. இதன் native client என்பது hermes desktop (இதன் மாற்றுப்பெயர் hermes gui) ஆகும்; இது macOS, Windows மற்றும் Linux இயங்குதளங்களுக்கான ஒரு Electron செயலியாகும். இது உள்ளூர் agent-க்கு பதிலாக தொலைதூர agent-உடன் இணைய முடியும்: Gateway அமைப்புகளின் கீழ் உள்ள http://<server-address>:9119 என்பதில் remote URL-ஐ அமைக்கவும் அல்லது செயலியைத் தொடங்குவதற்கு முன் HERMES_DESKTOP_REMOTE_URL=http://<server-address>:9119-ஐ export செய்யவும். இது இரண்டாவது மடிக்கணினி தொடர்பான தேவையைத் தீர்க்கும். ஆனால், இது தொலைபேசிக்கு எந்த உதவியும் செய்யாது.
தொலைபேசியிலிருந்து நீங்கள் பயன்படுத்தும் தளம் hermes dashboard, அதாவது browser interface ஆகும். இது configuration, sessions, cron jobs, skills, logs மற்றும் messaging platforms ஆகியவற்றை நிர்வகிக்கிறது. மேலும், இது ஒரு terminal-ஐ உள்ளடக்கியுள்ளது: server-ஆனது PTY (pseudo-terminal)-க்கு பின்னால் hermes --tui-ஐ உருவாக்கி, அதன் வெளியீட்டைப் பக்கத்திற்கு 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 9119127.0.0.1:9119-ல் உள்ள listener-ஐ server-லிருந்து மட்டுமே அணுக முடியும். 0.0.0.0:9119-ல் உள்ள listener-ஐ, பொது இணையம் உட்பட, அந்த இயந்திரம் இணைக்கப்பட்டுள்ள அனைத்து network-களிலிருந்தும் அணுக முடியும். இந்த ஒரே வரிதான் உங்கள் server எவ்வளவு வெளிப்படையாக (exposed) உள்ளது என்பதைத் தீர்மானிக்கிறது, எனவே அதை ஊகிப்பதற்குப் பதிலாக நேரடியாகப் படித்து உறுதிப்படுத்தவும்.
விருப்பம் 1: Tailscale மூலம் ஒரு private mesh
உங்களுக்கு வேறு வலுவான காரணம் இல்லையெனில், இதையே தேர்ந்தெடுக்கவும். Tailscale என்பது WireGuard-ஐ அடிப்படையாகக் கொண்ட ஒரு mesh VPN (virtual private network) ஆகும். நீங்கள் சேர்க்கும் ஒவ்வொரு சாதனமும் ஒரு நிலையான முகவரியைப் பெற்று, மற்ற சாதனங்களுடன் நேரடியாகத் தொடர்புகொள்ளும். உங்கள் அலைபேசியும் அதே mesh-ல் இணைவதால், dashboard-க்கு பொதுவான port (public port) திறக்க வேண்டிய அவசியமே இல்லை.
Server-ல்:
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
tailscale ip -4அலைபேசியில் Tailscale செயலியை நிறுவி, அதே கணக்கின் மூலம் உள்நுழையவும். Server-ல் tailscale status கட்டளையிட்டால், அலைபேசியின் பெயர் பட்டியலிடப்படும். இப்போது, tailscale ip -4 காட்டிய முகவரியுடன் dashboard-ஐ இணைக்கவும் (bind):
hermes dashboard --host 100.101.102.103 --port 9119 --no-open0.0.0.0-க்கு பதிலாக mesh முகவரியுடன் இணைப்பதன் மூலம், அந்த listening socket Tailscale interface-ல் மட்டுமே இயங்கும். உங்கள் public IP முகவரியை port scan செய்தால் 9119-ல் எதுவும் கிடைக்காது, ஏனெனில் அங்கு எந்தச் சேவையும் இயங்கவில்லை. எனவே, உங்கள் firewall-ஐ மட்டும் நம்பியிருக்க வேண்டியதில்லை. இதை ss -lntp | grep 9119 மூலம் மீண்டும் உறுதிப்படுத்தவும்.
இந்த bind முகவரிதான் authentication-ஐயும் தீர்மானிக்கிறது; இதைத்தான் பலர் கவனிக்கத் தவறுவார்கள். 127.0.0.1-ல் dashboard-க்கு login கிடையாது. மற்ற எந்த முகவரியிலும் auth gate கட்டாயமாகும்; provider எதையும் configure செய்யவில்லை என்றால் server தொடங்க மறுத்துவிடும். இதை project "failing closed" என்று அழைக்கிறது. முதல்முறை இயக்கும்போது interactive-ஆக இயக்கினால், அங்கேயே username மற்றும் password-ஐ அமைக்க அது வழிவகுக்கும். இதன் முடிவு ~/.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 மூலம் உருவாக்கவும், அதன் பிறகு அதை மாற்ற வேண்டாம். இது session cookie-ஐ sign செய்கிறது, எனவே அதை மாற்றினால் அனைத்து சாதனங்களும் logout ஆகிவிடும். அதே கோப்பில் உங்கள் model API keys-ம் இருப்பதால், chmod 600 ~/.hermes/.env மூலம் அதைத் தனிப்பட்டதாக (private) வைத்திருக்கவும்.
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-க்கு மட்டுமே உரியது; பொது இணையத்தில் (public internet) இருக்கும் dashboard-க்கு இது ஏற்றதல்ல. ஒரு mesh-ல், நீங்கள் அந்தச் சூழலில் தான் இருக்கிறீர்கள்.
Tailnet-க்குள் HTTPS-ஐப் பயன்படுத்த, அந்த port-ஐ Tailscale-க்கு வழங்கவும்:
sudo tailscale serve --bg localhost:9119
sudo tailscale serve statusTailscale, அந்த இயந்திரத்தின் MagicDNS பெயருக்காக வழங்கப்பட்ட certificate மூலம் TLS termination செய்கிறது. இதனால் browser எச்சரிக்கை காட்டாது, session cookie-க்கு Secure flag கிடைக்கும். முதலில் Tailscale admin console-ன் DNS பக்கத்தில் MagicDNS மற்றும் HTTPS Certificates-ஐ enable செய்யவும். அங்குள்ள அறிவிப்பை கவனமாகப் படிக்கவும்: உங்கள் இயந்திரப் பெயர்களும் tailnet DNS பெயரும் பொதுவான certificate transparency ledger-ல் பதிவேற்றப்படும், அதை யார் வேண்டுமானாலும் பார்க்கலாம்.
இதன் உண்மையான விலை coordination server ஆகும். உங்கள் அலைபேசிக்கும் VPS-க்கும் இடையிலான traffic end-to-end encrypted ஆக இருக்கும் மற்றும் Tailscale வழியாகச் செல்லாது. ஆனால், எந்தெந்தச் சாதனங்கள் mesh-ல் இருக்க வேண்டும் என்பதைத் தீர்மானிக்கும் கணக்கு உங்கள் வசம் இல்லை. அது உங்களுக்குப் பிரச்சினையெனில், Headscale, the self-hosted Tailscale control server மூலம் control plane-ஐ நீங்களே இயக்கலாம் மற்றும் tailscale up --login-server https://headscale.example.com மூலம் clients-ஐ அதற்கு மாற்றலாம். Mesh-ஐத் தவிர்த்துவிட்டு, நீங்களே peers-ஐ configure செய்ய விரும்பினால், 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 மேம்படுத்தல்களை அனுமதிக்கும்; இது dashboard-ன் embedded terminal-க்கு அவசியமானது. Nginx-ல் நீங்கள் Upgrade மற்றும் Connection headers-ஐ நீங்களே சேர்க்க வேண்டும். Certbot மூலம் nginx-ல் Let's Encrypt certificate பெறுதல் என்ற பகுதி, TLS தொடர்பான பணிகளை விளக்குகிறது. Hermes-க்கு அதன் பொதுப் பெயரைத் தெரிவிக்கவும், அப்போதுதான் login callbacks சரியான host-ஐச் சுட்டிக்காட்டும்:
dashboard:
public_url: "https://hermes.example.com"இப்போது அந்த ஆபத்து. Auth gate என்பது கோரிக்கை வந்த முகவரியை அடிப்படையாகக் கொள்ளாமல், bind address-ஐ அடிப்படையாகக் கொண்டே செயல்படுகிறது. ஒரு proxy-க்கு பின்னால் 127.0.0.1-ல் இணைக்கப்பட்ட (bound) dashboard, loopback-ஐ மட்டுமே பார்க்கும். இதனால் login தேவையில்லை என்று அது கருதி, proxy அனுமதிக்கும் எவருக்கும் சேவையை வழங்கும். நீங்கள் உண்மையில் எதை வெளியிட்டிருக்கிறீர்கள் என்பதைச் சரிபார்க்கவும்:
curl -s https://hermes.example.com/api/status | jq '.auth_required'இது false என்று காட்டினால், உங்கள் server-ல் உள்ள terminal-ஐ இணையத்தில் எவரும் ஒரு URL மூலம் அணுக முடியும். இதில் எந்த exploit-ம் இல்லை, எனவே logs-ல் எந்தப் புகாரும் வராது. இதற்கு இரண்டு தீர்வுகள் உள்ளன, அவற்றில் ஒன்றையாவது நீங்கள் செய்ய வேண்டும். ஒன்று, proxy-லேயே authentication-ஐச் சேர்க்கவும்; இதற்கு Authentik-ஐ self-hosted single sign-on provider-ஆக forward auth மூலம் பயன்படுத்தலாம். அல்லது dashboard-ன் சொந்த OIDC (OpenID Connect) provider-ஐ உள்ளமைக்கவும்:
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 என்பது இதற்குப் போதுமான பாதுகாப்பல்ல; இதனால்தான் பொதுவான bind-களுக்கு OAuth அல்லது OIDC-ஐப் பயன்படுத்த ஆவணங்கள் பரிந்துரைக்கின்றன. Login முயற்சிகளை rate limit செய்யவும், ufw-வை proxy ports மற்றும் SSH தவிர மற்ற அனைத்திற்கும் மூடி வைக்கவும், அவ்வப்போது access log-ஐச் சரிபார்க்கவும்.
விருப்பம் 3: மொபைல் டெர்மினலில் இருந்து SSH மற்றும் mosh பயன்படுத்துதல்
மிகவும் எளிமையான வழி: உங்கள் மொபைலில் ஒரு டெர்மினல் செயலியை நிறுவி, அதில் SSH key-ஐ ஏற்றி, அந்த ஏஜெண்டின் சொந்த உரை இடைமுகத்தைப் (text interface) பயன்படுத்துவது.
ssh you@vps.example.com
tmux new -A -s phone
hermes --tuitmux new -A -s phone ஆனது phone என்று பெயரிடப்பட்ட ஒரு session-உடன் இணையும், அல்லது அது இல்லையெனில் புதியதை உருவாக்கும். இதனால் இணைப்பு துண்டிக்கப்பட்டாலும் ஏஜெண்ட் தொடர்ந்து இயங்கும், நீங்கள் மீண்டும் இணையும்போது அதே இடத்திலிருந்து தொடரலாம். இந்த முறை மொபைலில் இருந்து Claude Code-ஐ இயக்குதல் என்பதில் பயன்படுத்தப்படும் அதே முறையைப் போன்றது.
மொபைல் நெட்வொர்க்கில் சாதாரண SSH-ஐப் பயன்படுத்துவது சிரமமானது, ஏனெனில் மொபைல் IP முகவரி மாறும்போது அல்லது தூக்க நிலைக்குச் செல்லும்போது இணைப்பு துண்டிக்கப்படும். Mosh இதைச் சரிசெய்கிறது. இது UDP (user datagram protocol) மூலம் இயங்குகிறது மற்றும் byte stream-க்கு பதிலாக டெர்மினல் நிலையை ஒத்திசைக்கிறது (sync). எனவே, வைஃபை (wifi) இணைப்பிலிருந்து செல்லுலார் (cellular) இணைப்பிற்கு மாறினாலும் session அப்படியே இருக்கும்:
sudo apt install -y mosh
sudo ufw allow 60000:61000/udpமொபைலில் இருந்து, mosh you@vps.example.com கட்டளையை இயக்கவும். Mosh உங்கள் ஏற்கனவே உள்ள SSH login வழியாக mosh-server-ஐத் தொடங்கி, பின்னர் session-ஐ 60000 முதல் 61000 வரையிலான UDP port வரம்பிற்கு மாற்றும். இதனால்தான் இந்த வரம்பைத் திறந்து வைக்க வேண்டியது அவசியம்.
இதன் பாதுகாப்புச் சிக்கல் வெளிப்படையானது. ஒரு SSH session என்பது ஒரு shell ஆகும், அந்த கணக்கின் மூலம் செய்யக்கூடிய அனைத்து செயல்களையும் shell-ஆல் செய்ய முடியும். எனவே, மொபைல் திருடப்பட்டால், ஏஜெண்டின் அங்கீகாரக் கோரிக்கைகளே (approval prompts) உங்கள் கோப்புகளைப் பாதுகாக்கும் கடைசி அரணாகும். இதற்காக root அல்லாத பிரத்யேகக் கணக்கைப் பயன்படுத்தவும், key-ஐ மட்டும் பயன்படுத்தவும், மேலும் உங்கள் மொபைலில் key-ஐ வைப்பதற்கு முன் VPS-ல் SSH-ஐப் பாதுகாத்தல் குறித்த வழிமுறைகளைப் பின்பற்றிச் செயல்படவும்.
மொபைல் நெட்வொர்க்கில் என்னென்ன செயலிழக்கும்
நான்கு விஷயங்கள் உள்ளன, இவை எவற்றையும் நீங்கள் configuration மூலம் சரிசெய்ய முடியாது.
நீங்கள் கவனிக்காதபோது dashboard உங்களை logout செய்துவிடும். Access tokens-க்கு 15 நிமிட TTL (time to live) உள்ளது, தற்போதைய API ஒப்பந்தத்தில் refresh token இல்லை. Token காலாவதியாகும் போது, பக்கம் 401 response-ஐப் பெற்று மீண்டும் /login-க்குச் செல்லும். Dashboard-ஐத் திறந்து வைத்துவிட்டு, போனை இருபது நிமிடங்கள் பாக்கெட்டில் வைத்திருந்தால், நீங்கள் மீண்டும் login திரைக்கு வருவீர்கள், நீங்கள் தட்டச்சு செய்துகொண்டிருந்தவை அனைத்தும் அழிந்துவிடும். இதில் எந்தப் பிழையும் இல்லை. மீண்டும் உள்நுழையவும்.
Embedded terminal பின்னணி tab-ல் இயங்காது. Server ஒரு PTY-க்கு பின்னால் TUI-ஐ (text user interface) உருவாக்கி, tab மூடப்படும்போது அதைச் சரியாக முடித்துவிடும்; மீண்டும் திறக்கும்போது புதிய ஒன்று உருவாகும். மொபைல் browsers நினைவகத்தை மீட்டெடுக்க பின்னணி tab-களை நீக்கிவிடும், எனவே நீண்ட நேரம் மற்றொரு app-க்கு மாறினால் அந்த terminal முடிந்துவிடும். உங்கள் chat history பாதுகாப்பாக இருக்கும், ஏனெனில் sessions server-ல் சேமிக்கப்படுகின்றன மற்றும் hermes sessions list அவற்றை இன்னும் காட்டும். Terminal-ஐ மீண்டும் இணைக்க முடியாது. உங்களுக்குத் தொடர்ச்சியான session தேவைப்பட்டால், SSH வழியாக tmux-ஐப் பயன்படுத்தவும்.
Idle connections அமைதியாகத் துண்டிக்கப்படும். மொபைல் நிறுவனங்கள் NAT (network address translation) table உள்ளீடுகளை மீட்டெடுக்க idle TCP connections-ஐத் துண்டித்துவிடும், மேலும் திரை அணைக்கப்பட்டவுடன் போன் நெட்வொர்க் சேவையை ஏறக்குறைய நிறுத்திவிடும். சிறிது நேரம் அமைதியாக இருந்த WebSocket, நீங்கள் போனை unlock செய்யும்போது பெரும்பாலும் ஏற்கனவே செயலிழந்திருக்கும், நீங்கள் தொட்ட பிறகுதான் பக்கம் மீண்டும் இணையும். இதனால்தான் போனில் SSH-ஐ விட mosh சிறப்பாகச் செயல்படுகிறது: அதற்கு இழப்பதற்கு என்று எந்த connection-ம் இல்லை.
எந்த அறிவிப்பும் (notification) வராது. Dashboard அல்லது SSH session எதாலும் உங்கள் போனை எழுப்ப முடியாது. சாதனத்தில் Hermes app இல்லை, எனவே platform-ன் push சேவைக்கு வழி இல்லை. ஒரு நீண்ட agent run முடிந்த பிறகு, நீங்கள் அடுத்த முறை பார்க்கும்போதுதான் அது தெரியும்.
Messaging gateway வழியாக அறிவிப்புகள் வந்து சேரும்
கடைசியாகக் குறிப்பிட்ட சிக்கலைத் தீர்க்க gateway பயன்படுகிறது; இது agent-ஐ அணுகும் முற்றிலும் மாறுபட்ட வழியாகும். hermes gateway ஆனது Telegram, Discord, Slack, WhatsApp, Signal மற்றும் மின்னஞ்சல் உள்ளிட்ட messaging தளங்களுடன் agent-ஐ இணைக்கிறது. உங்கள் தொலைபேசியில் ஏற்கனவே push channel வசதி கொண்ட, background delivery-ஐக் கையாளும் மற்றும் network துண்டிப்புகளைச் சமாளிக்கும் ஒரு செயலிக்குள் இருந்தே நீங்கள் உங்கள் agent-உடன் உரையாடலாம்.
hermes gateway setup
hermes gateway install
hermes gateway statushermes gateway install ஆனது gateway-ஐ ஒரு systemd service-ஆகப் பதிவு செய்கிறது, எனவே reboot செய்த பிறகு அது மீண்டும் இயங்கும். Hermes installer உங்களுக்காக எந்த service unit-களையும் உருவாக்காது, எனவே hermes dashboard ஒரு restart-க்குப் பிறகு தானாகவே இயங்காது. நீங்கள் சார்ந்திருக்கும் பாகங்களுக்கு ஒரு unit-ஐ எழுதுங்கள்; VPS-ல் systemd services மற்றும் timers எழுதுதல் என்ற பகுதி அந்த file-ஐ உருவாக்குவது குறித்து விளக்குகிறது.
ஒரு scheduled job, எந்த உரையாடலும் இன்றி, அதே முறையில் முடிவுகளை அனுப்ப முடியும்:
hermes send -t telegram -s "Backup report" -f /home/you/report.txtஇங்கு அங்கீகாரம் (authorisation) இயல்பாகவே மறுக்கப்படும் (deny by default). Allowlist அமைக்கப்படாமலும், GATEWAY_ALLOW_ALL_USERS அமைக்கப்படாமலும் இருந்தால், அனைத்து பயனர்களும் நிராகரிக்கப்படுவார்கள்; இதுவே சரியான தொடக்கப் புள்ளியாகும். நீங்கள் விரும்பும் கணக்குகளை ~/.hermes/.env-ல் குறிப்பிடவும்:
TELEGRAM_ALLOWED_USERS=123456789
GATEWAY_ALLOWED_USERS=123456789அல்லது, numeric ID-களை நகலெடுப்பதற்குப் பதிலாக, ~/.hermes/config.yaml-ல் unauthorized_dm_behavior: pair-ஐ அமைப்பதன் மூலம் code-based pairing வசதியைச் செயல்படுத்தலாம். Agent-க்கு செய்தி அனுப்பும் ஒரு தெரியாத கணக்கு எட்டு எழுத்துகள் கொண்ட குறியீட்டைப் பெறும்; நீங்கள் அதை அங்கீகரிக்கும் வரை வேறு எதுவும் நடக்காது:
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-உடன் தொடர்பு கொள்ளும் தொலைபேசியை வைத்திருக்காதீர்கள். approvals.cron_mode: deny-ஐ அமைக்கவும், இதன் மூலம் நீங்கள் தூங்கும்போது திட்டமிடப்பட்ட பணிகள் (scheduled jobs) தானாகவே அனுமதி பெற முடியாது.
approvals:
mode: smart
cron_mode: denyAgent-க்கு பாதிப்பை ஏற்படுத்த சிறிய உலகத்தை மட்டும் கொடுங்கள். 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/.hermesHermes ஏற்கனவே ~/.ssh, ~/.aws, ~/.kube மற்றும் /etc/sudoers ஆகியவற்றில் எழுதுவதைத் தடுக்கிறது, வட்டில் எங்கும் .env கோப்புகளை எழுத மறுக்கிறது, மேலும் உங்கள் அனுமதி அமைப்புகள் எதுவாக இருந்தாலும் அழிவுகரமான கட்டளைகளின் பட்டியலை நிராகரிக்கிறது. இதை ஒரு அடிப்படை பாதுகாப்பு என்று கருதுங்கள், உங்கள் முழுமையான திட்டமாக அல்ல. Agent-ஐ root பயனராக இயக்காமல், சாதாரண பயனராக இயக்குங்கள். கவனிக்கப்படாமல் இயங்கும் எந்தவொரு coding agent-க்கும் இதே தர்க்கம் பொருந்தும், மேலும் VPS-ல் Claude Code-ஐ பாதுகாப்பாக இயக்குவது குறித்த கட்டுரை இதை விரிவாக விளக்குகிறது.
தேவைப்படுவதற்கு முன்பே, அணுகலை ரத்து செய்யும் (revocation) படிகளை எழுதி வையுங்கள். Tailscale admin console-ல் அந்தச் சாதனத்தை நீக்குவது, உடனடியாக mesh அணுகலைத் துண்டிக்கும். HERMES_DASHBOARD_BASIC_AUTH_SECRET-ஐ மாற்றி restart செய்வது, அனைத்து சாதனங்களிலும் உள்ள dashboard அமர்வுகளை (sessions) செல்லாததாக்கும், ஏனெனில் அந்த மதிப்புதான் session cookie-ஐ உறுதிப்படுத்துகிறது. தொலைபேசியின் public key-ஐ ~/.ssh/authorized_keys-லிருந்து நீக்குவது 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 --deepLogs அனைத்தும் ~/.hermes/logs/-ன் கீழ் இருக்கும். ஒரு அசம்பாவிதத்திற்குப் பிறகு அவற்றை வாசியுங்கள், அசம்பாவிதம் இல்லாத நேரங்களிலும் அவ்வப்போது அவற்றைச் சரிபார்க்கவும்.
FAQ
Hermes-க்கு iOS அல்லது Android-ல் அதிகாரப்பூர்வமான mobile app உள்ளதா?
இல்லை. Hermes repository-ல் command line interface, web dashboard, மற்றும் macOS, Windows, Linux-க்கான Electron desktop client மட்டுமே உள்ளன. அதிகாரப்பூர்வமான iOS அல்லது Android build எதுவும் இல்லை. தொலைபேசியிலிருந்து நீங்கள் browser-ல் உள்ள web dashboard-ஐயோ, SSH client-ஐயோ அல்லது hermes gateway மூலம் இணைக்கப்பட்ட messaging platform-ஐயோ பயன்படுத்தலாம். மூன்றாம் தரப்பு mobile clients உள்ளன, ஆனால் அவை உங்கள் agent-ன் credentials-ஐக் கையாளும் மூன்றாம் தரப்பு code என்பதால், அவற்றை நிறுவும் முன் source code-ஐப் படித்துப் பார்க்கவும்.
எனது தொலைபேசியில் Hermes dashboard ஏன் என்னை logout செய்கிறது?
Access tokens-க்கு 15 நிமிடங்கள் TTL உள்ளது, தற்போதைய API ஒப்பந்தத்தில் refresh token வசதி இல்லை. Token காலாவதியாகும் போது, பக்கம் 401 பிழையைப் பெற்று /login-க்குச் செல்லும். தொலைபேசியில் browser-ஐ background-க்கு மாற்றும்போது இது தெளிவாகத் தெரியும், ஏனெனில் மற்றொரு app-ல் இருபது நிமிடங்கள் செலவழித்தாலே இந்த காலாவதி நிலையை எட்டிவிடும். HERMES_DASHBOARD_BASIC_AUTH_SECRET-ஐ நிலையான random மதிப்புக்கு அமைக்கவும், அப்போதுதான் session signing key மறுதொடக்கம் செய்யப்பட்டாலும் மாறாமல் இருக்கும். இது logout ஆவதற்கான இரண்டாவது காரணத்தைத் தவிர்க்கும்.
Hermes dashboard-ஐ பொது இணையத்தில் பாதுகாப்பாக வைக்க முடியுமா?
நீங்கள் சரிபார்த்த authentication இருந்தால் மட்டுமே முடியும். Bind address-ஐப் பொறுத்து auth gate செயல்படும், எனவே 127.0.0.1-ல் bind செய்யப்பட்ட dashboard, reverse proxy-க்கு பின்னால் இருக்கும்போது இணையத்திடம் login கேட்காது. curl -s https://your-host/api/status | jq '.auth_required'-ஐ இயக்கி, வரும் முடிவுகளைப் படிக்கவும். Username மற்றும் password-க்கு பதிலாக OAuth அல்லது OIDC-ஐப் பயன்படுத்தவும், ஏனெனில் project-ன் ஆவணங்கள் password provider-ஐ நம்பகமான நெட்வொர்க்குகள் மற்றும் VPN-களுக்கு மட்டுமே பரிந்துரைக்கின்றன. Private mesh-ஐப் பயன்படுத்துவது இந்த கேள்வியையே முழுமையாகத் தவிர்க்கும், அதனால்தான் அதுவே சிறந்த இயல்புநிலை தேர்வாகும்.
எனக்கு 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) முடியாது.
ஒரு job முடிந்தவுடன் எனது தொலைபேசியில் notification பெறுவது எப்படி?
Messaging gateway-ஐப் பயன்படுத்தவும். Dashboard மற்றும் SSH மூலம் தொலைபேசியை எழுப்ப முடியாது, ஏனெனில் push notification-களைப் பெற அந்தச் சாதனத்தில் Hermes app இல்லை. hermes gateway setup மூலம் agent-ஐ Telegram, Signal, Discord அல்லது ஆதரிக்கப்படும் பிற தளங்களுடன் இணைக்கவும், அதன் பிறகு அந்தத் தளத்தின் சொந்த app மூலம் தகவலைப் பெறலாம். ஒரு cron job மூலம் hermes send -t telegram -s "Job done" -f /path/to/report.txt-ஐப் பயன்படுத்தி ஒரு செய்தியை அனுப்பலாம், இது model-ஐ அழைக்காமலேயே தகவலை வழங்கும்.