AiHummer
Français
ConnexionCompte
v1.2.x
{ }Swagger

Installation

v1.2.x · mis à jour 2026-08-04

AiHummer installe hôte-natif. L’installation commence dans votre compte personnel à my.aihummer.ru: vous vous inscrivez, obtenez un lien d’installation personnel et exécutez une seule commande sur votre serveur. Le script d’installation télécharge un paquet signé pour votre architecture, installe une seule racine d’installation sous ~/.aihummer (dans le répertoire personnel de l’utilisateur qui a exécuté l’installateur), enregistre les unités systemd et, éventuellement, prévoit des sidecars. Il n’y a pas de conteneurs à aucun moment dans ce processus.

[!NOTE] Ceci est une installation native sur l’hôte — une archive de version fonctionnant sous systemd, pas Docker. La passerelle, les sidecars et les plugins fonctionnent chacun comme leur propre systemd service.

[!NOTE] Ce dont vous aurez besoin avant de commencer :

  • une Linux serveur (x86_64 ou arm64) que vous pouvez atteindre via SSH ;
  • sudo droits (ou une volonté d’installer sans root — voir ci-dessous);
  • PostgreSQL avec le pgcrypto extension — ou laisser l’installateur en prévoir une cluster en mode utilisateur (en mode sans privilèges il le fait lui-même);
  • un compte chez my.aihummer.ru obtenir votre personnel lien d’installation.

La liste complète des exigences se trouve sur le Exigences page.

Étape 1 : obtenez votre lien d’installation personnel

Il n’y a pas de script d’installation public — le lien d’installation est personnel et émis dans votre portail de compte :

  1. S’inscrire à my.aihummer.ru (numéro de téléphone + mot de passe ; l’e-mail est également nécessaire).
  2. Ouvrir le Installation écran et cliquez sur « Obtenir le lien d’installation personnel ».
  3. Le portail affiche une commande prête à être exécutée avec votre lien personnel.

Plus d’informations sur le portail lui-même (détails de facturation, documents, plans) se trouvent sur le Compte personnel page.

Étape 2 : installation en une commande

Copiez la commande depuis l’écran “Installation” et exécutez-la sur votre serveur (Linux x86_64/arm64) :

curl -fsSL -o install.sh "<your personal install link>" && sudo bash install.sh

Le lien personnel se présente sous la forme https://my.aihummer.ru/dl/<token>/install.sh et il est rattaché à votre compte.

[!IMPORTANT] Le lien est à usage unique : il ne vaut que pour une seule installation. Dès que l’installateur a récupéré install.sh par son intermédiaire, le lien est considéré comme consommé. Relancer la même commande renvoie l’erreur « lien déjà utilisé » — c’est une protection, non une panne. Que faire : ouvrez l’écran « Installation » de votre portail et générez un nouveau lien ; c’est gratuit et immédiat.

Les 30 jours portent sur le téléchargement des artefacts, pas sur une seconde installation : une instance déjà installée continue de recevoir ses mises à jour par son lien longtemps après que celui-ci a été consommé par l’installation.

Le script détecte l’architecture de votre CPU, télécharge le bundle correspondant ainsi que son .sha256 somme de contrôle et cosigner .sig signature, vérifie les deux, décompresse le répertoire d’installation et enregistre le service passerelle. Voir le Journal des modifications pour la version actuelle.

Le lien personnel aussi lie l’instance à votre compte du portail client: l’installateur stocke le jeton provenant du lien, l’instance l’envoie lors de son premier enregistrement auprès du fournisseur, et le portail lie automatiquement l’instance à votre compte. Votre e-mail devient immédiatement celui de l’instance contact vérifié — pas d’étape séparée « joindre et vérifier un e-mail » dans l’interface Web, et la licence est délivrée sans étapes manuelles.

[!WARNING] Votre lien personnel est votre clé pour la distribution. Ne le publiez pas : n’importe qui tenir le lien peut télécharger des versions en votre nom jusqu’à ce que le jeton expire.

Installer la disposition racine

Tout réside sous un seul répertoire. Lequel exactement dépend de la manière dont vous avez lancé l’installateur :

Mode d’installation Racine d’installation Configuration Compte du service
Installation normale (avec sudo) /home/.aihummer /etc/aihummer/gateway.env Un compte de service aihummer dédié
Sans root (rootless) ~/.aihummer ~/.aihummer/etc/gateway.env Votre propre utilisateur

Une installation normale ne dépose pas de fichiers dans votre répertoire personnel et n’exécute pas le service sous votre identité : elle crée un utilisateur aihummer dédié et non privilégié. C’est délibéré — la compromission du service ne livre pas vos fichiers personnels à un attaquant.

