Blog

Ako udržať Hermes Agent spustený na serveri nepretržite

Markdown

Ako udržať Hermes Agent spustený na serveri 24/7: inštalácia na VPS bez prehliadača, spustenie gateway ako systémovej služby, automatické spustenie po reštarte, linger a Docker.

Prečítať celý článok

Po nainštalovaní Hermes Agent na notebooku sa vynára otázka: kto bude odpovedať na Telegrame a pripravovať ranné súhrny, keď je notebook vypnutý? Pri stole agent funguje iba dovtedy, kým je počítač zapnutý. Ak chcete, aby bol bot stále online a naplánované úlohy sa spúšťali samy, musíte agenta presunúť na server.

Nižšie sa dozviete, ako nainštalovať Hermes na bežný server Linux, nastaviť gateway ako nepretržite bežiacu službu, ktorá sa automaticky spustí po reštarte, a obmedziť prístup, aby sa cudzí ľudia nedostali do terminálu. Tento sprievodca vychádza z oficiálnej dokumentácie.

Ak ste Hermes ešte vôbec nenainštalovali, začnite samostatným prehľadom o tom, čo je tento agent a ako ho nainštalovať. Tento sprievodca predpokladá, že už vám beží na vlastnom počítači, a venuje sa iba jeho presunu na server.

Informácie o práci s Ailoot sú k dispozícii v dokumentácii.

Prečo presunúť Hermes Agent z notebooku na server?

Kľúčové body

Osobný počítač funguje, kým ste nablízku a je zapnutý. Na nepretržitú prevádzku potrebujete server: bot v Telegrame odpovedá, aj keď je váš počítač vypnutý, a naplánované úlohy sa spúšťajú samy. Server potrebujete iba na tento účel; na bežnú prácu s agentom stačí notebook.

Na notebooku Hermes funguje iba vtedy, keď je veko otvorené a ste nablízku. Zatvorte ho a bot stíchne; ranný súhrn nepríde. To nie je vhodné pri úlohe typu „odpovedať ľuďom v messengeri a starať sa o veci podľa plánu“.

Práve v tom sa server líši: nikdy nespí a nezávisí od ničoho iného. Nainštalujete naň to isté Hermes a bude fungovať bez vás: odpovedať na Telegrame o tretej ráno, každé ráno zbierať správy o témach, ktoré vás zaujímajú, a uchovávať relácie medzi spusteniami.

Presun má zmysel, keď má agent nepretržitú úlohu: bota pre vás alebo váš tím, ranné súhrny, automatické odpovede alebo pravidelnú prácu s dokumentmi. Ak Hermes iba skúšate pri konkrétnom projekte a ste pri počítači, server zatiaľ nepotrebujete; bol by to ďalší krok navyše.

Čo si pripraviť pred inštaláciou Hermes na VPS?

Kľúčové body

Potrebujete server Linux s prístupom SSH (oficiálny tím testuje na čerstvej inštalácii Ubuntu), vopred vybraný model a vedomie, že agent na serveri zvyčajne nepotrebuje prehliadač. Na prevádzku bez dozoru je najpohodlnejší prístup k modelu cez Nous Portal: prihlásenie OAuth sa obnovuje automaticky, takže platnosť tokenu nevyprší uprostred noci a nespôsobí výpadok.

Pred inštaláciou si pripravte tri veci.

Server. Postačí bežný Linux VPS. Dokumentácia uvádza, že podpora prvej úrovne je pre Linux a WSL2 a testuje sa na najnovšom Ubuntu. Ak má systém glibc, systemd a obvyklé rozloženie adresárov, Hermes sa správne nainštaluje. Na serveri je to dôležité, pretože všetky nasledujúce kroky automatického spúšťania závisia od systemd, ktorý je súčasťou Ubuntu a Debianu.

Prístup SSH. K serveru sa pripájate cez terminál pomocou SSH; myš tam používať nebudete. Všetky nižšie uvedené príkazy spustíte v tejto relácii SSH. Ak tvoríte kód pomocou vibe codingu a terminál vám zatiaľ nie je pohodlný, nemusíte sa obávať: príkazov je iba niekoľko a každý môžete skopírovať celý.

