Ιστολόγιο

Πώς να διατηρείτε το Hermes Agent σε λειτουργία σε διακομιστή όλο το εικοσιτετράωρο

Markdown

Πώς να διατηρείτε το Hermes Agent σε λειτουργία σε διακομιστή 24/7: εγκατάσταση σε VPS χωρίς πρόγραμμα περιήγησης, λειτουργία της πύλης ως υπηρεσίας συστήματος, αυτόματη εκκίνηση μετά από επανεκκίνηση, linger και Docker.

Διαβάστε ολόκληρο το άρθρο

Μετά την εγκατάσταση του Hermes Agent σε φορητό υπολογιστή, προκύπτει ένα ερώτημα: ποιος θα απαντά στο Telegram και θα ετοιμάζει τις πρωινές ανακεφαλαιώσεις όταν ο φορητός υπολογιστής είναι κλειστός; Στο γραφείο σας, ο agent λειτουργεί μόνο όσο ο υπολογιστής είναι ανοιχτός. Για να διατηρείτε το bot συνεχώς online και να εκτελούνται αυτόματα οι προγραμματισμένες εργασίες, πρέπει να μεταφέρετε τον agent σε διακομιστή.

Παρακάτω θα δείτε πώς να εγκαταστήσετε το Hermes σε έναν συνηθισμένο διακομιστή Linux, να μετατρέψετε την πύλη σε υπηρεσία που λειτουργεί συνεχώς και ξεκινά αυτόματα μετά από επανεκκίνηση, και να περιορίσετε την πρόσβαση ώστε να μην μπορούν άγνωστοι να μπουν στο τερματικό. Αυτός ο οδηγός βασίζεται στην επίσημη τεκμηρίωση.

Αν δεν έχετε εγκαταστήσει ακόμη καθόλου το Hermes, ξεκινήστε από τη χωριστή επισκόπηση για το τι είναι αυτός ο agent και πώς να τον εγκαταστήσετε. Αυτός ο οδηγός προϋποθέτει ότι τον έχετε ήδη θέσει σε λειτουργία στον δικό σας υπολογιστή και καλύπτει μόνο τη μεταφορά του σε διακομιστή.

Πληροφορίες για την εργασία με το Ailoot είναι διαθέσιμες στην τεκμηρίωση.

Γιατί να μεταφέρετε το Hermes Agent από φορητό υπολογιστή σε διακομιστή;

Κύρια σημεία

Ένας προσωπικός υπολογιστής λειτουργεί όσο βρίσκεστε κοντά και είναι ενεργοποιημένος. Για λειτουργία όλο το εικοσιτετράωρο, χρειάζεστε διακομιστή: το bot στο Telegram απαντά όταν ο υπολογιστής σας είναι απενεργοποιημένος και οι προγραμματισμένες εργασίες εκτελούνται αυτόματα. Χρειάζεστε διακομιστή μόνο γι' αυτό· ένας φορητός υπολογιστής αρκεί για τη συνηθισμένη εργασία με τον agent.

Σε έναν φορητό υπολογιστή, το Hermes λειτουργεί μόνο όσο το καπάκι είναι ανοιχτό και βρίσκεστε κοντά. Κλείστε τον και το bot σιωπά· η πρωινή ανακεφαλαίωση δεν φτάνει ποτέ. Αυτό δεν κάνει για μια εργασία όπως «να απαντά σε ανθρώπους σε ένα messenger και να φροντίζει πράγματα βάσει προγράμματος».

Αυτό είναι που κάνει διαφορετικό έναν διακομιστή: δεν κοιμάται ποτέ και δεν εξαρτάται από τίποτε άλλο. Εγκαθιστάτε σε αυτόν ακριβώς το ίδιο Hermes και λειτουργεί χωρίς εσάς: απαντά στο Telegram στις τρεις το πρωί, συγκεντρώνει κάθε πρωί ειδήσεις για τα θέματα που σας ενδιαφέρουν και διατηρεί τις συνεδρίες μεταξύ εκτελέσεων.

Η μεταφορά έχει νόημα όταν έχετε μια συνεχή εργασία για τον agent: ένα bot για εσάς ή την ομάδα σας, πρωινές ανακεφαλαιώσεις, αυτόματες απαντήσεις ή τακτική εργασία με έγγραφα. Αν απλώς δοκιμάζετε το Hermes για ένα συγκεκριμένο έργο και βρίσκεστε κοντά, δεν χρειάζεστε ακόμη διακομιστή· είναι ένα επιπλέον βήμα.