La disposition interne de la racine reste identique dans les deux modes (celle d’une installation normale est montrée ici) :

/home/.aihummer/
├── bin/        gateway binary and the aihummer CLI
├── etc/        configuration (gateway.env)
├── share/      static assets for the administration interface
├── sidecars/   optional STT/TTS/etc services
├── plugins/    installed marketplace plugins
├── systemd/    unit files (symlinked into /etc/systemd/system)
├── state/      runtime state
├── data/       blob/media storage
└── logs/       service logs

Les fichiers d’unité systemd générés dans systemd/ sont liée par un lien symbolique à /etc/systemd/system/, donc ils sont gérés régulièrement systemctl commandes.

Installation sans racine

sudoLes privilèges root ne sont pas nécessaires. Si vous exécutez la commande d’installation sans sudo, l’installateur passe en mode sans privilèges : les unités sont enregistrées dans le systemd --user portée (fichiers dans ~/.config/systemd/user), le aihummer CLI et cosigner atterrissent ~/.aihummer/bin, et si AIHUMMER_DATABASE_URL n’est pas défini, l’installateur met en place un cluster PostgreSQL en mode utilisateur à l’intérieur du répertoire d’installation. Les services sont gérés avec systemctl --user .... Pour que les services démarrent au démarrage de l’hôte (et pas seulement à la connexion de l’utilisateur), activez le maintien en veille :

loginctl enable-linger $USER

Sélection de side-car

Les sidecars multimédias légers — STT (faster-whisper), TTS (edge-tts) et vidéo — installation prête à l’emploi, sans questions ni alertes : la voix aller-retour fonctionne immédiatement. Chacun d’eux peut être désactivé avec les variables d’environnement AIHUMMER_SKIP_STT=1, AIHUMMER_SKIP_TTS=1, AIHUMMER_SKIP_VIDEO=1.

La recherche web (SearXNG) et le navigateur (CloakBrowser) sont intégrés au bundle signé et s’installent hors ligne par défaut — l’installateur ne pose plus de questions à leur sujet. Les indicateurs modifient ce comportement — voici la liste complète :

Drapeau Effet
--no-search / --no-browser Ignorer ce side-car
--external-search=URL / --external-browser=URL Utilisez un service existant à cette URL au lieu d’installer
--browser-engine=cloak|chrome Moteur du navigateur (par défaut cloak)
--with-search / --with-browser Redondants depuis la v1.0.14 — c’est déjà le comportement par défaut
--with-embedder Installez l’encodeur sémantique (s’inscrire: télécharge PyTorch — des centaines de Mo)

La recherche et le navigateur s’installent aussi sans tty : leur contenu provient du bundle, aucun accès à Internet n’est nécessaire. Les deux installations ne sont pas bloquantes — si le contenu est absent ou si la version de Python n’est pas prise en charge, le service reste simplement non configuré et l’installation ne s’interrompt jamais. L’intégrateur peut également être activé avec AIHUMMER_WITH_EMBEDDER=1; sans cela, la mémoire fonctionne sur une recherche de substitution lexicale. La langue de l’interface utilisateur est définie par AIHUMMER_LANG=ru|en (sinon l’installateur demande sur un tty). La connexion PostgreSQL est demandée sur un tty ; pour les installations non interactives, définissez AIHUMMER_DATABASE_URL à l’avance. Sur un tty, l’installateur propose également de restaurer à partir d’une sauvegarde.

# Installer la passerelle avec l'encodeur, sans le navigateur (la recherche est installée par défaut)
curl -fsSL -o install.sh "<your personal install link>" && sudo bash install.sh \
  --with-embedder --no-browser

Parce que les sidecars sont accessibles par URL, vous pouvez librement mélanger des sidecars natifs et externes et diriger plusieurs passerelles vers un sidecar partagé.

Comment l’authenticité de la version est vérifiée

Le lien personnel de votre portail installe toujours la version en vigueur : c’est la voie normale, et la seule. Il n’y a aucune « version plus récente » à choisir — vous recevez la version que le fournisseur a publiée pour l’exploitation.

Chaque artefact, aussi bien pour la première installation que pour chaque mise à jour, arrive sous forme de tarball adapté à votre architecture, accompagné d’une somme de contrôle .sha256 et d’une signature .sig (cosign). L’installateur vérifie les deux avant de décompresser quoi que ce soit. Vous n’avez jamais à les vérifier vous-même.

Résultat attendu : les vérifications passent en silence et l’installation se poursuit. Si l’une des deux échoue, l’installateur s’arrête avec une erreur et laisse intacte la version en cours d’exécution — un fichier corrompu ou substitué n’atteint jamais votre serveur.

Si le fournisseur vous a invité à un programme de test précoce, l’écran « Installation » de votre portail affiche un sélecteur et délivre un lien distinct pour l’option choisie ; voir Instance.