Vybraný model. Agent nemyslí sám za seba; volá model. Pri serveri, ktorý funguje bez vás, je dôležité, aby prístup k modelu nevypršal. Najjednoduchšou možnosťou je predplatné Nous Portal cez hermes setup --portal: prihlásenie používa OAuth a token sa obnovuje automaticky. Fungujú aj vaše vlastné API kľúče, ale vtedy sa uistite, že je na účte dostatok prostriedkov—headless agent s nulovým zostatkom jednoducho prestane odpovedať. Model musí mať kontextové okno s veľkosťou aspoň 64 000 tokenov, inak Hermes odmietne s ním spustiť. Túto požiadavku spĺňajú všetky cloudové modely v zozname.

Poznámka

Oficiálna dokumentácia neuvádza presné hodnoty pri výbere VPS ani minimálne požiadavky na zdroje, preto tu presné hodnoty neuvádzame. Na základe opísaných skúseností stačí na gateway s botom a plánom skromný počítač, pretože náročné výpočty prebiehajú na strane modelu. Samotný server je zaťažený len veľmi málo. Najnáročnejšou časťou je automatizácia prehliadača, ktorá však na serveri zvyčajne nie je potrebná (viac o tom hneď nižšie).

Ako nainštalovať Hermes Agent na server jedným príkazom?

Kľúčové body

Pripojte sa k serveru cez SSH a spustite inštalačný program s príznakom, ktorý na serveri preskočí prehliadač: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash -s -- --skip-browser. Potom reštartujte shell terminálu a vyberte model pomocou hermes setup --portal. Inštaláciu skontrolujte príkazom hermes doctor.

Inštalácia na server je takmer rovnaká ako na notebooku, s jedným rozdielom: agent tam zvyčajne nepotrebuje prehliadač. Automatizácia prehliadača navyše prináša náročný Chromium. Preto použijete príznak --skip-browser.

  1. Pripojte sa k serveru cez SSH

    ssh root@your-server-address
    

    Všetky nasledujúce príkazy spustite v tejto relácii priamo na serveri.

  2. Spustite inštalačný program bez prehliadača

    curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash -s -- --skip-browser
    

    Skript stiahne potrebné prostredie a nainštaluje príkaz hermes. Príznak --skip-browser preskočí inštaláciu automatizácie prehliadača; na serveri bez grafického rozhrania by iba zaberala miesto. Ak budete neskôr potrebovať prehliadač, môžete ho nainštalovať samostatne.

  3. Reštartujte shell a vyberte model

    source ~/.bashrc
    hermes setup --portal
    

    Prvý riadok načíta nové PATH, aby sa dal nájsť príkaz hermes. Druhý otvorí prihlásenie do Nous Portal: potvrďte prihlásenie a agent získa model a služby bez samostatných kľúčov pre každú z nich.

  4. Skontrolujte inštaláciu

    hermes doctor
    

    Príkaz zobrazí, čo je nainštalované, čo chýba a ako to opraviť. Zelené označenia znamenajú, že je všetko pripravené.

Pred pridaním bota a plánu najprv rozbehnite jednu bezproblémovú konverzáciu priamo na serveri: spustite hermes a zadajte mu jednoduchú úlohu s overiteľnou odpoveďou. Dokumentácia výslovne odporúča nepridávať funkcie, kým nefunguje bežná konverzácia—je to rozumné odporúčanie.

Ako udržať Hermes v prevádzke nepretržite?

Kľúčové body

Najprv nakonfigurujte gateway príkazom hermes gateway setup a pripojte Telegram. Potom gateway nastavte ako službu jediným príkazom: hermes gateway install nainštaluje používateľskú službu, zatiaľ čo sudo hermes gateway install --system nainštaluje systémovú službu, ktorá sa spustí pri štarte servera. Používateľskú službu spravujte príkazmi hermes gateway start, stop a status. Pri systémovej službe VPS zachovajte pri každej kontrole a zmene výslovný rozsah --system a potrebné oprávnenia.

