ATAKO

Intégration × harnais

Donner à un agent Hermes l’accès à GitHub

Sur Atako, un agent Hermes accède à GitHub par le broker d’intégrations : vous créez un token fin limité aux dépôts utiles, vous le connectez une fois, puis vous n’accordez à l’agent que les endpoints nécessaires. Commencez en lecture seule. Le token n’entre jamais dans la configuration de l’agent, et chaque appel est journalisé.

Écrit par les agents Atako · Relu et validé par Romain Laodicina · CTO d'Atako
GitHubGitHub × Hermes Agent

Mise en place, étape par étape

Captures réalisées sur Atako le 9 octobre 2026, avec des données de démonstration.

  1. 1

    Créer un token fin sur GitHub

    Dans GitHub, ouvrez Settings, Developer settings, Personal access tokens, Fine-grained tokens, puis Generate new token. Limitez-le aux dépôts dont l’agent a besoin et fixez une date d’expiration. Pour un usage complet, accordez Contents, Issues et Pull requests en Read and write, et Actions en Read. Pour démarrer prudemment, mettez toutes les permissions en Read-only et élargissez ensuite. Copiez le token, qui commence par github_pat_ ou ghp_.

  2. 2

    Connecter GitHub dans Atako

    Ouvrez le catalogue d’intégrations, choisissez GitHub et collez le token. Atako le conserve côté serveur et le vérifie par un appel sans effet qui liste les dépôts accessibles au token : un token erroné ou expiré se voit tout de suite.

    Fenêtre de connexion GitHub dans Atako : nom, portée et champ où coller le jeton à portée fine.
    Fenêtre de connexion GitHub dans Atako : nom, portée et champ où coller le jeton à portée fine.
  3. 3

    Donner l’accès à votre agent Hermes

    Sur la page de l’agent, choisissez GitHub, puis un niveau : la puce Lecture, la puce Écriture, ou les deux. Cochez ensuite les endpoints un par un, par exemple list_issues, get_issue et list_pull_requests pour lire, add_issue_comment et update_issue pour écrire. Ce qui reste décoché n’est pas appelable par l’agent.

    Droits de l’agent sur la connexion GitHub atako-demo : 8 endpoints de lecture cochés, aucun en écriture.
    Droits de l’agent sur la connexion GitHub atako-demo : 8 endpoints de lecture cochés, aucun en écriture.
  4. 4

    Demander à l’agent de travailler dans GitHub

    Écrivez à l’agent comme à un collègue : liste les issues ouvertes depuis lundi dans le dépôt backend, étiquette-les et commente celles qui n’ont pas d’étapes de reproduction. L’agent appelle GitHub par le broker, dans les droits que vous lui avez donnés, et répond en disant ce qu’il a fait.

    L’agent Hermes liste les 6 issues ouvertes du dépôt de démo et recommande de traiter la #1 en premier, sans rien modifier.
    L’agent Hermes liste les 6 issues ouvertes du dépôt de démo et recommande de traiter la #1 en premier, sans rien modifier.
  5. 5

    Vérifier les appels dans le journal

    Chaque appel est enregistré avec son outil, son statut, son code HTTP et sa latence. Vous le voyez sur l’agent et dans le dashboard, dans l’usage des intégrations et le journal des intégrations. En cas de doute, vous réduisez l’accès ou vous révoquez la connexion.

    Journal des intégrations filtré sur GitHub et sur l’agent : un appel list_issues, HTTP 200, 518 ms.
    Journal des intégrations filtré sur GitHub et sur l’agent : un appel list_issues, HTTP 200, 518 ms.

Cas d’usage

Trier les issues entrantes

Chaque matin, l’agent liste les nouvelles issues avec list_issues, ouvre les plus floues avec get_issue, puis les étiquette et les reclasse avec update_issue. Quand un signalement n’a pas d’étapes de reproduction, il les réclame avec add_issue_comment. Vos mainteneurs partent d’une file triée plutôt que d’une file brute.

Résumer les pull requests de la semaine

Chaque vendredi, une tâche planifiée réveille l’agent. Avec les seuls droits de lecture, il liste les pull requests ouvertes par list_pull_requests, lit celles qui stagnent avec get_pull_request et publie un court résumé pour l’équipe : ce qui est fusionné, ce qui attend une relecture, ce qui est bloqué. Aucun endpoint d’écriture n’est accordé : le rapport ne peut pas modifier les dépôts qu’il décrit.

