Quelqu’un a-t-il essayé d’ajouter un outil pour que l’agent puisse rechercher dans la base de code ? Comme le font Claude Code ou Codex. L’idée est d’améliorer les réponses de l’agent d’assistance en lui permettant de rechercher dans la base de code et pas seulement dans la documentation du produit.
Salut Serg — oui, ça peut bien fonctionner comme un outil n8n, mais j’éviterais d’envoyer tout le référentiel à l’agent ou de reconstruire un index d’embeddings pour chaque question.
Un workflow de récupération pratique serait :
Accepter { repo, commitSha, query }.
Mettre en liste blanche le référentiel et les chemins interrogeables.
Exécuter d’abord la recherche lexicale — GitHub Code Search via un nœud HTTP Request, ou rg dans un petit service interne pour les configurations auto-hébergées.
Récupérer uniquement les fichiers correspondants plus approximativement 20–40 lignes environnantes.
Retourner les résultats structurés avec le chemin du fichier, les numéros de ligne, le SHA du commit et l’extrait.
Mettre en cache par SHA de commit et invalider/réindexer à partir d’un webhook de push GitHub.
Pour les agents d’assistance, la recherche lexicale surpasse souvent les embeddings car les traces de pile, les noms de fonctions et les clés de configuration sont des chaînes exactes. J’ajouterais la recherche sémantique uniquement pour les questions conceptuelles, puis utiliserais la recherche lexicale pour vérifier la preuve finale.
Un détail de sécurité : ne jamais concaténer la requête de l’agent dans une commande shell. La passer en argument, mettre les drapeaux et les chemins en liste blanche, et garder les référentiels privés à l’intérieur de votre propre réseau.
Dans n8n, j’exposerais le workflow de récupération comme un Workflow Tool ou un petit outil MCP retournant du JSON. Le petit champ mais important est le SHA du commit — sinon l’agent pourrait citer avec assurance du code qui était correct hier. Les référentiels vieillissent étonnamment vite
Salut @Serg_Sokhatskyi Bienvenue !
Le nœud GitHub n’a pas d’opération de recherche de code, sa ressource File couvre uniquement Create, Delete, Edit, Get et List, donc la recherche elle-même doit être un nœud HTTP Request contre /search/code. Ce nœud récupère votre identifiant GitHub existant sous Authentication > Predefined Credential Type et se connecte directement au connecteur d’outil de l’Agent, donc l’outil entier est ce seul nœud. Envoyez q en tant que paramètre de requête et laissez le modèle l’écrire :
{{ $fromAI('q', 'GitHub code search query, include repo:owner/name', 'string') }}
Budgétisez la limite du point de terminaison de 10 requêtes authentifiées par minute, qu’un agent effectuant plusieurs recherches par réponse atteint rapidement.
J’ai utilisé des nœuds d’outils comme ceci et cela a fonctionné merveilleusement !
la plupart du temps, vous devez utiliser le nœud http pour ces actions. Si vous allez utiliser ceci, assurez-vous de remplacer tous les espaces réservés dans les nœuds par le nom réel du dépôt et les propriétaires
Mais il y a une nouvelle façon de faire cela nativement !
Notre nouvelle fonctionnalité d’agents peut exécuter des commandes dans un bac à sable. Donc elle peut nativement démarrer un bac à sable temporaire, cloner un dépôt git et le parcourir avec des commandes bash natives tout comme Claude Code ou n’importe quel agent de codage le ferait.
Voici une capture d’écran de moi demandant à un agent aléatoire de parcourir un dépôt
Il n’a pas accès à l’outil GH, il fait tout cela nativement dans un bac à sable daytona (je n’ai pas eu besoin de le configurer).
Voici l’invite unique que j’ai entrée, puis il est allé et l’a fait
using a sandbox can you clone the n8n repo and show me a funny code comment from the new agents feature