Gateway je jediný proces Hermes na pozadí, ktorý udržiava pripojenia ku všetkým messengerom, spravuje relácie a spúšťa naplánované úlohy. Od neho závisí celá nepretržitá prevádzka. Cieľom je, aby sa tento proces spúšťal sám a zostal v chode.

Najprv nakonfigurujte gateway a pripojte messenger:

hermes gateway setup

Sprievodca nastavením vás prevedie platformami a pomôže vám zadať token bota a zoznam prístupov. Postup pripojenia Telegramu (vytvorenie bota pomocou BotFather, zistenie vášho ID a zadanie tokenu) je opísaný v hlavnom sprievodcovi inštaláciou; nebudem ho tu opakovať.

Nasleduje pasca, na ktorú ľudia najčastejšie zabúdajú. Ak jednoducho spustíte hermes gateway, proces bude fungovať iba dovtedy, kým zostane otvorená relácia SSH. Zatvorte terminál a gateway sa zastaví. Ak má fungovať nepretržite, musíte ju zveriť pod kontrolu systému. Na to slúži jeden príkaz:

hermes gateway install

Nainštaluje gateway ako službu: v Linuxe ako používateľskú službu systemd, v macOS cez launchd. Systém proces sleduje a po jeho páde ho znova spustí.

Na serveri budete častejšie potrebovať druhú možnosť: systémovú službu, ktorá sa spustí pri štarte počítača ešte pred prihlásením ktoréhokoľvek používateľa:

sudo hermes gateway install --system

Presne to potrebujete pre VPS: server sa reštartuje, služba sa spustí sama a bot je opäť online. Spravujte ju týmito jednoduchými príkazmi:

hermes gateway start     # start
hermes gateway stop      # stop
hermes gateway status    # check status

Pri systémovej službe pridajte k týmto príkazom sudo a príznak --system. Bez nich budú príkazy smerovať na používateľskú službu namiesto tej, ktorá sa spúšťa pri štarte:

sudo hermes gateway start --system
sudo hermes gateway stop --system
sudo hermes gateway status --system

Prečo je potrebný linger a čo bez neho prestane fungovať?

Kľúčové body

Ak ste gateway nainštalovali ako používateľskú službu (bez --system), systemd ju zastaví hneď po odpojení od SSH a pri štarte ju nespustí. Opravíte to jediným príkazom: sudo loginctl enable-linger username. Potom služba funguje nezávisle od vašich prihlásení a odhlásení.

Toto je najčastejší problém: nainštalovali ste službu, ale bot v noci aj tak stíchne. Dôvodom je spôsob fungovania používateľských služieb Linuxu.

Používateľská služba systemd je predvolene naviazaná na vašu reláciu. Pripojíte sa cez SSH a spustí sa váš správca používateľa; služba beží. Odhlásite sa a systém považuje používateľa za neaktívneho, takže spolu s vašou gateway vypne aj služby tohto používateľa. Na serveri, ku ktorému sa prihlasujete a odhlasujete, je to problém: bot je online iba počas vašej relácie SSH.

Môžete to opraviť režimom linger, ktorý umožňuje systému ponechať správcu používateľa spusteného, aj keď tento používateľ nie je prihlásený:

sudo loginctl enable-linger username

Po tomto príkaze používateľská služba funguje samostatne a spustí sa pri štarte servera bez toho, aby čakala na vaše prihlásenie. Bez linger sa obnoví pôvodné správanie: gateway sa po odpojení od SSH vypne a pri štarte sa nespustí. Dokumentácia to výslovne uvádza.

Upozornenie

Toto sa netýka systémovej služby (nainštalovanej príkazom sudo hermes gateway install --system): tá už beží na úrovni počítača a spustí sa pri štarte. Linger je potrebný iba pre používateľskú službu. Vyberte si jednu možnosť: buď systémovú službu, alebo používateľskú službu spolu s linger.