Τι πρέπει να προετοιμάσετε πριν εγκαταστήσετε το Hermes σε VPS;

Κύρια σημεία

Χρειάζεστε διακομιστή Linux με πρόσβαση SSH (η επίσημη ομάδα δοκιμάζει σε νέα εγκατάσταση Ubuntu), ένα μοντέλο που έχετε επιλέξει εκ των προτέρων και την κατανόηση ότι ο agent συνήθως δεν χρειάζεται πρόγραμμα περιήγησης σε διακομιστή. Για λειτουργία χωρίς επίβλεψη, ο πιο βολικός τρόπος πρόσβασης σε μοντέλο είναι μέσω του Nous Portal: η σύνδεση OAuth ανανεώνεται αυτόματα, οπότε ένα ληγμένο token δεν θα προκαλέσει διακοπή μέσα στη νύχτα.

Συγκεντρώστε τρία πράγματα πριν από την εγκατάσταση.

Ο διακομιστής. Αρκεί ένα συνηθισμένο Linux VPS. Η τεκμηρίωση αναφέρει ότι η υποστήριξη πρώτης βαθμίδας είναι για Linux και WSL2, ενώ οι δοκιμές γίνονται στην πιο πρόσφατη έκδοση του Ubuntu. Αν το σύστημα διαθέτει glibc, systemd και οικεία διάταξη καταλόγων, το Hermes θα εγκατασταθεί σωστά. Αυτό έχει σημασία σε διακομιστή, επειδή όλα τα παρακάτω βήματα αυτόματης εκκίνησης βασίζονται στο systemd, το οποίο περιλαμβάνεται εξ ορισμού στα Ubuntu και Debian.

Πρόσβαση SSH. Συνδέεστε στον διακομιστή μέσω τερματικού με SSH· δεν θα χρησιμοποιείτε ποντίκι εκεί. Όλες οι παρακάτω εντολές εκτελούνται σε αυτήν τη συνεδρία SSH. Αν γράφετε κώδικα με vibe και δεν αισθάνεστε ακόμη άνετα με το τερματικό, μην ανησυχείτε: υπάρχουν μόνο λίγες εντολές και μπορείτε να αντιγράψετε καθεμία ολόκληρη.

Επιλεγμένο μοντέλο. Ο agent δεν σκέφτεται μόνος του· καλεί ένα μοντέλο. Για έναν διακομιστή που λειτουργεί χωρίς εσάς, είναι σημαντικό η πρόσβαση στο μοντέλο να μην λήγει. Η απλούστερη επιλογή είναι μια συνδρομή Nous Portal μέσω του hermes setup --portal: η σύνδεση χρησιμοποιεί OAuth και το token ανανεώνεται αυτόματα. Λειτουργούν και τα δικά σας API keys, αλλά τότε βεβαιωθείτε ότι υπάρχει υπόλοιπο στον λογαριασμό—ένας headless agent με μηδενικό υπόλοιπο απλώς θα σιωπήσει. Το μοντέλο πρέπει να έχει παράθυρο συμφραζομένων τουλάχιστον 64.000 tokens, διαφορετικά το Hermes θα αρνηθεί να ξεκινήσει με αυτό. Όλα τα μοντέλα cloud της λίστας πληρούν αυτήν την απαίτηση.

Σημείωση

Η επίσημη τεκμηρίωση δεν δίνει ακριβή στοιχεία για την επιλογή VPS ή τους ελάχιστους πόρους, επομένως δεν αναφέρονται εδώ ακριβή στοιχεία. Με βάση την περιγραφόμενη εμπειρία, ένα μέτριο μηχάνημα αρκεί για μια πύλη με bot και πρόγραμμα, επειδή οι απαιτητικοί υπολογισμοί γίνονται στην πλευρά του μοντέλου. Ο ίδιος ο διακομιστής έχει πολύ μικρό φόρτο. Ο αυτοματισμός μέσω προγράμματος περιήγησης είναι το πιο απαιτητικό μέρος, αλλά συνήθως δεν χρειάζεται σε διακομιστή (περισσότερα αμέσως παρακάτω).

Πώς εγκαθιστάτε το Hermes Agent σε διακομιστή με μία εντολή;

Κύρια σημεία

Συνδεθείτε στον διακομιστή μέσω SSH και εκτελέστε το πρόγραμμα εγκατάστασης με τη σημαία παράλειψης του προγράμματος περιήγησης για διακομιστή: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash -s -- --skip-browser. Στη συνέχεια επανεκκινήστε το κέλυφος του τερματικού και επιλέξτε μοντέλο με hermes setup --portal. Ελέγξτε την εγκατάσταση με hermes doctor.