Ouvrir une issue quand un workflow échoue

Quand une vérification échoue de façon répétée sur la branche principale, l’agent regarde les dernières exécutions avec list_workflow_runs, puis dépose un signalement clair avec create_issue : quel workflow, depuis quand, quelle exécution ouvrir. Il ne touche pas au code. Le droit d’écriture se limite aux issues, ce qui suffit pour qu’un humain prenne le relais.

Actions que l’agent peut recevoir

Chaque action est accordée séparément, en lecture ou en écriture.

  • list_issues
  • get_issue
  • update_issue
  • add_issue_comment
  • create_issue
  • list_pull_requests
  • get_pull_request
  • list_workflow_runs

Pourquoi le token ne doit pas vivre dans l’agent

Hermes Agent, l’agent open source de Nous Research, sait très bien travailler avec GitHub. La question est de savoir où va l’identifiant. Dans une installation auto-hébergée, le token GitHub finit dans un fichier .env ou dans config.yaml, à côté de l’agent, sur une machine que vous gardez allumée, mettez à jour et sauvegardez. Quiconque, ou quoi que ce soit, qui peut lire cette configuration, y compris l’agent lui-même sous un prompt malveillant, peut lire le token et pousser avec.

Sur Atako, l’identifiant reste hors de ce tableau. Vous connectez GitHub une fois, au niveau de l’entreprise. Le token est stocké côté serveur et injecté au moment où l’appel part. L’agent Hermes ne le reçoit jamais : il demande au broker d’intégrations d’exécuter une action, et le broker décide si cette action est permise. Le même mécanisme couvre tous les connecteurs du catalogue ; ce que vous apprenez ici vaut donc pour le suivant.

Ce qu’il vous faut avant de commencer

Il vous faut un compte GitHub qui voit les dépôts sur lesquels l’agent travaillera, et un agent Atako qui tourne sur le harnais Hermes. Hermes est le harnais par défaut des nouveaux agents : un agent tout juste créé convient donc déjà. Si vous hésitez encore sur le harnais, la page pilier sur les agents autonomes explique comment fonctionne un agent sur la plateforme.

Créer un token au périmètre le plus étroit

Un token fin a deux plafonds. Le premier est la liste des dépôts : vous les choisissez à la création du token, et GitHub refuse tout ce qui est en dehors. Le second est la liste des permissions, chacune en Read-only ou en Read and write. Même si vous accordez plus tard davantage dans Atako, GitHub refuse ce que le token ne couvre pas.

Le moindre privilège, ici, c’est de commencer en lecture seule. Donnez au token Read-only sur Issues et Pull requests, ajoutez Contents et Actions en Read-only si l’agent doit consulter des fichiers ou des exécutions, et limitez-le à un ou deux dépôts. Observez l’agent une semaine dans le journal. S’il doit commenter une issue ou l’étiqueter, relevez seulement Issues en Read and write. Ne laissez Contents et Pull requests modifiables que si vous voulez vraiment que l’agent change du code, ce dont la plupart des tâches de tri et de reporting n’ont pas besoin. Fixez une date d’expiration pour que le token ne vive pas éternellement par accident.

Traitez le token comme un mot de passe. Collez-le dans Atako et nulle part ailleurs : ni dans une conversation avec l’agent, ni dans une issue. Une fois connecté, vous n’avez plus besoin de le revoir.

Connecter une fois, accorder par agent

Connecter GitHub dans Atako est une action au niveau de l’entreprise, faite depuis le catalogue d’intégrations. Elle rend GitHub disponible, mais ne donne aucun droit à un agent. Les droits viennent de l’accord que vous créez sur chaque agent.

Cet accord fonctionne en deux couches. Vous choisissez d’abord un niveau avec les puces Lecture et Écriture. Vous cochez ensuite les endpoints un par un. Un agent qui résume la semaine reçoit list_pull_requests et get_pull_request, et rien d’autre. Un agent qui trie les issues reçoit list_issues et get_issue pour lire, update_issue et add_issue_comment pour écrire. Deux agents peuvent partager la même connexion avec des droits très différents, et la liste des endpoints cochés est la liste de ce que chacun peut faire.

Parler à l’agent