Ako spustiť Hermes na serveri v Dockeri s automatickými reštartmi?

Kľúčové body

Ak uprednostňujete Docker, môžete Hermes udržiavať v prevádzke ako trvalú gateway v kontajneri: docker run -d --name hermes --restart unless-stopped -v ~/.hermes:/opt/data -p 8642:8642 nousresearch/hermes-agent gateway run. Príznak --restart unless-stopped obnoví kontajner po reštarte a vnútri obrazu sa pri páde reštartuje aj proces gateway.

Docker je ďalší funkčný spôsob, ako udržiavať agenta na serveri, najmä ak ste už zvyknutí na kontajnery alebo chcete agenta izolovať od hlavného systému. Raz ho nakonfigurujte pomocou docker run ... setup a potom spustite kontajner na pozadí:

docker run -d \
  --name hermes \
  --restart unless-stopped \
  -v ~/.hermes:/opt/data \
  -p 8642:8642 \
  nousresearch/hermes-agent gateway run

Riadky zodpovedné za nepretržitú prevádzku robia toto:

  • -d — kontajner beží na pozadí a nedrží otvorený váš terminál.
  • --restart unless-stopped — Docker obnoví kontajner po reštarte servera alebo po páde. Reštartuje ho iba vtedy, ak ste ho sami manuálne zastavili.
  • -v ~/.hermes:/opt/data — nastavenia, kľúče, relácie a pamäť zostávajú na serveri mimo kontajnera a zachovajú sa aj po jeho opätovnom vytvorení.

Obraz pridáva ďalšiu ochranu: proces gateway beží pod dohľadom správcu s6. Ak gateway spadne, v priebehu niekoľkých sekúnd sa znova spustí bez straty samotného kontajnera. Je to dvojitá ochrana: Docker zvonka udržiava kontajner v chode a s6 sleduje proces vnútri.

Pamätajte na jeden rozdiel pri použití Dockeru: tieto inštalácie sa neaktualizujú príkazom hermes update. Ak chcete aktualizovať Docker, nahraďte obraz novým—stiahnite najnovší a znovu vytvorte kontajner.

Ako skontrolovať, že všetko funguje a prežije reštart?

Kľúčové body

Skontrolujte stav služby pomocou systemctl a sledujte živý záznam. Potom nasleduje hlavná skúška servera: reštartujte počítač a uistite sa, že sa bot sám vráti online. Relácie a odpovede Hermes prežijú reštart; nedokončená odpoveď sa doručí po obnovení.

Pri používateľskej službe skontrolujte jej stav a záznamy takto:

hermes gateway status
journalctl --user -u hermes-gateway -f

Pre systémovú službu odporúčanú na VPS namiesto toho použite systémový rozsah:

sudo hermes gateway status --system
sudo journalctl -u hermes-gateway -f

Prvý príkaz kontroluje vybranú službu; druhý sleduje záznamy daného rozsahu. Tieto názvy jednotiek platia pre predvolenú inštaláciu ~/.hermes. Iné domovské priečinky Hermes môžu mať názov jednotky s príponou: prezrite stavový výstup a použite presnú jednotku. Pri testovaní systémovej inštalácie nesledujte používateľskú jednotku. Záznamy Hermes sú v ~/.hermes/logs/ a tajné údaje sa z nich automaticky redigujú, takže ich môžete bezpečne poslať podpore.

Teraz reštartujte server a uistite sa, že sa agent sám vráti. Toto je hlavná skúška servera a ľudia na ňu zvyčajne zabúdajú:

sudo reboot

Keď je server opäť dostupný, pripojte sa cez SSH. Pri systémovej inštalácii overte sudo hermes gateway status --system a systémový žurnál; pri používateľskej inštalácii s linger overte hermes gateway status a používateľský žurnál. Potom napíšte botovi na Telegrame. Ak odpovie bez vášho zásahu, automatické spúšťanie je nastavené správne. Presne o to tu išlo.

