Jak udržet Hermes Agent v provozu na serveru nepřetržitě
MarkdownJak zajistit, aby Hermes Agent běžel na serveru 24/7: instalace na VPS bez prohlížeče, provozování gateway jako systémové služby, automatické spuštění po restartu, linger a Docker.
Přečíst celý článek
Po instalaci Hermes Agent na notebook vyvstane otázka: kdo bude odpovídat na Telegramu a připravovat ranní souhrny, když je notebook zavřený? U vašeho stolu agent funguje jen tehdy, když je počítač zapnutý. Aby byl bot stále online a naplánované úlohy se spouštěly samy, musíte agenta přesunout na server.
Níže najdete postup, jak nainstalovat Hermes na běžný linuxový server, změnit gateway na nepřetržitě běžící službu, která se automaticky spustí po restartu, a omezit přístup, aby se cizí lidé nedostali do terminálu. Tento návod vychází z oficiální dokumentace.
Pokud jste Hermes ještě vůbec nenainstalovali, začněte samostatným přehledem co tento agent umí a jak ho nainstalovat. Tento návod předpokládá, že už vám běží na vlastním počítači, a věnuje se pouze jeho přesunu na server.
Informace o práci s Ailoot najdete v dokumentaci.
Proč přesunout Hermes Agent z notebooku na server?
Hlavní poznatky
Osobní počítač funguje, dokud jste poblíž a je zapnutý. Pro nepřetržitý provoz potřebujete server: Telegramový bot odpovídá, i když je váš počítač vypnutý, a naplánované úlohy se spouštějí samy. Server potřebujete jen k tomu; pro běžnou práci s agentem stačí notebook.
Na notebooku Hermes funguje jen tehdy, když je víko otevřené a jste poblíž. Zavřete ho a bot zmlkne; ranní souhrn nedorazí. To se nehodí pro úlohu typu „odpovídat lidem v messengeru a starat se o věci podle plánu“.
Právě v tom se server liší: nikdy nespí a nezávisí na ničem dalším. Nainstalujete na něj úplně stejný Hermes a ten běží bez vás: ve tři ráno odpovídá na Telegramu, každé ráno shromažďuje zprávy o vašich tématech a uchovává relace mezi jednotlivými běhy.
Přesun dává smysl, když máte pro agenta průběžný úkol: bota pro sebe nebo svůj tým, ranní souhrny, automatické odpovědi nebo pravidelnou práci s dokumenty. Pokud Hermes jen zkoušíte pro konkrétní projekt a sedíte poblíž, server zatím nepotřebujete; je to krok navíc.
Co si připravit před instalací Hermes na VPS?
Hlavní poznatky
Potřebujete linuxový server s přístupem přes SSH (oficiální tým testuje na čisté instalaci Ubuntu), předem vybraný model a vědomí, že agent na serveru obvykle prohlížeč nepotřebuje. Pro provoz bez dozoru je nejpohodlnější přístup k modelu přes Nous Portal: přihlášení OAuth se obnovuje automaticky, takže vypršení tokenu v noci provoz nepřeruší.
Před instalací si připravte tři věci.
Server. Stačí běžný linuxový VPS. Dokumentace poskytuje podporu první úrovně pro Linux a WSL2 a testuje na nejnovější verzi Ubuntu. Pokud má systém glibc, systemd a obvyklou strukturu adresářů, Hermes se nainstaluje správně. Na serveru je to důležité, protože všechny níže uvedené kroky automatického spouštění závisí na systemd, který je součástí Ubuntu a Debianu.
Přístup SSH. K serveru se připojíte přes terminál pomocí SSH; myš tam používat nebudete. Všechny níže uvedené příkazy spouštějte v této relaci SSH. Pokud programujete pomocí vibe codingu a terminál vám zatím není příjemný, nemusíte mít obavy: příkazů je jen pár a každý můžete zkopírovat celý.
Vybraný model. Agent nepřemýšlí sám; volá model. U serveru, který funguje bez vás, je důležité, aby přístup k modelu nevypršel. Nejjednodušší možností je předplatné Nous Portal přes hermes setup --portal: přihlášení používá OAuth a token se automaticky obnovuje. Fungují i vlastní API klíče, ale pak se ujistěte, že je na účtu zůstatek — agent bez grafického rozhraní a s prázdným zůstatkem prostě zmlkne. Model musí mít kontextové okno alespoň 64 000 tokenů, jinak Hermes odmítne s ním spustit. Tuto podmínku splňují všechny cloudové modely na seznamu.
Poznámka
Oficiální dokumentace neuvádí přesná čísla pro výběr VPS ani minimální zdroje, proto zde žádná přesná čísla neuvádíme. Podle popsaných zkušeností stačí na gateway s botem a plánem skromný stroj, protože náročné výpočty probíhají na straně modelu. Samotný server je zatížen jen velmi málo. Nejnáročnější je automatizace prohlížeče, ta ale na serveru obvykle není potřeba (více hned níže).
Jak nainstalovat Hermes Agent na server jediným příkazem?
Hlavní poznatky
Připojte se k serveru přes SSH a spusťte instalační program s příznakem pro vynechání prohlížeče na serveru: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash -s -- --skip-browser. Pak restartujte shell terminálu a vyberte model pomocí hermes setup --portal. Instalaci ověřte příkazem hermes doctor.
Instalace na serveru je téměř stejná jako na notebooku, jen s jedním rozdílem: agent tam obvykle prohlížeč nepotřebuje. Automatizace prohlížeče navíc přidává objemný Chromium. Proto použijete příznak --skip-browser.
Připojte se k serveru přes SSH
ssh root@your-server-addressVšechny následující příkazy spusťte v této relaci, přímo na serveru.
Spusťte instalaci bez prohlížeče
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash -s -- --skip-browserSkript stáhne potřebné prostředí a nainstaluje příkaz
hermes. Příznak--skip-browserpřeskočí instalaci automatizace prohlížeče; na serveru bez grafického rozhraní by jen zabírala místo. Pokud budete prohlížeč později potřebovat, můžete ho nainstalovat samostatně.Restartujte shell a vyberte model
source ~/.bashrc hermes setup --portalPrvní řádek načte novou hodnotu
PATH, aby bylo možné najít příkazhermes. Druhý otevře přihlášení do Nous Portal: potvrďte přihlášení a agent získá model i služby bez samostatných klíčů pro každou z nich.Ověřte instalaci
hermes doctorPříkaz ukáže, co je nainstalováno, co chybí a jak to opravit. Zelené značky znamenají, že je vše připraveno.
Než přidáte bota a plán, nejprve zprovozněte jednu běžnou konverzaci přímo na serveru: spusťte hermes a zadejte mu jednoduchý úkol s ověřitelnou odpovědí. Dokumentace výslovně doporučuje nepřidávat další funkce, dokud nefunguje běžná konverzace — rozumné doporučení.
Jak udržet Hermes v nepřetržitém provozu?
Hlavní poznatky
Nejprve nakonfigurujte gateway příkazem hermes gateway setup a připojte Telegram. Pak gateway jedním příkazem změňte na službu: hermes gateway install nainstaluje uživatelskou službu, zatímco sudo hermes gateway install --system nainstaluje systémovou službu, která se spouští při startu serveru. Uživatelskou službu spravujte přes hermes gateway start, stop a status. U systémové služby VPS zachovejte výslovné --system a potřebná oprávnění v každé kontrole i změně.
Gateway je jediný proces Hermes běžící na pozadí, který udržuje připojení ke všem messengerům, spravuje relace a spouští naplánované úlohy. Veškerý nepřetržitý provoz se točí kolem něj. Cílem je nastavit, aby se tento proces spouštěl sám a zůstal spuštěný.
Nejprve nakonfigurujte gateway a připojte messenger:
hermes gateway setup
Průvodce nastavením vás provede platformami a pomůže vám zadat token bota a seznam povolených uživatelů. Postup připojení Telegramu (vytvoření bota přes BotFather, zjištění vašeho ID a zadání tokenu) popisuje hlavní instalační návod; nebudu ho zde opakovat.
Pak přichází nejčastější past, na kterou lidé zapomínají. Pokud jednoduše spustíte hermes gateway, proces poběží jen tak dlouho, dokud zůstane otevřená relace SSH. Zavřete terminál a gateway se zastaví. Aby běžela nepřetržitě, musíte ji svěřit správě systému. Slouží k tomu jeden příkaz:
hermes gateway install
Nainstaluje gateway jako službu: v Linuxu jako uživatelskou službu systemd, v macOS prostřednictvím launchd. Systém proces monitoruje a znovu ho spustí, pokud dojde k jeho pádu.
Na serveru budete častěji potřebovat druhou možnost: systémovou službu, která se spouští při startu počítače, ještě než se přihlásí jakýkoli uživatel:
sudo hermes gateway install --system
Následující příkazy spravují uživatelskou službu. Pro systémovou instalaci VPS použijte odpovídající blok s sudo a --system níže:
hermes gateway start # spustit
hermes gateway stop # zastavit
hermes gateway status # zkontrolovat stav
U systémové služby přidejte k těmto příkazům sudo a příznak --system. Bez nich budou příkazy mířit na uživatelskou službu místo služby, která se spouští při startu:
sudo hermes gateway start --system
sudo hermes gateway stop --system
sudo hermes gateway status --system
Proč je potřeba linger a co bez něj přestane fungovat?
Hlavní poznatky
Pokud jste gateway nainstalovali jako uživatelskou službu (bez --system), systemd ji zastaví, jakmile ukončíte SSH, a nespustí ji při startu systému. Opravte to jedním příkazem: sudo loginctl enable-linger username. Poté služba poběží nezávisle na vašich přihlášeních a odhlášeních.
Tohle je nejčastější zádrhel: službu jste nainstalovali, ale bot v noci stejně zmlkne. Důvod souvisí s fungováním uživatelských služeb Linuxu.
Uživatelská služba systemd je ve výchozím nastavení svázána s vaší relací. Připojíte se přes SSH a spustí se váš správce uživatelských služeb; služba běží. Odhlásíte se a systém vyhodnotí uživatele jako neaktivního, takže spolu s gateway vypne jeho služby. U serveru, ke kterému se přihlašujete a odhlašujete, to znamená selhání: bot je online jen po dobu, kdy jste připojeni přes SSH.
Můžete to vyřešit režimem linger, který systému umožňuje ponechat správce uživatelských služeb spuštěného, i když daný uživatel není přihlášený:
sudo loginctl enable-linger username
Po tomto příkazu uživatelská služba poběží samostatně a spustí se při startu serveru, aniž by čekala na vaše přihlášení. Bez lingeru se vrátí původní chování: gateway se po ukončení SSH zastaví a při startu systému se nespustí. Dokumentace to uvádí výslovně.
Upozornění
To se netýká systémové služby (nainstalované příkazem sudo hermes gateway install --system): ta už běží na úrovni počítače a spouští se při startu. Linger je potřeba pouze pro uživatelskou službu. Vyberte si jednu možnost: buď systémovou službu, nebo uživatelskou službu spolu s lingerem.
Jak spouštět Hermes na serveru v Dockeru s automatickým restartováním?
Hlavní poznatky
Pokud dáváte přednost Dockeru, můžete Hermes provozovat jako trvalou gateway v kontejneru: docker run -d --name hermes --restart unless-stopped -v ~/.hermes:/opt/data -p 8642:8642 nousresearch/hermes-agent gateway run. Příznak --restart unless-stopped obnoví kontejner po restartu systému a proces gateway se uvnitř obrazu také restartuje, pokud havaruje.
Docker je další funkční způsob, jak udržet agenta na serveru, zvlášť pokud už jste na kontejnery zvyklí nebo chcete agenta oddělit od hlavního systému. Jednou ho nakonfigurujte pomocí docker run ... setup a potom spusťte kontejner na pozadí:
docker run -d \
--name hermes \
--restart unless-stopped \
-v ~/.hermes:/opt/data \
-p 8642:8642 \
nousresearch/hermes-agent gateway run
Co dělají řádky zajišťující nepřetržitý provoz:
-d— kontejner běží na pozadí a nedrží otevřený terminál.--restart unless-stopped— Docker kontejner znovu spustí po restartu serveru nebo po pádu. Znovu ho spustí pouze tehdy, pokud jste ho ručně nezastavili.-v ~/.hermes:/opt/data— nastavení, klíče, relace a paměť zůstávají na serveru mimo kontejner a přežijí jeho opětovné vytvoření.
Obraz přidává další pojistku: proces gateway běží pod správcem s6. Pokud gateway havaruje, během několika sekund se restartuje, aniž by se musel znovu vytvořit samotný kontejner. Jde o dvojí ochranu: Docker zvenčí udržuje kontejner v chodu, zatímco s6 uvnitř monitoruje proces.
U přístupu přes Docker pamatujte na jeden rozdíl: tyto instalace se neaktualizují příkazem hermes update. Chcete-li aktualizovat Docker, nahraďte obraz novým — stáhněte nejnovější a kontejner znovu vytvořte.
Jak ověřit, že všechno funguje a přežije restart?
Hlavní poznatky
Pomocí systemctl zkontrolujte stav služby a sledujte živý protokol. Pak následuje hlavní test serveru: restartujte počítač a ověřte, že se bot sám vrátí online. Relace a odpovědi Hermes přežijí restart; nedokončená odpověď bude doručena po obnovení provozu.
Stav a protokoly uživatelské služby zkontrolujete takto:
hermes gateway status
journalctl --user -u hermes-gateway -f
Pro systémovou službu doporučenou na VPS použijte systémový rozsah:
sudo hermes gateway status --system
sudo journalctl -u hermes-gateway -f
První příkaz ověřuje vybranou službu, druhý sleduje log stejného rozsahu. Názvy jednotek platí pro výchozí ~/.hermes; jiné domovy Hermes mohou mít příponu. Prohlédněte stav a použijte přesný název jednotky. Při testování systémové instalace nesledujte uživatelskou jednotku. Protokoly Hermes jsou v ~/.hermes/logs/ a tajné údaje se z nich automaticky odstraňují, takže je můžete bezpečně poslat podpoře.
Teď restartujte server a ověřte, že se agent sám znovu spustí. To je hlavní test serveru a lidé na něj často zapomínají:
sudo reboot
Po obnovení dostupnosti serveru se připojte přes SSH. U systémové instalace ověřte sudo hermes gateway status --system a systémový journal, u uživatelské s linger hermes gateway status a uživatelský journal. Poté napište botovi na Telegramu. Pokud odpoví bez vašeho zásahu, automatické spouštění je nastavené správně. Právě o to šlo.
Nemusíte se obávat, že přijdete o konverzaci. Hermes zapisuje relace na disk a ty přežijí restart gateway. A pokud gateway havaruje právě ve chvíli, kdy odesílá odpověď, po obnovení ji doručí, místo aby úlohu spustila znovu. U nepřetržitě fungujícího bota je to důležité: neočekávaný restart konverzaci nepřeruší.
Jak zabezpečit agenta s přístupem k terminálu na serveru?
Hlavní poznatky
Tři hlavní ochranná opatření: přístup k botovi je ve výchozím nastavení uzavřený (odpovídá jen lidem ze seznamu), agent se před spuštěním nebezpečných příkazů zeptá a pro úplné oddělení spouštíte agenta na serveru v Docker sandboxu. Na serveru raději nezapínejte režim bez potvrzování (YOLO).
Agent na serveru je program s přístupem k terminálu, který běží bez vašeho dozoru. Nejprve zkontrolujte tato tři nastavení.
Uzavřený přístup k botovi. Gateway ve výchozím nastavení odpovídá pouze lidem ze seznamu povolených uživatelů nebo těm, kteří dokončili propojení pomocí kódu v přímé zprávě. To je správné chování bota s přístupem k terminálu: náhodný člověk, který botovi napíše, nemůže nic udělat. Seznam se nastavuje pomocí číselných ID, například pro Telegram:
TELEGRAM_ALLOWED_USERS=123456789,987654321
Potvrzení nebezpečných příkazů. Než agent provede cokoli destruktivního, požádá vás o svolení. Existuje režim YOLO, který vypne potvrzování; na serveru běžícím bez vašeho dozoru ho raději nezapínejte. Potvrzování má přesně zabránit tomu, aby se bez vašeho vědomí stalo něco nevratného.
Sandbox pro úplné oddělení. Pokud chcete, aby agent fyzicky nemohl vidět hlavní systém serveru, spouštějte jeho příkazy v kontejneru Docker:
hermes config set terminal.backend docker
Potom se vše, co agent dělá v terminálu, odehrává uvnitř izolovaného sandboxu a nemůže se dostat na produkční server. Jde o rozumné opatření, když agentovi dáte volnost jednat samostatně.
Co dělat, když bot mlčí nebo gateway havaruje?
Hlavní poznatky
Nejprve zkontrolujte stav služby a protokoly; příčinou bývá nejčastěji token bota, seznam povolených uživatelů nebo model. Pokud celý proces úplně zamrzne, služba systemd má watchdog, který gateway restartuje, když přestane vykazovat známky života.
Když bot přestane odpovídat, postupujte v tomto pořadí. Nejprve ověřte instalovaný rozsah: sudo hermes gateway status --system a systémový journal u systémové služby, nebo hermes gateway status a uživatelský journal u uživatelské. Pokud gateway běží, ale zprávy neprocházejí, jde téměř vždy o problém s konfigurací platformy: token bota je nesprávný nebo daná osoba není na seznamu povolených uživatelů. Znovu spusťte hermes gateway setup ve stejném domově Hermes, pak ověřte vybranou službu přes hermes gateway status --system pro systémovou nebo hermes gateway status pro uživatelskou. Úspěšné nastavení nedokazuje běh správné brány.
Pokud model vrací prázdné nebo podivné odpovědi, zkontrolujte ho příkazem hermes model a ověřte poskytovatele a přihlášení. Obecná posloupnost obnovy, která vás vrátí od „všechno je rozbité“ k funkčnímu stavu, je: hermes doctor, hermes model, hermes setup, potom hermes gateway status --system u systémové instalace nebo hermes gateway status u uživatelské.
Ještě jedna věc pro vzácný, ale nepříjemný případ, kdy celý proces zamrzne, aniž by skutečně havaroval. Služba systemd má watchdog: přidejte tento řádek do ~/.hermes/config.yaml a službu znovu nainstalujte.
gateway:
systemd_watchdog_seconds: 120
# Systémová služba VPS ve stejném domově Hermes jako původní instalace:
sudo hermes gateway install --system --force
sudo hermes gateway status --system
U uživatelské služby obnovte pouze tento rozsah přes hermes gateway install --force a ověřte hermes gateway status. Zvolte jediný rozsah; neopravujte jednu bránu instalací obou.
Potom gateway pravidelně systému signalizuje: „Jsem naživu.“ Pokud signály přestanou přicházet, systemd proces automaticky restartuje. Funguje to pouze na Linuxu se systemd a pouze při zamrznutí procesu. Watchdog neovlivní běžné přerušení síťového spojení mezi serverem a messengerem.
Na co dalšího se lidé ptají ohledně Hermes Agent na serveru?
Hlavní poznatky
Stručné odpovědi na běžné otázky: zda je nutný přímo VPS, zda lze na jednom počítači provozovat více botů, zda server potřebuje grafické rozhraní a co se stane s naplánovanými úlohami, když agent běží na serveru.
Často kladené otázky
Musím si pořídit VPS, nebo mi stačí vlastní počítač?
Pro nepřetržitý provoz potřebujete počítač, který je pořád zapnutý. Vlastní počítač bude fungovat, jen pokud jste ochotni ho nikdy nevypínat. VPS je pohodlnější: je stále zapnutý a nezávisí na tom, zda pracujete, nebo spíte. Stačí běžný linuxový server — dokumentace poskytuje podporu první úrovně pro Linux a testuje na čisté instalaci Ubuntu.
Mohu na jednom serveru provozovat několik botů?
Ano. Hermes má profily a každý profil má vlastní službu. Příkaz jako <profile> gateway install vytvoří samostatnou službu s názvem hermes-gateway-<profile> a profily fungují nezávisle. Každý profil má vlastní nastavení, token bota a paměť.
Potřebuje server monitor a grafické rozhraní?
Ne. Server běží bez obrazovky a spravujete ho přes SSH z terminálu. Automatizace prohlížeče je u agenta na takovém serveru obvykle zbytečná, proto spouštíte instalační program s příznakem --skip-browser; tím se odstraní jediná objemná součást, která vyžaduje grafiku.
Budou naplánované úlohy běžet, když budu pryč?
Ano, právě proto se přesouváte na server. Stejná gateway spouští naplánované úlohy: jednou za minutu kontroluje plán, spustí úlohy, když nadejde jejich čas, a výsledek odešle do stejného chatu. Protože gateway běží nepřetržitě jako služba, plán se vykonává sám bez vašeho zásahu.
Přežije bot aktualizaci a restart serveru?
Ano. Nastavení, relace a paměť jsou uloženy ve složce ~/.hermes a neztratí se. Po restartu systémová služba (nebo Docker s příznakem --restart unless-stopped) gateway spustí sama. Nedokončená odpověď bude po restartu doručena a nic se neztratí — pokud však byla při pádu už napůl odeslaná, může dorazit znovu s upozorněním na možnou duplicitu.
Zdroje
Seznamte se s Ailoot.
Další podrobnosti
Časté otázky
Proč brána po instalaci jako systémová služba vypadá zastavená?
Kontrola bez rozsahu může mířit na jinou službu. Pro systémovou instalaci použijte hermes gateway status --system a systémový journal; neupřesněný stav a uživatelský journal pouze pro uživatelskou službu. Zachovejte stejný domov Hermes.
Potřebuje systémová služba VPS loginctl linger?
Ne. Linger je pro uživatelskou službu systemd, která musí přežít odhlášení a startovat při bootu. Systémová služba již startuje při spuštění počítače; zvolte jeden rozsah a po restartu zopakujte stav i odpověď bota.