Une fois l’accord créé, vous n’écrivez aucune configuration d’outil. Vous décrivez le travail en langage courant : liste les issues ouvertes depuis lundi, étiquette-les et commente celles qui n’ont pas d’étapes de reproduction. L’agent choisit les bons endpoints parmi ceux qui lui ont été accordés, les appelle par le broker et vous rend compte. Un endpoint non accordé ne peut pas être appelé, et c’est à vous de décider d’élargir ou non l’accord.

Comme un agent Hermes tourne aussi selon un calendrier, le même accord sert les tâches récurrentes. Un récapitulatif des pull requests le vendredi ou un coup d’œil quotidien aux workflows en échec utilisent exactement les droits que vous avez déjà définis.

Garder un œil sur ce qui se passe

Chaque appel qui passe par le broker est enregistré : quel outil, quel statut, quel code HTTP, quelle durée. Cet enregistrement est visible sur l’agent et dans le dashboard de l’entreprise, dans la vue d’usage des intégrations et dans le journal des intégrations. C’est votre piste d’audit. Quand un contributeur demande qui a fermé une issue, vous ouvrez le journal et vous voyez l’appel, au lieu de deviner à partir de la seule chronologie de l’issue.

Le journal aide aussi à ajuster les droits. Si vous voyez un agent tenter à répétition un endpoint qui ne lui a pas été accordé, c’est un signal : soit la tâche en a besoin et vous l’ajoutez en connaissance de cause, soit l’agent dérive et le prompt demande du travail.

Ce que cette configuration ne fait pas

L’accord sélectionne des endpoints. Il ne restreint pas les issues qu’un endpoint peut toucher : un agent autorisé à appeler update_issue peut modifier toute issue des dépôts que le token atteint. Si vous voulez une frontière plus étroite, limitez le token à moins de dépôts, ou gardez les écritures sensibles derrière une étape humaine. Donnez à l’agent la règle de proposer d’abord le changement dans la conversation, puis de l’appliquer après votre confirmation.

Pour le côté GitHub du connecteur, avec toutes les actions qu’il expose, consultez la page de l’intégration GitHub. Le guide HubSpot avec Hermes suit les mêmes étapes. Pour des flux de travail concrets, le cas d’usage tri de CI montre ce que fait un agent face à des exécutions en échec, et le cas d’usage sentinelle de bugs couvre les signalements entrants.

Pour aller plus loin

Autres intégrations avec Hermes Agent

Écrit par les agents Atako · Relu et validé par Romain Laodicina · CTO d'Atako

Questions fréquentes

Où le token GitHub est-il stocké ?

Chez Atako, jamais dans la configuration de l’agent. L’agent ne reçoit pas le token : il demande au broker de faire un appel, et le token est injecté au moment où la requête part. Une configuration d’agent qui fuite ou une injection de prompt ne peuvent donc pas l’exposer.

Dois-je d’abord donner un accès en lecture seule ?

Oui, c’est le départ le plus sûr. Mettez le token fin en Read-only, choisissez uniquement la puce Lecture dans Atako et cochez des endpoints comme list_issues ou get_pull_request. Quand l’agent a fait ses preuves, ajoutez les endpoints d’écriture un par un, par exemple add_issue_comment.

Puis-je restreindre le token à certains dépôts ?

Oui, et c’est recommandé. Un token fin peut être limité à des dépôts choisis à sa création. GitHub refuse alors tout appel hors de ces dépôts, quoi que vous accordiez dans Atako.

Comment voir ce que l’agent a fait dans GitHub ?

Chaque appel est journalisé avec son outil, son statut, son code HTTP et sa latence. Le journal se lit sur l’agent et dans le dashboard, dans l’usage des intégrations et le journal des intégrations.

Qu’est-ce qui change par rapport à un Hermes auto-hébergé ?

Avec un Hermes auto-hébergé, vous posez vous-même le token GitHub dans un fichier .env ou dans config.yaml, sur une machine que vous faites tourner et sauvegardez. Sur Atako, le token vit dans le broker d’intégrations, les droits se règlent par endpoint, et le journal est fourni.

À lire ensuite

Sources

Romain Laodicina

CTO d'Atako

Ce contenu a été rédigé par les agents IA d'Atako, puis relu, corrigé et validé par Romain Laodicina, CTO d'Atako.

Déployez vos premiers agents IA

Créez votre compte gratuitement et lancez un agent en quelques minutes, sans code.

Newsletter

Gardez une longueur d'avance sur l'IA.

Recevez les nouveautés produit, les nouveaux agents et nos analyses IA directement dans votre boîte mail. Pas de spam, désinscription à tout moment.