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. Fournissez simplement 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 renvoyé directement via l'API sans avoir à construire des scripts de crawl ni à gérer les limites de taux.
✨ Fonctionnalités
- Aucune Hallucination : Des 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 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 par rapport aux solutions d'automatisation de navigateur purement pilotées par l'IA.
- Économique : Réduit considérablement les coûts d'acquisition de données par rapport aux solutions IA à haute consommation de jetons.
🔑 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 encore configuré la clé API BrowserAct, veuillez visiter la Console BrowserAct pour obtenir votre clé."
🛠️ Paramètres d'Entrée
L'agent doit configurer de manière flexible les paramètres suivants 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 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, entrez
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 (seulement les mots-clés, les autres utilisent les valeurs par défaut)
python -u ./scripts/github_project_contributor_finder_api.py "react framework"
⏳ Surveillance de l'Exécution
Étant donné que cette tâche implique des opérations automatisées de navigateur, elle peut prendre plusieurs minutes. Le script affiche en continu des journaux de statut horodatés (par exemple, [14:30:05] Statut de la tâche : en cours).
Directives pour l'agent :
- Surveillez la sortie du terminal pendant l'attente.
- Tant que de nouveaux journaux de statut apparaissent, la tâche s'exécute normalement ; ne la jugez pas comme bloquée.
- Ne déclenchez une nouvelle tentative que si le statut 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 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 la 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 a expiré. Ne pas réessayer ; guidez l'utilisateur pour vérifier et fournir 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 mettre à 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 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 des contributeurs et les liens sociaux à partir 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 de Développeurs : Collectez les sites web personnels et les pseudos Twitter des contributeurs actifs pour le marketing d'outils de développement.
- Construction 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 des propriétaires de dépôts pour une collaboration ou un parrainage potentiel.
- Étude de Marché : Analysez les métriques et les descriptions des dépôts pour comprendre les tendances technologiques.
- Génération de Leads : Générez des leads ciblés pour des outils de développement en trouvant des projets avec des piles technologiques pertinentes.
- Recherche Académique : Découvrez des 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.