Habilidad de API de Búsqueda de Proyectos y Colaboradores de GitHub
📖 Resumen
Esta habilidad utiliza la API de GitHub Project & Contributor Finder de BrowserAct para extraer detalles de proyectos e información de contacto de colaboradores de GitHub. Simplemente proporcione palabras clave, un número mínimo de estrellas y un filtro de fecha de actualización; BrowserAct recorre los resultados de búsqueda, extrae métricas de repositorios y obtiene perfiles detallados de colaboradores, devolviéndolo todo directamente a través de la API sin necesidad de construir scripts de scraping ni lidiar con límites de tasa.
✨ Características
- Sin alucinaciones: Los flujos de trabajo predefinidos evitan alucinaciones generativas de IA, asegurando una extracción de datos estable y precisa.
- Sin problemas de captcha: No es necesario manejar reCAPTCHA u otros desafíos de verificación.
- Sin restricciones de IP: No es necesario manejar restricciones de IP regionales o geobloqueo.
- 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 basadas en IA.
- Rentable: Reduce significativamente los costos de adquisición de datos en comparación con soluciones de IA de alto consumo de 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 de 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 por defecto:
browser automation
- Tipo:
-
stars
- Tipo:
number - Descripción: Número mínimo de estrellas que debe tener el repositorio.
- Ejemplo:
100,1000 - Valor por defecto:
100
- Tipo:
-
updated
- Tipo:
string - Descripción: Filtrar repositorios por la fecha de su última actualización (formato:
YYYY-MM-DD). - Ejemplo:
2026-01-01,2025-06-01 - Valor por defecto:
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 por defecto:
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 por defecto:
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 por defecto)
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 tomar varios minutos. El script genera continuamente registros de estado con marca de tiempo (por ejemplo, [14:30:05] Estado de la tarea: ejecutándose).
Directrices para el agente:
- Supervise la salida del terminal mientras espera.
- Mientras aparezcan nuevos registros de estado, la tarea se está ejecutando normalmente; no la malinterprete 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 al 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 colaborador:
user_name: El nombre de usuario de GitHub del colaborador.profile_url: El enlace URL al perfil del colaborador.bio: La biografía o breve descripción del colaborador.repositories_summary: Un resumen de otros repositorios propiedad del colaborador.personal_website: El enlace al sitio web personal del colaborador.twitter: El identificador de Twitter del colaborador.
⚠️ Manejo de Errores y Reintento
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 de API no es válida o ha expirado. No reintentar; guíe al usuario para que verifique y proporcione la clave de 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 del 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 re-ejecutar el script automáticamente una vez.
- Si la salida contiene
-
Límite de reintentos:
- El reintento automático está limitado a una vez. Si el segundo intento falla, deje de reintentar e informe el error específico al usuario.
🌟 Casos de Uso Típicos
- Reclutamiento Tecnológico: Recopilar perfiles de colaboradores y enlaces sociales de repositorios populares para construir pipelines de candidatos.
- Descubrimiento de Código Abierto: Buscar repositorios de tendencia por palabras clave y número de estrellas para encontrar proyectos valiosos.
- Contacto con Desarrolladores: Recopilar sitios web personales y cuentas de Twitter de colaboradores activos para marketing de herramientas de desarrolladores.
- Construcción de Comunidades: Identificar y conectar con colaboradores activos de código abierto en dominios específicos.
- Análisis de Competidores: Monitorear qué desarrolladores contribuyen a proyectos de la competencia.
- Búsqueda de Socios: Encontrar propietarios de repositorios para posibles colaboraciones o patrocinios.
- Investigación de Mercado: Analizar métricas y descripciones de repositorios para comprender tendencias tecnológicas.
- Generación de Leads: Generar leads específicos para herramientas de desarrolladores encontrando proyectos con pilas tecnológicas relevantes.
- Investigación Académica: Descubrir repositorios actualizados recientemente en áreas de investigación específicas.
- Mapeo de Talento: Construir una base de datos de desarrolladores capacitados basada en sus contribuciones y perfiles de GitHub.