Habilidad de la API de GitHub Project & Contributor Finder
📖 Breve
Esta habilidad utiliza la API de GitHub Project & Contributor Finder de BrowserAct para extraer detalles de proyectos e información de contacto de contribuyentes de GitHub. Simplemente proporcione palabras clave, un mínimo de estrellas y un filtro de fecha de actualización. BrowserAct recorre los resultados de búsqueda, extrae métricas del repositorio y obtiene perfiles detallados de los contribuyentes, devolviéndolo todo directamente a través de la API sin necesidad de crear scripts de rastreo ni lidiar con límites de velocidad.
✨ Características
- Sin alucinaciones: Los flujos de trabajo preestablecidos evitan alucinaciones generativas de IA, asegurando una extracción de datos estable y precisa.
- Sin problemas de Captcha: No hay necesidad de manejar reCAPTCHA u otros desafíos de verificación.
- Sin restricciones de IP: No es necesario manejar restricciones de IP regionales ni bloqueos geográficos.
- Ejecución más rápida: Las tareas se ejecutan más rápido en comparación con soluciones de automatización de navegador puramente impulsadas por IA.
- Rentable: Reduce significativamente los costos de adquisición de datos en comparación con soluciones de IA que consumen muchos tokens.
🔑 Configuración de la clave API
Antes de ejecutar, verifique la variable de entorno BROWSERACT_API_KEY. Si no está configurada, no tome otras medidas; pregunte y espere a que el usuario la proporcione.
El agente debe informar al usuario:
"Como aún no has configurado la clave API de BrowserAct, visita la Consola de BrowserAct para obtener tu clave."
🛠️ Parámetros de entrada
El agente debe configurar de manera flexible los siguientes parámetros según los requisitos del usuario:
-
KeyWords
- Tipo:
string - Descripción: Palabras clave para buscar repositorios.
- Ejemplo:
browser automation,react framework,machine learning - Valor predeterminado:
browser automation
- Tipo:
-
stars
- Tipo:
number - Descripción: Número mínimo de estrellas que debe tener el repositorio.
- Ejemplo:
100,1000 - Valor predeterminado:
100
- Tipo:
-
updated
- Tipo:
string - Descripción: Filtrar repositorios por la fecha de la última actualización (formato:
YYYY-MM-DD). - Ejemplo:
2026-01-01,2025-06-01 - Valor predeterminado:
2026-01-01
- Tipo:
-
Page_Turns
- Tipo:
number - Descripción: Número de páginas de resultados de búsqueda a recorrer. Por ejemplo, si hay 39 páginas y quieres las primeras 2, ingresa
2. - Ejemplo:
1,2 - Valor predeterminado:
1
- Tipo:
-
date_limit_per_page
- Tipo:
number - Descripción: Número de elementos de datos a extraer por página en la lista de resultados de búsqueda.
- Ejemplo:
5,10 - Valor predeterminado:
5
- Tipo:
🚀 Método de invocación
El agente debe ejecutar el siguiente comando para invocar la habilidad:
# Ejemplo de invocación (todos los parámetros)
python -u ./scripts/github_project_contributor_finder_api.py "browser automation" 100 "2026-01-01" 1 5
# Invocación mínima (solo palabras clave, otros usan valores predeterminados)
python -u ./scripts/github_project_contributor_finder_api.py "react framework"
⏳ Monitoreo de ejecución
Dado que esta tarea implica operaciones automatizadas del navegador, puede tardar varios minutos. El script genera registros de estado con marca de tiempo de forma continua (por ejemplo, [14:30:05] Estado de la tarea: ejecutándose).
Directrices para el agente:
- Monitoree la salida del terminal mientras espera.
- Mientras aparezcan nuevos registros de estado, la tarea se está ejecutando normalmente; no la juzgue erróneamente como congelada.
- Solo considere activar un reintento si el estado permanece sin cambios durante mucho tiempo o la salida se detiene sin un resultado final.
📊 Salida de datos
Tras una ejecución exitosa, el script analiza e imprime los resultados estructurados de la respuesta de la API.
Campos del proyecto:
repository_name: El nombre del repositorio de GitHub.repository_url: El enlace URL del repositorio.repository_owner_name: El propietario/creador del repositorio.repository_description: Una breve descripción del repositorio.star_count: El número de estrellas que ha recibido el repositorio.
Campos del contribuyente:
user_name: El nombre de usuario de GitHub del contribuyente.profile_url: El enlace URL al perfil del contribuyente.bio: La biografía o descripción breve del contribuyente.repositories_summary: Un resumen de otros repositorios propiedad del contribuyente.personal_website: El enlace al sitio web personal del contribuyente.twitter: El identificador de Twitter del contribuyente.
⚠️ Manejo de errores y reintentos
Si ocurre un error durante la ejecución del script (por ejemplo, fluctuaciones de red o fallo de la tarea), el agente debe seguir esta lógica:
-
Verificar el contenido de salida:
- Si la salida contiene
"Invalid authorization", significa que la clave API no es válida o ha caducado. No reintentar; guíe al usuario para que vuelva a verificar y proporcione la clave API correcta. - Si la salida contiene
"concurrent"o"too many running tasks", significa que se ha alcanzado el límite de tareas concurrentes. No reintentar; guíe al usuario para que actualice su plan. El agente debe informar al usuario:"La tarea actual no se puede ejecutar porque tu cuenta de BrowserAct ha alcanzado el límite de tareas concurrentes. Visita la Página de actualización de plan de BrowserAct para actualizar tu plan."
- Si la salida no contiene las palabras clave de error anteriores pero la tarea falló (por ejemplo, la salida comienza con
Error:o devuelve resultados vacíos), el agente debe ejecutar automáticamente el script una vez más.
- Si la salida contiene
-
Límite de reintentos:
- El reintento automático está limitado a una vez. Si el segundo intento falla, detenga el reintento e informe al usuario del error específico.
🌟 Casos de uso típicos
- Reclutamiento tecnológico: Recopile perfiles de contribuyentes y enlaces sociales de repositorios populares para construir carteras de candidatos.
- Descubrimiento de código abierto: Busque repositorios de tendencia por palabras clave y número de estrellas para encontrar proyectos valiosos.
- Difusión a desarrolladores: Recopile sitios web personales y handles de Twitter de contribuyentes activos para marketing de herramientas de desarrollador.
- Construcción de comunidad: Identifique y conéctese con contribuyentes activos de código abierto en dominios específicos.
- Análisis de la competencia: Monitoree qué desarrolladores contribuyen a proyectos de la competencia.
- Búsqueda de socios: Encuentre propietarios de repositorios para posible colaboración o patrocinio.
- Investigación de mercado: Analice métricas y descripciones de repositorios para entender tendencias tecnológicas.
- Generación de leads: Genere leads dirigidos para herramientas de desarrollador encontrando proyectos con pilas tecnológicas relevantes.
- Investigación académica: Descubra repositorios actualizados recientemente en áreas de investigación específicas.
- Mapeo de talento: Cree una base de datos de desarrolladores calificados basada en sus contribuciones y perfiles de GitHub.