Η εγκατάσταση σε διακομιστή είναι σχεδόν ίδια με την εγκατάσταση σε φορητό υπολογιστή, με μία διαφορά: ο agent συνήθως δεν χρειάζεται πρόγραμμα περιήγησης εκεί. Ο αυτοματισμός μέσω προγράμματος περιήγησης φέρνει επίσης το απαιτητικό Chromium. Γι' αυτό χρησιμοποιείτε τη σημαία --skip-browser.

  1. Συνδεθείτε στον διακομιστή μέσω SSH

    ssh root@your-server-address
    

    Εκτελέστε όλες τις επόμενες εντολές μέσα σε αυτήν τη συνεδρία, στον ίδιο τον διακομιστή.

  2. Εκτελέστε το πρόγραμμα εγκατάστασης χωρίς το πρόγραμμα περιήγησης

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

    Το script κατεβάζει το απαιτούμενο περιβάλλον και εγκαθιστά την εντολή hermes. Η σημαία --skip-browser παραλείπει την εγκατάσταση αυτοματισμού μέσω προγράμματος περιήγησης· σε διακομιστή χωρίς γραφικό περιβάλλον, αυτό θα καταλάμβανε απλώς χώρο. Αν χρειαστείτε πρόγραμμα περιήγησης αργότερα, μπορείτε να το εγκαταστήσετε ξεχωριστά.

  3. Επανεκκινήστε το κέλυφος και επιλέξτε μοντέλο

    source ~/.bashrc
    hermes setup --portal
    

    Η πρώτη γραμμή φορτώνει το νέο PATH ώστε να μπορεί να εντοπιστεί η εντολή hermes. Η δεύτερη ανοίγει τη σύνδεση στο Nous Portal: επιβεβαιώστε τη σύνδεση και ο agent αποκτά μοντέλο και υπηρεσίες χωρίς ξεχωριστά κλειδιά για το καθένα.

  4. Ελέγξτε την εγκατάσταση

    hermes doctor
    

    Η εντολή δείχνει τι έχει εγκατασταθεί, τι λείπει και πώς να το διορθώσετε. Οι πράσινες ενδείξεις σημαίνουν ότι όλα είναι στη θέση τους.

Πριν προσθέσετε bot και πρόγραμμα, βεβαιωθείτε ότι λειτουργεί μια καθαρή συνομιλία απευθείας στον διακομιστή: εκτελέστε το hermes και δώστε του μια απλή εργασία με επαληθεύσιμη απάντηση. Η τεκμηρίωση συμβουλεύει ρητά να μην προσθέτετε λειτουργίες πριν λειτουργήσει μια συνηθισμένη συνομιλία—μια εύστοχη σύσταση.

Πώς διατηρείτε το Hermes σε λειτουργία όλο το εικοσιτετράωρο;

Κύρια σημεία

Πρώτα ρυθμίστε την πύλη με το hermes gateway setup και συνδέστε το Telegram. Έπειτα μετατρέψτε την πύλη σε υπηρεσία με μία εντολή: το hermes gateway install εγκαθιστά υπηρεσία χρήστη, ενώ το sudo hermes gateway install --system εγκαθιστά υπηρεσία συστήματος που ξεκινά όταν εκκινεί ο διακομιστής. Για την υπηρεσία χρήστη, χρησιμοποιήστε hermes gateway start, stop και status. Για την υπηρεσία συστήματος VPS, κρατήστε ρητό πεδίο --system και τα απαιτούμενα προνόμια σε κάθε έλεγχο και αλλαγή υπηρεσίας.

Η πύλη είναι μία διεργασία Hermes στο παρασκήνιο που διατηρεί συνδέσεις με όλα τα messenger, διαχειρίζεται συνεδρίες και εκτελεί προγραμματισμένες εργασίες. Όλη η λειτουργία όλο το εικοσιτετράωρο βασίζεται σε αυτήν. Στόχος είναι να ξεκινά μόνη της αυτή η διεργασία και να παραμένει σε λειτουργία.

Πρώτα ρυθμίστε την πύλη και συνδέστε ένα messenger:

hermes gateway setup

Ο οδηγός ρύθμισης σάς καθοδηγεί στις πλατφόρμες και σας βοηθά να εισαγάγετε το token του bot και τη λίστα πρόσβασης. Τα βήματα σύνδεσης του Telegram (δημιουργία bot με το BotFather, εύρεση του ID σας και εισαγωγή του token) καλύπτονται στον κύριο οδηγό εγκατάστασης· δεν θα τα επαναλάβω εδώ.

