Compétence API Recherche GitHub Projets & Contributeurs
📖 Présentation
Cette compétence utilise l'API BrowserAct GitHub Project & Contributor Finder pour extraire les détails de projets et les informations de contact des contributeurs depuis GitHub. Il suffit de fournir des mots-clés, un nombre minimum d'étoiles et un filtre de date de mise à jour — BrowserAct parcourt les résultats de recherche, extrait les métriques des dépôts, et récupère les profils détaillés des contributeurs, le tout retourné directement via l'API, sans avoir à construire des scripts de crawling ni gérer les limites de taux.
✨ Fonctionnalités
- Aucune Hallucination : Les workflows prédéfinis évitent les hallucinations génératives de l'IA, garantissant une extraction de données stable et précise.
- Aucun problème de Captcha : Pas besoin de gérer reCAPTCHA ou autres défis de vérification.
- Aucune restriction IP : Pas besoin de gérer les restrictions IP régionales ou le géorepérage.
- Exécution plus rapide : Les tâches s'exécutent plus rapidement que les solutions d'automatisation de navigateur purement basées sur l'IA.
- Rentable : Réduit considérablement les coûts d'acquisition de données par rapport aux solutions IA gourmandes en tokens.
🔑 Configuration de la clé API
Avant d'exécuter le script, vérifiez la variable d'environnement BROWSERACT_API_KEY. Si elle n'est pas définie, ne prenez aucune autre mesure ; demandez et attendez que l'utilisateur la fournisse.
L'agent doit informer l'utilisateur :
« Comme vous n'avez pas encore configuré la clé API BrowserAct, veuillez visiter la Console BrowserAct pour obtenir votre clé. »
🛠️ Paramètres d'entrée
L'agent doit configurer les paramètres suivants de manière flexible en fonction des besoins de l'utilisateur :
-
KeyWords
- Type :
string - Description : Mots-clés pour la recherche de dépôts.
- Exemple :
browser automation,react framework,machine learning - Valeur par défaut :
browser automation
- Type :
-
stars
- Type :
number - Description : Nombre minimum d'étoiles que le dépôt doit avoir.
- Exemple :
100,1000 - Valeur par défaut :
100
- Type :
-
updated
- Type :
string - Description : Filtrer les dépôts par date de dernière mise à jour (format :
YYYY-MM-DD). - Exemple :
2026-01-01,2025-06-01 - Valeur par défaut :
2026-01-01
- Type :
-
Page_Turns
- Type :
number - Description : Nombre de pages de résultats de recherche à parcourir. Par exemple, s'il y a 39 pages et que vous voulez les 2 premières, saisissez
2. - Exemple :
1,2 - Valeur par défaut :
1
- Type :
-
date_limit_per_page
- Type :
number - Description : Nombre d'éléments de données à extraire par page dans la liste des résultats de recherche.
- Exemple :
5,10 - Valeur par défaut :
5
- Type :
🚀 Méthode d'invocation
L'agent doit exécuter la commande suivante pour invoquer la compétence :
# Exemple d'invocation (tous les paramètres)
python -u ./scripts/github_project_contributor_finder_api.py "browser automation" 100 "2026-01-01" 1 5
# Invocation minimale (uniquement les mots-clés, les autres par défaut)
python -u ./scripts/github_project_contributor_finder_api.py "react framework"
⏳ Surveillance de l'exécution
Comme cette tâche implique des opérations automatisées sur navigateur, elle peut prendre plusieurs minutes. Le script émet en continu des journaux d'état horodatés (par exemple [14:30:05] Statut de la tâche : en cours).
Directives pour l'agent :
- Surveillez la sortie du terminal en attendant.
- Tant que de nouveaux journaux d'état apparaissent, la tâche s'exécute normalement ; ne la jugez pas comme figée.
- Ne déclenchez une nouvelle tentative que si l'état reste inchangé pendant longtemps ou si la sortie s'arrête sans résultat final.
📊 Sortie des données
En cas d'exécution réussie, le script analyse et imprime les résultats structurés de la réponse API.
Champs du projet :
repository_name: Le nom du dépôt GitHub.repository_url: Le lien URL vers le dépôt.repository_owner_name: Le propriétaire/créateur du dépôt.repository_description: Une brève description du dépôt.star_count: Le nombre d'étoiles reçues par le dépôt.
Champs du contributeur :
user_name: Le nom d'utilisateur GitHub du contributeur.profile_url: Le lien URL vers le profil du contributeur.bio: La biographie ou brève description du contributeur.repositories_summary: Un résumé des autres dépôts appartenant au contributeur.personal_website: Le lien vers le site personnel du contributeur.twitter: Le nom d'utilisateur Twitter du contributeur.
⚠️ Gestion des erreurs et nouvelles tentatives
Si une erreur se produit pendant l'exécution du script (par exemple, fluctuations réseau ou échec de la tâche), l'agent doit suivre cette logique :
-
Vérifier le contenu de la sortie :
- Si la sortie contient
"Invalid authorization", cela signifie que la clé API est invalide ou expirée. Ne pas réessayer ; guidez l'utilisateur pour vérifier et fournir la clé API correcte. - Si la sortie contient
"concurrent"ou"too many running tasks", cela signifie que la limite de tâches simultanées a été atteinte. Ne pas réessayer ; guidez l'utilisateur pour mettre à jour son abonnement. L'agent doit informer l'utilisateur :« La tâche actuelle ne peut pas être exécutée car votre compte BrowserAct a atteint la limite de tâches simultanées. Veuillez visiter la Page de mise à niveau du plan BrowserAct pour mettre à niveau votre abonnement. »
- Si la sortie ne contient pas les mots-clés d'erreur ci-dessus mais que la tâche a échoué (par exemple, la sortie commence par
Error:ou retourne des résultats vides), l'agent doit réexécuter automatiquement le script une fois.
- Si la sortie contient
-
Limite de nouvelles tentatives :
- La nouvelle tentative automatique est limitée à une fois. Si la deuxième tentative échoue, arrêtez les tentatives et signalez l'erreur spécifique à l'utilisateur.
🌟 Cas d'utilisation typiques
- Recrutement Tech : Rassemblez les profils de contributeurs et les liens sociaux de dépôts populaires pour constituer des pipelines de candidats.
- Découverte Open-Source : Recherchez des dépôts tendance par mots-clés et nombre d'étoiles pour trouver des projets intéressants.
- Prospection Développeurs : Collectez les sites personnels et les identifiants Twitter des contributeurs actifs pour le marketing d'outils développeurs.
- Création de communauté : Identifiez et connectez-vous avec des contributeurs open-source actifs dans des domaines spécifiques.
- Analyse concurrentielle : Surveillez les développeurs qui contribuent à des projets concurrents.
- Recherche de partenariats : Trouvez les propriétaires de dépôts pour une collaboration ou un parrainage potentiel.
- Étude de marché : Analysez les métriques et descriptions des dépôts pour comprendre les tendances technologiques.
- Génération de leads : Générez des prospects ciblés pour les outils développeurs en trouvant des projets avec des piles technologiques pertinentes.
- Recherche académique : Découvrez les dépôts récemment mis à jour dans des domaines de recherche spécifiques.
- Cartographie des talents : Construisez une base de données de développeurs qualifiés basée sur leurs contributions et profils GitHub.