Nemusíte sa obávať straty konverzácie. Hermes zapisuje relácie na disk a tie prežijú reštart gateway. Navyše, ak gateway spadne práve vo chvíli, keď odosiela odpoveď, po obnovení ju doručí namiesto opätovného spustenia úlohy. Pri nepretržite bežiacom botovi je to dôležité: neočakávaný reštart nepreruší konverzáciu.

Ako zabezpečiť agenta s prístupom k terminálu na serveri?

Kľúčové body

Tri hlavné ochranné opatrenia: prístup k botovi je predvolene uzavretý (odpovedá iba ľuďom zo zoznamu), agent sa pred spustením nebezpečných príkazov opýta a na úplnú izoláciu spúšťate agenta na serveri v Docker sandboxe. Na serveri je najlepšie nezapínať režim bez potvrdzovania (YOLO).

Agent na serveri je program s prístupom k terminálu, ktorý beží bez vášho dohľadu. Najprv skontrolujte tieto tri nastavenia.

Uzavretý prístup k botovi. Gateway predvolene odpovedá iba ľuďom zo zoznamu prístupov alebo tým, ktorí dokončili prepojenie pomocou kódu v priamej správe. To je správne správanie bota s prístupom k terminálu: náhodný človek, ktorý botovi napíše, nemôže nič urobiť. Zoznam sa nastavuje pomocou číselných ID, napríklad pre Telegram:

TELEGRAM_ALLOWED_USERS=123456789,987654321

Potvrdzovanie nebezpečných príkazov. Pred vykonaním čohokoľvek deštruktívneho si agent vyžiada vaše povolenie. Existuje režim YOLO, ktorý vypína potvrdzovanie; najlepšie je nezapínať ho na serveri bežiacom bez vás. Potvrdzovanie slúži práve na to, aby sa bez vášho vedomia nestalo nič nezvratné.

Sandbox na úplnú izoláciu. Ak chcete, aby agent fyzicky nemohol vidieť hlavný systém servera, spúšťajte jeho príkazy v kontajneri Docker:

hermes config set terminal.backend docker

Všetko, čo agent robí v termináli, sa potom odohráva v izolovanom sandboxe a nedosiahne na živý server. Je to rozumné ochranné opatrenie, keď agentovi dovolíte konať samostatne.

Čo robiť, ak bot mlčí alebo gateway spadne?

Kľúčové body

Najprv skontrolujte stav služby a záznamy; príčinou je najčastejšie token bota, zoznam prístupov alebo model. Ak celý proces úplne zamrzne, služba systemd má časovač watchdog, ktorý reštartuje gateway, keď prestane vykazovať známky života.

Keď bot prestane odpovedať, postupujte v tomto poradí. Najprv overte nainštalovaný rozsah: sudo hermes gateway status --system a systémový žurnál pri systémovej službe alebo hermes gateway status a používateľský žurnál pri používateľskej službe. Ak gateway beží, ale správy neprechádzajú, takmer vždy ide o problém s konfiguráciou platformy: token bota je nesprávny alebo daná osoba nie je v zozname prístupov. Znova spustite hermes gateway setup v rovnakom domovskom priečinku Hermes a potom posúďte vybranú službu cez hermes gateway status --system pri systémovej alebo hermes gateway status pri používateľskej. Úspešné nastavenie nedokazuje, že beží správna gateway.

Ak model vracia prázdne alebo zvláštne odpovede, skontrolujte ho príkazom hermes model a overte poskytovateľa a prihlásenie. Všeobecný postup obnovy, ktorý vás vráti z „všetko je pokazené“ do funkčného stavu, je: hermes doctor, hermes model, hermes setup a potom hermes gateway status --system pri systémovej inštalácii alebo hermes gateway status pri používateľskej.

Ešte jedna vec pre zriedkavý, ale nepríjemný prípad, keď celý proces zamrzne bez toho, aby skutočne spadol. Služba systemd má časovač watchdog: pridajte tento riadok do ~/.hermes/config.yaml a službu nainštalujte znova.

gateway:
  systemd_watchdog_seconds: 120