Ακολουθεί η παγίδα που οι περισσότεροι ξεχνούν. Αν απλώς εκτελέσετε hermes gateway, η διεργασία θα λειτουργεί μόνο όσο παραμένει ανοιχτή η συνεδρία SSH. Κλείστε το τερματικό και η πύλη σταματά. Για να συνεχίσει να λειτουργεί, πρέπει να την θέσετε υπό τον έλεγχο του συστήματος. Υπάρχει μία εντολή γι' αυτό:

hermes gateway install

Εγκαθιστά την πύλη ως υπηρεσία: σε Linux, ως υπηρεσία systemd χρήστη· σε macOS, μέσω launchd. Το σύστημα παρακολουθεί τη διεργασία και την επανεκκινεί αν καταρρεύσει.

Σε διακομιστή, συχνότερα θα χρειαστείτε τη δεύτερη επιλογή: υπηρεσία συστήματος που ξεκινά όταν εκκινεί το μηχάνημα, πριν συνδεθεί οποιοσδήποτε χρήστης:

sudo hermes gateway install --system

Αυτό ακριβώς χρειάζεστε για ένα VPS: ο διακομιστής επανεκκινείται, η υπηρεσία ξεκινά μόνη της και το bot επανέρχεται online. Διαχειριστείτε την με αυτές τις απλές εντολές:

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

Για μια υπηρεσία συστήματος, προσθέστε sudo και τη σημαία --system σε αυτές τις εντολές. Χωρίς αυτά, οι εντολές θα απευθύνονται στην υπηρεσία χρήστη αντί για εκείνη που ξεκινά κατά την εκκίνηση:

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

Γιατί χρειάζεται το linger και τι χαλάει χωρίς αυτό;

Κύρια σημεία

Αν εγκαταστήσατε την πύλη ως υπηρεσία χρήστη (χωρίς --system), το systemd τη σταματά μόλις αποσυνδεθείτε από το SSH και δεν την ξεκινά κατά την εκκίνηση. Διορθώστε το με μία εντολή: sudo loginctl enable-linger username. Έπειτα η υπηρεσία λειτουργεί ανεξάρτητα από τις συνδέσεις και αποσυνδέσεις σας.

Αυτό είναι το συνηθέστερο εμπόδιο: εγκαταστήσατε την υπηρεσία, αλλά το bot εξακολουθεί να σιωπά τη νύχτα. Ο λόγος είναι ο τρόπος λειτουργίας των υπηρεσιών χρήστη στο Linux.

Μια υπηρεσία systemd χρήστη συνδέεται εξ ορισμού με τη συνεδρία σας. Συνδέεστε μέσω SSH και ξεκινά ο διαχειριστής χρήστη· η υπηρεσία λειτουργεί. Αποσυνδέεστε και το σύστημα θεωρεί ότι ο χρήστης είναι ανενεργός, οπότε τερματίζει τις υπηρεσίες αυτού του χρήστη μαζί με την πύλη σας. Για έναν διακομιστή στον οποίο συνδέεστε και αποσυνδέεστε, αυτό είναι πρόβλημα: το bot είναι online μόνο όσο βρίσκεστε στο SSH.

Μπορείτε να το διορθώσετε με τη λειτουργία linger, η οποία επιτρέπει στο σύστημα να διατηρεί τον διαχειριστή χρήστη σε λειτουργία ακόμη και όταν ο χρήστης δεν είναι συνδεδεμένος:

sudo loginctl enable-linger username

Μετά από αυτήν την εντολή, η υπηρεσία χρήστη λειτουργεί μόνη της και ξεκινά όταν εκκινεί ο διακομιστής, χωρίς να περιμένει να συνδεθείτε. Χωρίς linger, επιστρέφει η αρχική συμπεριφορά: η πύλη τερματίζεται όταν αποσυνδεθείτε από το SSH και δεν ξεκινά κατά την εκκίνηση. Η τεκμηρίωση το δηλώνει ρητά.

Προσοχή

Αυτό δεν ισχύει για την υπηρεσία συστήματος (που εγκαθίσταται με sudo hermes gateway install --system): λειτουργεί ήδη σε επίπεδο μηχανήματος και ξεκινά κατά την εκκίνηση. Το linger χρειάζεται μόνο για υπηρεσία χρήστη. Επιλέξτε μία λύση: είτε υπηρεσία συστήματος είτε υπηρεσία χρήστη μαζί με linger.

