Se connecter une fois, et les applications connectées suivent : le handoff du palier gratuit passe proprement


Un vendredi après-midi, vous créez enfin un compte. Vous tourniez sur le palier gratuit depuis trois semaines, avec Gmail, Notion et votre calendrier connectés. Vous ouvrez les réglages, vous vous connectez, un accueil chaleureux s’affiche — puis vous ouvrez la page Connectors. Vide. Chaque application est à réautoriser.

Ce n’était pas un bug. La connexion a remplacé l’identité du palier gratuit par votre compte et laissé les applications connectées sur l’ancienne identité, que plus rien sur la machine n’utilisait. Trois PR fusionnées le 23 octobre 2026 reconstruisent ce chemin de bout en bout.

Trois aspérités auparavant

  1. La montée de version passait par un autre flux. Se connecter par-dessus le palier gratuit enregistrait le palier gratuit pour transfert, affichait une page de consentement spéciale avec son propre code, interrogeait jusqu’à la fin du transfert, et n’obtenait qu’ensuite le token du compte. Sans palier gratuit sur le disque, /login et hermes auth upgrade refusaient même de démarrer.
  2. Les applications devaient être reconnectées à la main. La connexion enregistrait le compte par-dessus le palier gratuit ; les applications restaient derrière.
  3. Ouvrir la page Connectors construisait une identité en arrière-plan — même si vous n’aviez jamais rien connecté. Et l’offre « se connecter » n’apparaissait que pour les personnes sur le modèle d’essai gratuit, donc quiconque utilisait sa propre key et connectait des applications ne la voyait jamais.

Maintenant : un simple device login, puis un handoff

#143235 fait de chaque connexion Nous un simple device login. Le desktop, /login dans la CLI, la TUI et les applications de chat, ainsi que hermes auth upgrade exécutent tous un seul flux : afficher la page de l’appareil normale et le code, attendre l’approbation (ou l’expiration, ou l’annulation), enregistrer le compte. Pas de page de consentement spéciale, pas d’interrogation de transfert.

Puis la partie qui compte : une fois l’enregistrement terminé, #143234 demande au Nous Portal de déplacer les applications connectées du palier gratuit dans ce compte, avec le token de connexion du compte lui-même. Ce sont les détails qui le rendent fiable :

  • Aucun appel réseau au moment de l’enregistrement. Hermes note seulement « déplacement en attente » ; le déplacement a lieu une fois l’enregistrement terminé.
  • Aucune confirmation. Le résultat s’affiche après.
  • Avant qu’une requête ne parte, Hermes vérifie que le token appartient bien au compte qui a remplacé le palier gratuit. Les applications ne vont jamais que vers ce compte. Si vous vous êtes connecté à un autre compte avant qu’une nouvelle tentative ne s’exécute, le statut indique que le déplacement attend le premier compte.
  • Si le Portal est occupé ou injoignable, il réessaie plus tard — y compris après un redémarrage.
  • hermes auth status nous passe d’un simple logged in à « connecté, plus ce qui a été déplacé ou ce qu’il faut reconnecter ».

#143248 corrige la troisième aspérité : ouvrir la page Connectors ne crée rien. La page liste des applications depuis le catalogue public du Portal, qui ne demande aucune connexion. C’est connecter une application qui crée l’identité à ce moment-là, et la page bascule alors sur votre propre catalogue, vos comptes et vos règles. Si vous avez connecté une application sans être sur l’essai, vous recevez votre propre offre — « Keep your connected apps » — et non celle de l’essai.

L’indication de la CLI a été corrigée aussi : hermes connectors vous disait de lancer hermes login, une commande qui n’existe plus. Elle dit maintenant hermes auth upgrade.

Ce que vous tapez réellement

La surface s’est simplifiée, pas compliquée — tous les chemins mènent au même endroit :

hermes auth status nous     # compte ou palier gratuit, plus l'état du handoff
hermes auth upgrade         # se connecter avec un compte Nous, en gardant vos connectors

Dans une session, c’est /login, sur toutes les surfaces : desktop, CLI, TUI, plateformes de messagerie. hermes model et hermes auth add nous gardent leurs propres flags (--portal-url, --ca-bundle, --insecure) mais exécutent le même device login en dessous et affichent le même résultat de handoff.

Le flux desktop est unifié lui aussi : une annulation s’arrête en moins d’une seconde et n’enregistre rien ; un code expiré affiche un écran de délai dépassé au lieu d’une erreur générique ; et l’écran de résultat vous dit qui s’est connecté et ce qui a été déplacé.

Des limites à connaître d’abord

  • Les anciens clients appellent encore les anciens endpoints. La PR précise que les anciens endpoints de transfert du serveur n’ont pas été retirés dans ce changement, parce que d’anciennes versions de Hermes les appellent toujours.
  • Le nouveau texte de l’offre est en anglais seulement pour l’instant (signalé dans #143248) ; les autres langues y retombent.
  • Le catalogue public de la page Connectors dépend du déploiement préalable d’une route du Portal. Tant qu’elle n’est pas en ligne, quelqu’un sans identité Nous ne voit aucune application hébergée sur la page ; tout le reste n’est pas affecté.
  • Ouvrir la liste d’outils d’une application, renommer ou supprimer un compte, et enregistrer des règles créent toujours l’identité — à ce stade vous avez choisi une application, c’est donc une demande explicite. hermes connectors list et la vérification de statut de l’agent créent aussi une identité, volontairement.

En quoi cela diffère du précédent article sur le palier gratuit

Le 13 octobre, nous avons écrit sur le guest token à portée limitée pour les connectors du palier gratuit — un token dont la seule portée est connectors:invoke, et qui évite le défi du navigateur. Cet article est le chapitre suivant : ce qu’il advient de ces connexions quand un vrai compte remplace l’identité gratuite. Pour les règles de nommage autour de plusieurs comptes de connector, voir le guide des comptes nommés ; pour le reste de hermes auth (add, list, reset, priority, refresh), la référence des commandes en est la version courte.

État de la version

Les trois PR ont été fusionnées dans main le 23 octobre 2026 sous forme d’une seule pile. La dernière version publiée reste la v0.22.4 du 21 octobre, donc ces comportements ne sont que sur main jusqu’à ce que la prochaine version atteigne le canal stable. Sur la v0.22.4, le chemin de connexion est encore l’ancien — consultez le guide des canaux de mise à jour avant de considérer que vous l’avez.