# Pre systémovú službu VPS (rovnaký domovský priečinok Hermes ako pri pôvodnej inštalácii):
sudo hermes gateway install --system --force
sudo hermes gateway status --system

Pri používateľskej službe namiesto toho obnovte iba tento rozsah cez hermes gateway install --force a overte hermes gateway status. Vyberte jeden rozsah; pri oprave jednej gateway neinštalujte oba.

Potom gateway pravidelne signalizuje systému: „Som nažive.“ Ak signály prestanú, systemd proces automaticky reštartuje. Funguje to iba na Linuxe so systemd a iba pri zamrznutí procesu. Časovač watchdog nemá vplyv na bežné prerušenie siete medzi serverom a messengerom.

Na čo sa ľudia ešte pýtajú o Hermes Agent na serveri?

Kľúčové body

Stručné odpovede na časté otázky: či je potrebný konkrétne VPS, či môžete na jednom počítači prevádzkovať viacero botov, či server potrebuje grafické rozhranie a čo sa stane s naplánovanými úlohami, keď je agent na serveri.

Často kladené otázky

Musím si zaobstarať VPS alebo mi stačí vlastný počítač?

Na nepretržitú prevádzku potrebujete počítač, ktorý je stále zapnutý. Vlastný počítač poslúži iba vtedy, ak ste ochotní ho nikdy nevypínať. VPS je pohodlnejší: je stále zapnutý a nezávisí od toho, či pracujete alebo spíte. Postačí bežný server Linux—dokumentácia uvádza podporu prvej úrovne pre Linux a testuje sa na čerstvej inštalácii Ubuntu.

Môžem na jednom serveri prevádzkovať niekoľko botov?

Áno. Hermes má profily a každý profil má vlastnú službu. Príkaz ako <profile> gateway install vytvorí samostatnú službu s názvom hermes-gateway-<profile> a fungujú nezávisle. Každý profil má vlastné nastavenia, token bota a pamäť.

Potrebuje server monitor a grafiku?

Nie. Server funguje bez obrazovky a spravujete ho cez SSH z terminálu. Automatizácia prehliadača zvyčajne nie je pre agenta na takomto serveri potrebná, preto spustite inštalačný program s príznakom --skip-browser; odstráni sa tým jediná náročná súčasť, ktorá vyžaduje grafické prostredie.

Budú sa naplánované úlohy spúšťať, aj keď nebudem pri počítači?

Áno, práve preto sa agent presúva na server. Tá istá gateway spúšťa naplánované úlohy: raz za minútu skontroluje plán a spustí úlohy, keď nastane ich čas, potom odošle výsledok do toho istého chatu. Keďže gateway funguje nepretržite ako služba, plán sa vykonáva sám bez vášho zásahu.

Prežije bot aktualizáciu a reštart servera?

Áno. Nastavenia, relácie a pamäť sa ukladajú do priečinka ~/.hermes a nestratia sa. Po reštarte spustí gateway sama systémová služba (alebo Docker s --restart unless-stopped). Nedokončená odpoveď sa po reštarte doručí a nič sa nestratí—ak však už bola v čase pádu odoslaná približne z polovice, môže prísť znova s upozornením na možnú duplicitu.

Spoznajte Ailoot.

Viac podrobností

Otázky a odpovede: Ako udržať Hermes Agent spustený na serveri nepretržite

Prečo môže gateway vyzerať zastavená po inštalácii systémovej služby?

Kontrola bez určenia rozsahu môže cieliť na inú službu. Pri systémovej inštalácii použite hermes gateway status --system a systémový žurnál; stav bez príznaku a používateľský žurnál používajte iba pri používateľskej službe. Po celý čas zachovajte rovnaký domovský priečinok Hermes.

Potrebuje systémová služba VPS loginctl linger?

Nie. Linger je určený používateľskej službe systemd, ktorá má prežiť odhlásenie a spustiť sa pri štarte. Systémová služba sa už spúšťa pri štarte počítača; vyberte jeden rozsah inštalácie a po reštarte zopakujte kontrolu stavu aj odpovede bota.

Všetky články