Πώς εκτελείτε το Hermes σε διακομιστή στο Docker με αυτόματες επανεκκινήσεις;

Κύρια σημεία

Αν προτιμάτε το Docker, μπορείτε να διατηρείτε το Hermes σε λειτουργία ως μόνιμη πύλη σε κοντέινερ: docker run -d --name hermes --restart unless-stopped -v ~/.hermes:/opt/data -p 8642:8642 nousresearch/hermes-agent gateway run. Η σημαία --restart unless-stopped επαναφέρει το κοντέινερ μετά από επανεκκίνηση, ενώ μέσα στην εικόνα επανεκκινείται επίσης η διεργασία της πύλης αν καταρρεύσει.

Το Docker είναι ένας ακόμη λειτουργικός τρόπος να διατηρείτε τον agent σε διακομιστή, ειδικά αν έχετε ήδη συνηθίσει τα κοντέινερ ή θέλετε να απομονώσετε τον agent από το κύριο σύστημα. Ρυθμίστε το μία φορά με docker run ... setup και έπειτα ξεκινήστε το κοντέινερ στο παρασκήνιο:

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

Οι γραμμές που είναι υπεύθυνες για τη λειτουργία όλο το εικοσιτετράωρο κάνουν τα εξής:

  • -d — το κοντέινερ λειτουργεί στο παρασκήνιο και δεν κρατά ανοιχτό το τερματικό σας.
  • --restart unless-stopped — το Docker επαναφέρει το κοντέινερ μετά από επανεκκίνηση ή κατάρρευση του διακομιστή. Δεν θα το επανεκκινήσει μόνο αν το σταματήσατε χειροκίνητα.
  • -v ~/.hermes:/opt/data — οι ρυθμίσεις, τα κλειδιά, οι συνεδρίες και η μνήμη βρίσκονται στον διακομιστή, έξω από το κοντέινερ, και διατηρούνται αν το αναδημιουργήσετε.

Η εικόνα προσθέτει ακόμη ένα μέτρο προστασίας: η διεργασία της πύλης εκτελείται υπό τον επόπτη s6. Αν η πύλη καταρρεύσει, επανεκκινείται μέσα σε μερικά δευτερόλεπτα χωρίς να χαθεί το ίδιο το κοντέινερ. Πρόκειται για διπλή προστασία: το Docker διατηρεί το κοντέινερ σε λειτουργία απ' έξω, ενώ το s6 παρακολουθεί τη διεργασία μέσα σε αυτό.

Θυμηθείτε μία διαφορά της προσέγγισης με Docker: αυτές οι εγκαταστάσεις δεν ενημερώνονται με την εντολή hermes update. Για ενημέρωση στο Docker, αντικαταστήστε την εικόνα με μια νεότερη—κατεβάστε την πιο πρόσφατη και αναδημιουργήστε το κοντέινερ.

Πώς ελέγχετε ότι όλα λειτουργούν και θα αντέξουν μια επανεκκίνηση;

Κύρια σημεία

Ελέγξτε την κατάσταση της υπηρεσίας με το systemctl και παρακολουθήστε το ζωντανό αρχείο καταγραφής. Έπειτα ακολουθεί η βασική δοκιμή διακομιστή: επανεκκινήστε το μηχάνημα και βεβαιωθείτε ότι το bot επανέρχεται online μόνο του. Οι συνεδρίες και οι απαντήσεις του Hermes διατηρούνται μετά από επανεκκίνηση· μια απάντηση που δεν έχει ολοκληρωθεί θα παραδοθεί μετά την ανάκαμψη.

Για μια υπηρεσία χρήστη, ελέγξτε την κατάστασή της και τα αρχεία καταγραφής ως εξής:

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

Για την υπηρεσία συστήματος που συνιστάται σε VPS, χρησιμοποιήστε αντίστοιχα το πεδίο συστήματος:

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

Η πρώτη εντολή ελέγχει την επιλεγμένη υπηρεσία· η δεύτερη παρακολουθεί το log του ίδιου πεδίου. Αυτά τα ονόματα μονάδων ισχύουν για την προεπιλεγμένη εγκατάσταση ~/.hermes. Άλλα Hermes homes μπορεί να έχουν όνομα μονάδας με επίθημα: εξετάστε την έξοδο κατάστασης και χρησιμοποιήστε εκείνη ακριβώς τη μονάδα. Μην παρακολουθείτε μονάδα χρήστη ενώ δοκιμάζετε εγκατάσταση συστήματος. Τα αρχεία καταγραφής Hermes βρίσκονται στο ~/.hermes/logs/ και τα μυστικά αποκρύπτονται αυτόματα από αυτά, επομένως είναι ασφαλές να τα στείλετε στην υποστήριξη.

