Compétence API GitHub Project & Contributor Finder
📖 Présentation
Cette compétence utilise l'API GitHub Project & Contributor Finder de BrowserAct pour extraire les détails des 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 directement via l'API sans avoir à construire des scripts de scraping ni à gérer les limites de taux.
✨ Fonctionnalités
- Aucune hallucination : Les workflows prédéfinis évitent les hallucinations génératives d'IA, garantissant une extraction de données stable et précise.
- Aucun problème de Captcha : Pas besoin de gérer reCAPTCHA ou d'autres défis de vérification.
- Aucune restriction IP : Pas besoin de gérer les restrictions IP régionales ou le géoblocage.
- 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.
- Économique : Réduit considérablement les coûts d'acquisition de données par rapport aux solutions d'IA à forte consommation de tokens.
🔑 Configuration de la clé API
Avant d'exécuter, vérifiez la variable d'environnement BROWSERACT_API_KEY. Si elle n'est pas définie, ne prenez pas d'autres mesures ; demandez et attendez que l'utilisateur la fournisse.
L'agent doit informer l'utilisateur :
"Comme vous n'avez pas 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 rechercher des 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 la date de leur 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, autres valeurs par défaut)
python -u ./scripts/github_project_contributor_finder_api.py "react framework"
⏳ Surveillance de l'exécution
Cette tâche impliquant des opérations automatisées de navigateur, elle peut prendre plusieurs minutes. Le script émet en continu des journaux d'état horodatés (par exemple, [14:30:05] Task Status: running).
Directives pour l'agent :
- Surveillez la sortie du terminal pendant l'attente.
- Tant que de nouveaux journaux d'état apparaissent, la tâche s'exécute normalement ; ne la jugez pas comme bloqué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 de succès, le script analyse et imprime les résultats structurés de la réponse de l'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 une brève description du contributeur.repositories_summary: Un résumé des autres dépôts appartenant au contributeur.personal_website: Le lien du site web personnel du contributeur.twitter: Le pseudo Twitter du contributeur.
⚠️ Gestion des erreurs et nouvelles tentatives
Si une erreur se produit lors de 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 qu'il vérifie et fournisse la bonne clé API. - 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 qu'il mette à niveau son plan. 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 plan."
- 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 renvoie des résultats vides), l'agent doit exécuter automatiquement le script une fois de plus.
- 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 technique : Rassembler les profils des contributeurs et les liens sociaux à partir de dépôts populaires pour constituer des viviers de candidats.
- Découverte open-source : Rechercher des dépôts tendance par mots-clés et nombre d'étoiles pour trouver des projets intéressants.
- Prospection de développeurs : Collecter les sites web personnels et les identifiants Twitter des contributeurs actifs pour le marketing d'outils développeur.
- Construction de communauté : Identifier et entrer en contact avec des contributeurs open-source actifs dans des domaines spécifiques.
- Analyse concurrentielle : Surveiller quels développeurs contribuent à des projets concurrents.
- Recherche de partenaires : Trouver les propriétaires de dépôts pour une collaboration ou un parrainage potentiel.
- Étude de marché : Analyser les métriques des dépôts et les descriptions pour comprendre les tendances technologiques.
- Génération de leads : Générer des leads ciblés pour les outils développeur en trouvant des projets avec des piles technologiques pertinentes.
- Recherche académique : Découvrir des dépôts récemment mis à jour dans des domaines de recherche spécifiques.
- Cartographie des talents : Constituer une base de données de développeurs qualifiés en fonction de leurs contributions GitHub et de leurs profils.