Vérifiez l’installation

Après que l’installateur a terminé, vérifiez le service et le point de terminaison de disponibilité :

systemctl status aihummer-gateway
curl -fsS http://localhost:8780/healthz
curl -fsS http://localhost:8780/readyz

/healthz rapporte la vivacité et la version ; /readyz vérifie PostgreSQL et renvoie 503 pendant que la base de données est inaccessible. Le paquet aihummer L’interface en ligne de commande fournit également aihummer status et aihummer doctor pour un aperçu rapide de la santé.

Ce que vous verrez après une installation réussie : le aihummer-gateway service dans active (running), un 200 de /healthz et /readyz, et le mot de passe administrateur initial dans /home/.aihummer/etc/initial-admin-password.txt (lors d’une installation rootless, ~/.aihummer/etc/initial-admin-password.txt) pour première connexion.

Liste de contrôle de production

Une seule commande d’installation permet de faire fonctionner la passerelle, mais elle est pas encore prêt pour la production. Avant de l’exposer, complétez :

  • TLS — terminer le HTTPS devant la passerelle (proxy inverse / votre propre certificat) ; ne jamais exposer le port simple sur un réseau non fiable.

  • 🔴 Activez la prise en charge des WebSockets sur le proxy inverse. L’application mobile et de bureau se connecte à la passerelle en wss://, le proxy doit donc transmettre les en-têtes Upgrade et Connection. Sans ce réglage, le proxy répond par une page ordinaire avec le statut 200 au lieu de 101 Switching Protocols — l’application le lit comme « le service ne répond pas », alors que la passerelle fonctionne et que son journal ne contient aucune erreur. Dans Nginx Proxy Manager, c’est l’interrupteur Websockets Support du Proxy Host concerné ; dans nginx classique — proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; plus proxy_http_version 1.1 dans le bloc location.

    Vérification en une commande (on attend 101, pas 200) :

    curl -s -o /dev/null -w '%{http_code}\n' \
      -H 'Connection: Upgrade' -H 'Upgrade: websocket' \
      -H 'Sec-WebSocket-Version: 13' -H 'Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==' \
      https://votre-domaine/
  • Changer le mot de passe administrateur et supprimer initial-admin-password.txt; définir un émetteur d’auth (AIHUMMER_OIDC_ISSUER / LDAP / SAML) avant d’exposer /admin/*.

  • Sauvegardez la clé principale et la base de données — enregistrement AIHUMMER_MASTER_KEY (secrets sont irrécupérables sans cela) et configurez des sauvegardes PostgreSQL régulières.

  • Câbler un vrai modèle — ensemble AIHUMMER_LLM_* (ou BYOK) ; sans cela, les réponses arrivent à partir du simulacre déterministe.

  • Connectez au moins un canal (Telegram pour commencer) et y lier un agent.

Voir Première connexion, Configuration et Sauvegardes et reprise après sinistre pour les détails.

Si cela n’a pas fonctionné

  • « lien déjà utilisé » / l’installation refuse de démarrer une deuxième fois — le lien est à usage unique et une tentative précédente l’a déjà consommé. Générez-en un nouveau sur l’écran « Installation » du portail, puis relancez la commande.
  • curl: (22) … 404 ou « lien invalide » — le lien a été copié de manière incomplète ou son délai est écoulé. Le remède est le même : un nouveau lien.
  • architecture non prise en charge — l’installation prend en charge Linux x86_64 et arm64 ; Il n’y a pas de paquet pour d’autres plateformes.
  • /readyz retours 503 — la passerelle ne peut pas voir PostgreSQL. Vérifiez AIHUMMER_DATABASE_URL, la disponibilité de la base de données, et que le pgcrypto extension est créé (CREATE EXTENSION IF NOT EXISTS pgcrypto;).
  • Le service n’a pas démarré — inspecter systemctl status aihummer-gateway et journalctl -u aihummer-gateway; pour un diagnostic rapide aihummer doctor.
  • Installé sans sudo, les services s’arrêtent après la déconnexion — activer la persistance : loginctl enable-linger $USER (voir sans racines).
  • Échec de la vérification de la signature — ne procédez pas à l’installation ; réessayez plus tard ou obtenir un nouveau lien. L’artéfact est toujours vérifié par rapport à son .sha256 et cosigner .sig.

Où aller ensuite

  • Première course : voir Première connexion récupérer le mot de passe administrateur initial de /home/.aihummer/etc/initial-admin-password.txt (lors d’une installation rootless, ~/.aihummer/etc/initial-admin-password.txt).
  • Ajustez le déploiement : lire Configuration.
  • Vous voulez une première course guidée ? Utilisez le Démarrage rapide.