Τώρα επανεκκινήστε τον διακομιστή και βεβαιωθείτε ότι ο agent επανέρχεται μόνος του. Αυτή είναι η βασική δοκιμή διακομιστή και συνήθως αυτή που ξεχνούν οι άνθρωποι:

sudo reboot

Αφού ο διακομιστής γίνει ξανά προσβάσιμος, συνδεθείτε μέσω SSH. Για εγκατάσταση συστήματος, ελέγξτε sudo hermes gateway status --system και το journal συστήματος· για εγκατάσταση χρήστη με linger, ελέγξτε hermes gateway status και το journal χρήστη. Έπειτα στείλτε μήνυμα στο bot στο Telegram. Αν απαντήσει χωρίς δική σας παρέμβαση, η αυτόματη εκκίνηση έχει ρυθμιστεί σωστά. Αυτός ήταν ο σκοπός όλων αυτών.

Δεν χρειάζεται να ανησυχείτε μήπως χάσετε τη συνομιλία σας. Το Hermes γράφει τις συνεδρίες στον δίσκο και αυτές επιβιώνουν από επανεκκίνηση της πύλης. Επιπλέον, αν η πύλη καταρρεύσει ακριβώς τη στιγμή που στέλνει μια απάντηση, θα την παραδώσει μετά την ανάκαμψη αντί να εκτελέσει ξανά την εργασία. Αυτό έχει σημασία για ένα bot που λειτουργεί όλο το εικοσιτετράωρο: μια απροσδόκητη επανεκκίνηση δεν θα διακόψει τη συνομιλία.

Πώς ασφαλίζετε έναν agent με πρόσβαση στο τερματικό σε διακομιστή;

Κύρια σημεία

Τα τρία βασικά μέτρα προστασίας: η πρόσβαση στο bot είναι κλειστή εξ ορισμού (απαντά μόνο σε άτομα της λίστας), ο agent ζητά επιβεβαίωση πριν εκτελέσει επικίνδυνες εντολές και, για πλήρη απομόνωση, εκτελείτε τον agent στον διακομιστή μέσα σε sandbox Docker. Είναι προτιμότερο να μην ενεργοποιείτε τη λειτουργία χωρίς επιβεβαίωση (YOLO) σε διακομιστή.

Ένας agent σε διακομιστή είναι ένα πρόγραμμα με πρόσβαση στο τερματικό που εκτελείται χωρίς την επίβλεψή σας. Ελέγξτε πρώτα αυτές τις τρεις ρυθμίσεις.

Κλειστή πρόσβαση bot. Εξ ορισμού, η πύλη απαντά μόνο σε άτομα της λίστας πρόσβασης ή σε όσους έχουν ολοκληρώσει τη σύνδεση μέσω κωδικού σε προσωπικό μήνυμα. Αυτή είναι η σωστή συμπεριφορά για bot με πρόσβαση στο τερματικό: ένας τυχαίος άνθρωπος που στέλνει μήνυμα στο bot δεν μπορεί να κάνει τίποτα. Η λίστα ορίζεται με αριθμητικά ID, για παράδειγμα, για το Telegram:

TELEGRAM_ALLOWED_USERS=123456789,987654321

Επιβεβαίωση για επικίνδυνες εντολές. Πριν κάνει οτιδήποτε καταστροφικό, ο agent ζητά την άδειά σας. Υπάρχει λειτουργία YOLO που απενεργοποιεί τις επιβεβαιώσεις· είναι προτιμότερο να μην την ενεργοποιείτε σε διακομιστή που λειτουργεί χωρίς εσάς. Οι επιβεβαιώσεις υπάρχουν ακριβώς για να αποτρέπουν μη αναστρέψιμες ενέργειες εν αγνοία σας.

Sandbox για πλήρη απομόνωση. Αν θέλετε ο agent να μην μπορεί με φυσικό τρόπο να δει το κύριο σύστημα του διακομιστή, εκτελέστε τις εντολές του μέσα σε κοντέινερ Docker:

hermes config set terminal.backend docker

Έπειτα όλα όσα κάνει ο agent στο τερματικό συμβαίνουν μέσα σε απομονωμένο sandbox και δεν μπορούν να φτάσουν στον ενεργό διακομιστή. Είναι ένα λογικό μέτρο προστασίας όταν δίνετε στον agent ελευθερία να ενεργεί μόνος του.

