Slik holder du Hermes Agent i gang på en server døgnet rundt
MarkdownSlik holder du Hermes Agent i gang på en server døgnet rundt: installasjon på en VPS uten nettleser, kjøring av gatewayen som en systemtjeneste, automatisk oppstart etter omstart, linger og Docker.
Les hele artikkelen
Etter at du har installert Hermes Agent på en bærbar PC, dukker spørsmålet opp: Hvem svarer på Telegram og setter sammen morgenoppsummeringene når den bærbare PC-en er lukket? Ved skrivebordet fungerer agenten bare så lenge datamaskinen er på. Hvis boten skal være på nett hele tiden og planlagte oppgaver skal kjøres automatisk, må du flytte agenten til en server.
Nedenfor ser du hvordan du installerer Hermes på en vanlig Linux-server, gjør gatewayen til en tjeneste som kjører kontinuerlig og starter automatisk etter en omstart, og begrenser tilgangen slik at fremmede ikke kan komme inn i terminalen. Denne veiledningen bygger på den offisielle dokumentasjonen.
Hvis du ikke har installert Hermes ennå, kan du begynne med den separate oversikten over hva denne agenten er og hvordan du installerer den. Denne veiledningen forutsetter at den allerede kjører på din egen maskin, og handler bare om å flytte den til en server.
Informasjon om hvordan du bruker Ailoot, finner du i dokumentasjonen.
Hvorfor flytte Hermes Agent fra en bærbar PC til en server?
Viktige punkter
En personlig datamaskin fungerer så lenge du er i nærheten og den er slått på. For drift døgnet rundt trenger du en server: Telegram-boten svarer når datamaskinen din er slått av, og planlagte oppgaver kjøres automatisk. Du trenger bare en server til dette; en bærbar PC er nok til vanlig arbeid med agenten.
På en bærbar PC fungerer Hermes bare mens lokket er åpent og du er i nærheten. Lukk det, og boten blir stille; morgenoppsummeringen kommer aldri. Det fungerer dårlig for en oppgave som «å svare folk i en meldingstjeneste og ordne ting etter en tidsplan».
Det er dette som gjør en server annerledes: Den sover aldri og er ikke avhengig av noe annet. Du installerer den samme Hermes på den, og den kjører uten deg: svarer på Telegram klokken tre om natten, samler nyheter om temaene dine hver morgen og beholder økter mellom kjøringene.
Det gir mening å flytte den når du har en løpende oppgave for agenten: en bot for deg selv eller teamet ditt, morgenoppsummeringer, automatiske svar eller regelmessig arbeid med dokumenter. Hvis du bare prøver Hermes ut for et bestemt prosjekt og sitter i nærheten, trenger du ingen server ennå; det er et ekstra steg.
Hva bør du gjøre klart før du installerer Hermes på en VPS?
Viktige punkter
Du trenger en Linux-server med SSH-tilgang (det offisielle teamet tester på en ny Ubuntu-installasjon), en modell du har valgt på forhånd, og en forståelse av at agenten vanligvis ikke trenger en nettleser på en server. For drift uten tilsyn er Nous Portal den mest praktiske måten å få tilgang til en modell på: OAuth-påloggingen fornyes automatisk, så et utløpt token stanser ikke driften i løpet av natten.
Gjør klart tre ting før installasjonen.
Serveren. En vanlig Linux-VPS er nok. Dokumentasjonen gir førsteprioritetsstøtte til Linux og WSL2, og testingen gjøres på den nyeste Ubuntu-versjonen. Hvis systemet har glibc, systemd og en kjent katalogstruktur, installeres Hermes riktig. Dette er viktig på en server fordi alle trinnene for automatisk oppstart nedenfor er avhengige av systemd, som følger med Ubuntu og Debian.
SSH-tilgang. Du kobler til serveren fra en terminal via SSH; du bruker ikke mus der. Alle kommandoene nedenfor kjøres i denne SSH-økten. Hvis du driver med vibe-coding og ennå ikke er komfortabel med terminalen, trenger du ikke bekymre deg: Det er bare noen få kommandoer, og du kan kopiere hver enkelt i sin helhet.
En valgt modell. Agenten tenker ikke på egen hånd; den kaller en modell. For en server som skal fungere uten deg, er det viktig at tilgangen til modellen ikke utløper. Det enkleste alternativet er et Nous Portal-abonnement via hermes setup --portal: Påloggingen bruker OAuth, og tokenet fornyes automatisk. Dine egne API-nøkler fungerer også, men da må du sørge for at det er penger på kontoen — en agent uten tilsyn med tom saldo blir rett og slett stille. Modellen må ha et kontekstvindu på minst 64,000 tokens, ellers nekter Hermes å starte med den. Alle skymodellene på listen oppfyller dette kravet.
Merknad
Den offisielle dokumentasjonen oppgir ingen nøyaktige tall for valg av VPS eller minimumsressurser, så det oppgis heller ingen nøyaktige tall her. Basert på erfaringen som er beskrevet, er en beskjeden maskin nok til en gateway med en bot og en tidsplan, fordi den tunge databehandlingen skjer på modellens side. Selve serveren belastes svært lite. Nettleserautomatisering er den tyngste delen, men er vanligvis unødvendig på en server (mer om det rett nedenfor).
Hvordan installerer du Hermes Agent på en server med én kommando?
Viktige punkter
Koble til serveren via SSH, og kjør installasjonsprogrammet med flagget som hopper over nettleseren på en server: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash -s -- --skip-browser. Start deretter terminalskallet på nytt, og velg en modell med hermes setup --portal. Kontroller installasjonen med hermes doctor.
Installasjonen på en server er nesten den samme som på en bærbar PC, med én forskjell: Agenten trenger vanligvis ikke en nettleser der. Nettleserautomatisering tar også med seg den ressurskrevende Chromium. Derfor bruker du flagget --skip-browser.
Koble til serveren via SSH
ssh root@your-server-addressKjør alle de følgende kommandoene i denne økten, på selve serveren.
Kjør installasjonsprogrammet uten nettleseren
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash -s -- --skip-browserSkriptet laster ned det nødvendige miljøet og installerer kommandoen
hermes. Flagget--skip-browserhopper over installasjonen av nettleserautomatisering; på en server uten grafisk grensesnitt ville den bare tatt opp plass. Hvis du trenger en nettleser senere, kan du installere den separat.Start skallet på nytt og velg en modell
source ~/.bashrc hermes setup --portalDen første linjen laster inn den nye
PATH-verdien slik at kommandoenhermesblir funnet. Den andre åpner Nous Portal-påloggingen: Bekreft påloggingen, så får agenten en modell og tjenester uten separate nøkler for hver av dem.Kontroller installasjonen
hermes doctorKommandoen viser hva som er installert, hva som mangler, og hvordan du kan rette det. Grønne markeringer betyr at alt er på plass.
Få én vanlig samtale til å fungere direkte på serveren før du legger til en bot og en tidsplan: Kjør hermes og gi den en enkel oppgave med et svar som kan verifiseres. Dokumentasjonen fraråder uttrykkelig å legge til funksjoner før en vanlig samtale fungerer — det er et godt råd.
Hvordan holder du Hermes i gang døgnet rundt?
Viktige punkter
Konfigurer først gatewayen med hermes gateway setup, og koble til Telegram. Gjør deretter gatewayen til en tjeneste med én kommando: hermes gateway install installerer en brukertjeneste, mens sudo hermes gateway install --system installerer en systemtjeneste som starter når serveren starter opp. For brukertjenesten bruker du hermes gateway start, stop og status. For systemtjenesten på VPS beholder du eksplisitt --system og nødvendige rettigheter i alle statuskontroller og endringer.
Gatewayen er én Hermes-prosess i bakgrunnen som opprettholder forbindelser til alle meldingstjenestene, administrerer økter og kjører planlagte oppgaver. All drift døgnet rundt dreier seg om den. Målet er å få denne prosessen til å starte automatisk og fortsette å kjøre.
Konfigurer først gatewayen og koble til en meldingstjeneste:
hermes gateway setup
Konfigurasjonsveiviseren viser deg plattformene og hjelper deg med å oppgi bot-tokenet og tilgangslisten. Trinnene for å koble til Telegram (opprette en bot med BotFather, finne ID-en din og oppgi tokenet) er omtalt i hovedveiledningen for installasjon; jeg gjentar dem ikke her.
Deretter kommer fellen folk oftest glemmer. Hvis du bare kjører hermes gateway, kjører prosessen bare så lenge SSH-økten er åpen. Lukk terminalen, og gatewayen stopper. For å holde den i gang kontinuerlig må du la systemet styre den. Det gjør du med én kommando:
hermes gateway install
Den installerer gatewayen som en tjeneste: som en systemd-brukertjeneste på Linux og via launchd på macOS. Systemet overvåker prosessen og starter den på nytt hvis den krasjer.
På en server trenger du oftere det andre alternativet: en systemtjeneste som starter når maskinen starter opp, før noen bruker logger seg inn:
sudo hermes gateway install --system
Det er akkurat dette du trenger for en VPS: Serveren starter på nytt, tjenesten starter av seg selv, og boten er på nett igjen. Administrer den med disse enkle kommandoene:
hermes gateway start # start
hermes gateway stop # stop
hermes gateway status # check status
For en systemtjeneste legger du til sudo og flagget --system i disse kommandoene. Uten dem retter kommandoene seg mot brukertjenesten i stedet for tjenesten som starter ved oppstart:
sudo hermes gateway start --system
sudo hermes gateway stop --system
sudo hermes gateway status --system
Hvorfor er linger nødvendig, og hva går galt uten det?
Viktige punkter
Hvis du installerte gatewayen som en brukertjeneste (uten --system), stopper systemd den så snart du logger ut av SSH, og den starter ikke ved oppstart. Løs dette med én kommando: sudo loginctl enable-linger username. Deretter kjører tjenesten uavhengig av om du logger inn eller ut.
Dette er den vanligste snublesteinen: Du installerte tjenesten, men boten blir likevel stille om natten. Årsaken er måten Linux-brukertjenester fungerer på.
En systemd-brukertjeneste er som standard knyttet til økten din. Du kobler til via SSH, brukerbehandleren din starter, og tjenesten kjører. Du logger ut, systemet regner brukeren som inaktiv og avslutter brukerens tjenester sammen med gatewayen. På en server du logger inn og ut av, er dette et problem: Boten er bare på nett mens du er i SSH.
Du kan løse dette med linger-modus, som lar systemet holde brukerbehandleren i gang selv når brukeren ikke er logget inn:
sudo loginctl enable-linger username
Etter denne kommandoen kjører brukertjenesten på egen hånd og starter når serveren starter opp, uten å vente på at du logger inn. Uten linger går systemet tilbake til den opprinnelige oppførselen: Gatewayen stopper når du logger ut av SSH, og den starter ikke ved oppstart. Dokumentasjonen sier dette uttrykkelig.
Obs
Dette gjelder ikke systemtjenesten (installert med sudo hermes gateway install --system): Den kjører allerede på maskinnivå og starter ved oppstart. Linger trengs bare for en brukertjeneste. Velg én: enten en systemtjeneste eller en brukertjeneste med linger.
Hvordan kjører du Hermes på en server i Docker med automatiske omstarter?
Viktige punkter
Hvis du foretrekker Docker, kan du holde Hermes i gang som en vedvarende gateway i en container: docker run -d --name hermes --restart unless-stopped -v ~/.hermes:/opt/data -p 8642:8642 nousresearch/hermes-agent gateway run. Flagget --restart unless-stopped starter containeren på nytt etter en omstart, og inne i imaget startes også gateway-prosessen på nytt hvis den krasjer.
Docker er en annen fungerende måte å ha agenten på en server på, særlig hvis du allerede er vant til containere eller vil isolere agenten fra hovedsystemet. Konfigurer den én gang med docker run ... setup, og start deretter containeren i bakgrunnen:
docker run -d \
--name hermes \
--restart unless-stopped \
-v ~/.hermes:/opt/data \
-p 8642:8642 \
nousresearch/hermes-agent gateway run
Dette gjør linjene som sørger for drift døgnet rundt:
-d— containeren kjører i bakgrunnen og holder ikke terminalen åpen.--restart unless-stopped— Docker starter containeren på nytt etter en omstart av serveren eller et krasj. Den startes ikke på nytt bare hvis du har stoppet den manuelt.-v ~/.hermes:/opt/data— innstillinger, nøkler, økter og minne lagres på serveren, utenfor containeren, og overlever at den opprettes på nytt.
Imaget gir en ekstra sikkerhet: Gateway-prosessen kjører under s6-veilederen. Hvis gatewayen krasjer, startes den på nytt i løpet av et par sekunder uten at selve containeren går tapt. Det gir dobbel beskyttelse: Docker holder containeren i gang utenfra, mens s6 overvåker prosessen inni.
Husk én forskjell ved Docker-metoden: Disse installasjonene oppdateres ikke med kommandoen hermes update. For å oppdatere i Docker må du erstatte imaget med et nytt — last ned det nyeste og opprett containeren på nytt.
Hvordan kontrollerer du at alt fungerer og tåler en omstart?
Viktige punkter
Kontroller tjenestestatusen med systemctl, og følg loggen direkte. Deretter kommer den viktigste servertesten: Start maskinen på nytt og kontroller at boten kommer på nett igjen av seg selv. Hermes-økter og svar overlever en omstart; et uferdig svar leveres etter gjenoppretting.
Slik kontrollerer du status og logger for en brukertjeneste:
hermes gateway status
journalctl --user -u hermes-gateway -f
For systemtjenesten som anbefales på VPS, bruker du systemomfanget i stedet:
sudo hermes gateway status --system
sudo journalctl -u hermes-gateway -f
Den første kommandoen kontrollerer valgt tjeneste; den andre følger loggen for samme omfang. Enhetsnavnene gjelder standardinstallasjonen i ~/.hermes. Andre Hermes-hjem kan ha et suffiks i enhetsnavnet. Undersøk statusutdataene og bruk det eksakte navnet. Ikke overvåk en brukerenhet mens du tester en systeminstallasjon. Hermes-loggene ligger i ~/.hermes/logs/, og hemmeligheter sladdes automatisk fra dem, så det er trygt å sende dem til kundestøtte.
Start nå serveren på nytt, og kontroller at agenten kommer tilbake av seg selv. Dette er den viktigste servertesten, og den folk som regel glemmer:
sudo reboot
Koble til via SSH når serveren er tilgjengelig igjen. Ved systeminstallasjon kontrollerer du sudo hermes gateway status --system og systemjournalen; ved brukerinstallasjon med linger kontrollerer du hermes gateway status og brukerjournalen. Send deretter boten en melding på Telegram. Hvis den svarer uten at du gjør noe, er automatisk oppstart riktig konfigurert. Det var hele poenget.
Du trenger ikke bekymre deg for å miste samtalen. Hermes skriver økter til disk, og de overlever en omstart av gatewayen. Dessuten leverer den svaret etter gjenoppretting i stedet for å kjøre oppgaven på nytt hvis gatewayen krasjer akkurat idet den sender et svar. Dette er viktig for en bot som kjører døgnet rundt: En uventet omstart ødelegger ikke samtalen.
Hvordan sikrer du en agent med terminaltilgang på en server?
Viktige punkter
De tre viktigste sikkerhetstiltakene: Bottilgangen er stengt som standard (den svarer bare personer på listen), agenten spør før den kjører farlige kommandoer, og for full isolasjon kjører du agenten på serveren i en Docker-sandkasse. Det er best å ikke aktivere modus uten bekreftelse (YOLO) på en server.
En agent på en server er et program med terminaltilgang som kjører uten tilsyn fra deg. Kontroller disse tre innstillingene først.
Stengt bottilgang. Som standard svarer gatewayen bare personer på tilgangslisten eller personer som har fullført kodebasert kobling i en direktemelding. Dette er riktig oppførsel for en bot med terminaltilgang: En tilfeldig person som sender boten en melding, kan ikke gjøre noe. Listen angis ved hjelp av numeriske ID-er, for eksempel for Telegram:
TELEGRAM_ALLOWED_USERS=123456789,987654321
Bekreftelse for farlige kommandoer. Før den gjør noe destruktivt, spør agenten om tillatelse. Det finnes en YOLO-modus som deaktiverer bekreftelser; det er best å ikke aktivere den på en server som kjører uten deg. Bekreftelser er nettopp der for å forhindre at noe irreversibelt skjer uten at du vet om det.
En sandkasse for full isolasjon. Hvis du vil at agenten fysisk sett ikke skal kunne se serverens hovedsystem, kjører du kommandoene dens i en Docker-container:
hermes config set terminal.backend docker
Da foregår alt agenten gjør i terminalen, inne i en isolert sandkasse som ikke kan nå serveren som er i drift. Det er et fornuftig sikkerhetstiltak når du lar agenten handle på egen hånd.
Hva gjør du hvis boten er stille eller gatewayen krasjer?
Viktige punkter
Kontroller først tjenestestatusen og loggene; årsaken er som oftest bot-tokenet, tilgangslisten eller modellen. Hvis hele prosessen fryser helt, har en systemd-tjeneste en vakthundtimer som starter gatewayen på nytt hvis den slutter å vise livstegn.
Når boten slutter å svare, følger du denne rekkefølgen. Kontroller først det installerte omfanget: sudo hermes gateway status --system og systemjournalen for en systemtjeneste, eller hermes gateway status og brukerjournalen for en brukertjeneste. Hvis gatewayen kjører, men meldinger ikke kommer frem, skyldes det nesten alltid en konfigurasjon av plattformen: Bot-tokenet er feil, eller personen står ikke på tilgangslisten. Kjør hermes gateway setup på nytt i samme Hermes-hjem. Undersøk deretter valgt tjeneste med hermes gateway status --system for system eller hermes gateway status for bruker. Et vellykket oppsett beviser ikke at riktig gateway kjører.
Hvis modellen gir tomme eller merkelige svar, kontroller den med hermes model og bekreft leverandøren og påloggingen. Den generelle gjenopprettingssekvensen som tar deg fra «alt er ødelagt» tilbake til fungerende tilstand, er: hermes doctor, hermes model, hermes setup, etterfulgt av hermes gateway status --system for systeminstallasjon eller hermes gateway status for brukerinstallasjon.
En ting til om det sjeldne, men ubehagelige tilfellet der hele prosessen fryser uten faktisk å krasje. Legg denne linjen til i ~/.hermes/config.yaml og installer tjenesten på nytt.
gateway:
systemd_watchdog_seconds: 120
# For VPS-systemtjenesten (samme Hermes-hjem som opprinnelig):
sudo hermes gateway install --system --force
sudo hermes gateway status --system
For en brukertjeneste regenererer du bare det omfanget med hermes gateway install --force og kontrollerer hermes gateway status. Velg ett omfang; ikke installer begge for å reparere én gateway.
Deretter sender gatewayen regelmessig et signal til systemet om at «jeg er i live», og hvis signalene stopper, starter systemd prosessen automatisk på nytt. Dette fungerer bare på Linux med systemd, og bare når prosessen fryser. Vakthundtimeren påvirker ikke et vanlig nettverksbrudd mellom serveren og meldingstjenesten.
Hva mer spør folk om Hermes Agent på en server?
Viktige punkter
Korte svar på vanlige spørsmål: om du spesifikt trenger en VPS, om du kan ha flere boter på én maskin, om serveren trenger et grafisk grensesnitt, og hva som skjer med planlagte oppgaver når agenten kjører på en server.
Vanlige spørsmål
Må jeg skaffe en VPS, eller holder det med min egen datamaskin?
For drift døgnet rundt trenger du en maskin som alltid er slått på. Din egen datamaskin fungerer bare hvis du er villig til aldri å slå den av. En VPS er mer praktisk: Den er alltid på og er ikke avhengig av om du jobber eller sover. En vanlig Linux-server holder — dokumentasjonen gir Linux førsteprioritetsstøtte, og testingen gjøres på en ny Ubuntu-installasjon.
Kan jeg kjøre flere boter på én server?
Ja. Hermes har profiler, og hver profil har sin egen tjeneste. En kommando som <profile> gateway install oppretter en separat tjeneste med navnet hermes-gateway-<profile>, og de fungerer uavhengig av hverandre. Hver profil har egne innstillinger, bot-token og minne.
Trenger serveren en skjerm og grafikk?
Nei. Serveren kjører uten skjerm og administreres over SSH fra terminalen. Nettleserautomatisering er vanligvis unødvendig for en agent på en slik server, så du kjører installasjonsprogrammet med flagget --skip-browser; det fjerner den eneste ressurskrevende komponenten som krever grafikk.
Kjører planlagte oppgaver mens jeg er borte?
Ja, det er poenget med å flytte agenten til en server. Den samme gatewayen kjører planlagte oppgaver: Den kontrollerer tidsplanen én gang i minuttet og kjører oppgaver når tiden er inne, og sender deretter resultatet til den samme chatten. Fordi gatewayen kjører døgnet rundt som en tjeneste, går tidsplanen av seg selv uten at du trenger å gjøre noe.
Vil boten overleve en oppdatering og en omstart av serveren?
Ja. Innstillinger, økter og minne lagres i mappen ~/.hermes og går ikke tapt. Etter en omstart starter systemtjenesten (eller Docker med --restart unless-stopped) gatewayen av seg selv. Et uferdig svar leveres etter en omstart, og ingenting går tapt — men hvis svaret allerede var halvveis i sendingen da krasjet skjedde, kan det komme en gang til med et varsel om at det kan være en duplikat.
Kilder
Bli kjent med Ailoot.
Flere detaljer
Spørsmål om denne veiledningen: Slik holder du Hermes Agent i gang på en server døgnet rundt
Hvorfor kan gatewayen se stoppet ut etter installasjon som systemtjeneste?
En kontroll uten angitt omfang kan gjelde en annen tjeneste. Bruk hermes gateway status --system og systemjournalen for systeminstallasjonen. Bruk status uten flagget og brukerjournalen bare for brukertjenesten. Behold samme Hermes-hjem hele veien.
Trenger en VPS-systemtjeneste loginctl linger?
Nei. Linger gjelder en systemd-brukertjeneste som må overleve utlogging og starte ved oppstart. En systemtjeneste starter allerede når maskinen starter. Velg ett installasjonsomfang, og gjenta statuskontrollen og botens svartest etter omstart.