Τι να κάνετε αν το bot δεν απαντά ή η πύλη καταρρεύσει;

Κύρια σημεία

Πρώτα ελέγξτε την κατάσταση της υπηρεσίας και τα αρχεία καταγραφής· η αιτία είναι συνήθως το token του bot, η λίστα πρόσβασης ή το μοντέλο. Αν παγώσει εντελώς όλη η διεργασία, μια υπηρεσία systemd διαθέτει χρονοδιακόπτη watchdog που επανεκκινεί την πύλη αν πάψει να δείχνει σημάδια ζωής.

Όταν το bot σταματήσει να απαντά, ακολουθήστε αυτήν τη σειρά. Ελέγξτε πρώτα το πεδίο που εγκαταστήσατε: sudo hermes gateway status --system και το journal συστήματος για υπηρεσία συστήματος ή hermes gateway status και το journal χρήστη για υπηρεσία χρήστη. Αν η πύλη λειτουργεί αλλά τα μηνύματα δεν φτάνουν, σχεδόν πάντα πρόκειται για πρόβλημα ρύθμισης της πλατφόρμας: το token του bot είναι λανθασμένο ή το άτομο δεν βρίσκεται στη λίστα πρόσβασης. Εκτελέστε ξανά το hermes gateway setup στο ίδιο Hermes home και εξετάστε την επιλεγμένη υπηρεσία με hermes gateway status --system για σύστημα ή hermes gateway status για χρήστη. Επιτυχημένο setup δεν αποδεικνύει ότι εκτελείται η σωστή πύλη.

Αν το μοντέλο επιστρέφει κενές ή παράξενες απαντήσεις, ελέγξτε το με το hermes model και επιβεβαιώστε τον πάροχο και τη σύνδεση. Η γενική ακολουθία ανάκαμψης που σας επαναφέρει από το «όλα είναι χαλασμένα» σε λειτουργική κατάσταση είναι: hermes doctor, hermes model, hermes setup και έπειτα hermes gateway status --system για εγκατάσταση συστήματος ή hermes gateway status για εγκατάσταση χρήστη.

Ένα ακόμη πράγμα για τη σπάνια αλλά δυσάρεστη περίπτωση κατά την οποία παγώνει όλη η διεργασία χωρίς να καταρρεύσει. Μια υπηρεσία systemd διαθέτει χρονοδιακόπτη watchdog: προσθέστε αυτήν τη γραμμή στο ~/.hermes/config.yaml και εγκαταστήστε ξανά την υπηρεσία.

gateway:
  systemd_watchdog_seconds: 120
# Για την υπηρεσία συστήματος VPS (ίδιο Hermes home με την αρχική εγκατάσταση):
sudo hermes gateway install --system --force
sudo hermes gateway status --system

Για υπηρεσία χρήστη, αναδημιουργήστε μόνο εκείνο το πεδίο με hermes gateway install --force και ελέγξτε hermes gateway status. Επιλέξτε ένα πεδίο· μην εγκαθιστάτε και τα δύο για να επισκευάσετε μία πύλη.

Έπειτα η πύλη στέλνει τακτικά σήμα στο σύστημα, «είμαι ζωντανή», και αν σταματήσουν τα σήματα, το systemd επανεκκινεί αυτόματα τη διεργασία. Αυτό λειτουργεί μόνο σε Linux με systemd και μόνο για παγώματα διεργασίας. Ο χρονοδιακόπτης watchdog δεν επηρεάζει μια συνηθισμένη διακοπή δικτύου μεταξύ του διακομιστή και του messenger.

Τι άλλο ρωτούν για το Hermes Agent σε διακομιστή;

Κύρια σημεία

Γρήγορες απαντήσεις σε συνηθισμένες ερωτήσεις: αν απαιτείται συγκεκριμένα VPS, αν μπορείτε να διατηρείτε πολλά bot σε ένα μηχάνημα, αν ο διακομιστής χρειάζεται γραφικό περιβάλλον και τι συμβαίνει με τις προγραμματισμένες εργασίες όταν ο agent βρίσκεται σε διακομιστή.

Συχνές ερωτήσεις

Πρέπει οπωσδήποτε να πάρω VPS ή αρκεί ο δικός μου υπολογιστής;

Για λειτουργία όλο το εικοσιτετράωρο, χρειάζεστε ένα μηχάνημα που είναι πάντα ενεργοποιημένο. Ο δικός σας υπολογιστής λειτουργεί μόνο αν είστε πρόθυμοι να μην τον απενεργοποιήσετε ποτέ. Ένα VPS είναι πιο βολικό: είναι πάντα ενεργό και δεν εξαρτάται από το αν εργάζεστε ή κοιμάστε. Αρκεί ένας συνηθισμένος διακομιστής Linux—η τεκμηρίωση αναφέρει υποστήριξη πρώτης βαθμίδας για Linux και οι δοκιμές γίνονται σε νέα εγκατάσταση Ubuntu.

Μπορώ να εκτελώ πολλά bot σε έναν διακομιστή;

Ναι. Το Hermes διαθέτει προφίλ και κάθε προφίλ έχει τη δική του υπηρεσία. Μια εντολή όπως <profile> gateway install δημιουργεί ξεχωριστή υπηρεσία με όνομα hermes-gateway-<profile>, και λειτουργούν ανεξάρτητα. Κάθε προφίλ έχει τις δικές του ρυθμίσεις, token bot και μνήμη.

Χρειάζεται ο διακομιστής οθόνη και γραφικά;

Όχι. Ο διακομιστής λειτουργεί χωρίς οθόνη και τον διαχειρίζεστε μέσω SSH από το τερματικό. Ο αυτοματισμός μέσω προγράμματος περιήγησης συνήθως δεν χρειάζεται για agent σε αυτόν τον τύπο διακομιστή, οπότε εκτελείτε το πρόγραμμα εγκατάστασης με τη σημαία --skip-browser· έτσι αφαιρείται το μοναδικό απαιτητικό στοιχείο που χρειάζεται γραφικά.

Θα εκτελούνται οι προγραμματισμένες εργασίες όταν λείπω;

Ναι, αυτός είναι ο σκοπός της μεταφοράς σε διακομιστή. Η ίδια πύλη εκτελεί τις προγραμματισμένες εργασίες: ελέγχει το πρόγραμμα μία φορά το λεπτό και εκτελεί τις εργασίες όταν έρθει η ώρα τους, έπειτα στέλνει το αποτέλεσμα στην ίδια συνομιλία. Επειδή η πύλη λειτουργεί όλο το εικοσιτετράωρο ως υπηρεσία, το πρόγραμμα εκτελείται μόνο του χωρίς τη συμμετοχή σας.

Θα επιβιώσει το bot από ενημέρωση και επανεκκίνηση διακομιστή;

Ναι. Οι ρυθμίσεις, οι συνεδρίες και η μνήμη αποθηκεύονται στον φάκελο ~/.hermes και δεν χάνονται. Μετά από επανεκκίνηση, η υπηρεσία συστήματος (ή το Docker με --restart unless-stopped) ξεκινά την πύλη μόνη της. Μια απάντηση που δεν έχει ολοκληρωθεί θα παραδοθεί μετά την επανεκκίνηση και τίποτα δεν θα χαθεί—αν και, αν η απάντηση είχε ήδη σταλεί κατά το ήμισυ όταν συνέβη η κατάρρευση, μπορεί να φτάσει ξανά με ειδοποίηση πιθανού διπλότυπου.

Γνωρίστε το Ailoot.

Περισσότερες λεπτομέρειες

Ερωτήσεις και απαντήσεις: Πώς να διατηρείτε το Hermes Agent σε λειτουργία σε διακομιστή όλο το εικοσιτετράωρο

Γιατί η πύλη μπορεί να φαίνεται σταματημένη αφού εγκαταστάθηκε ως υπηρεσία συστήματος;

Ένας έλεγχος χωρίς ρητό πεδίο μπορεί να στοχεύει άλλη υπηρεσία. Χρησιμοποιήστε hermes gateway status --system και το journal συστήματος για εγκατάσταση συστήματος· χρησιμοποιήστε κατάσταση χωρίς πεδίο και journal χρήστη μόνο για υπηρεσία χρήστη. Κρατήστε το ίδιο Hermes home σε όλη τη διαδικασία.

Μια υπηρεσία συστήματος VPS χρειάζεται loginctl linger;

Όχι. Το linger αφορά υπηρεσία systemd χρήστη που πρέπει να επιβιώνει μετά την αποσύνδεση και να ξεκινά στην εκκίνηση. Η υπηρεσία συστήματος ξεκινά ήδη στην εκκίνηση του μηχανήματος· επιλέξτε ένα πεδίο εγκατάστασης και επαναλάβετε έλεγχο κατάστασης και απόκρισης bot μετά από επανεκκίνηση.

Όλα τα άρθρα