Habilidad API de Buscador de Proyectos y Contribuyentes de GitHub
📖 Resumen
Esta habilidad utiliza la API de BrowserAct GitHub Project & Contributor Finder para extraer detalles de proyectos e información de contacto de contribuyentes desde GitHub. Simplemente proporciona 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 de repositorios y obtiene perfiles detallados de contribuyentes, devolviéndolo todo directamente a través de la API sin necesidad de construir scripts de rastreo ni lidiar con límites de velocidad.
✨ Características
- Sin alucinaciones: Los flujos de trabajo predefinidos evitan alucinaciones generativas de IA, garantizando 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 ni geolocalización.
- 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, verifica la variable de entorno BROWSERACT_API_KEY. Si no está configurada, no tomes otras medidas; pregunta y espera a que el usuario la proporcione.
El agente debe informar al usuario:
"Como aún no has configurado la clave API de BrowserAct, por favor 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 - Por defecto:
browser automation
- Tipo:
-
stars
- Tipo:
number - Descripción: Número mínimo de estrellas que debe tener el repositorio.
- Ejemplo:
100,1000 - Por defecto:
100
- Tipo:
-
updated
- Tipo:
string - Descripción: Filtra repositorios por la fecha en que se actualizaron por última vez (formato:
YYYY-MM-DD). - Ejemplo:
2026-01-01,2025-06-01 - 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 deseas las primeras 2, ingresa
2. - Ejemplo:
1,2 - 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 - 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, el resto usa valores por defecto)
python -u ./scripts/github_project_contributor_finder_api.py "react framework"
⏳ Monitoreo de Ejecución
Dado que esta tarea implica operaciones de navegador automatizadas, puede tomar varios minutos. El script genera registros de estado con marca de tiempo de forma continua (por ejemplo, [14:30:05] Task Status: running).
Directrices para el agente:
- Monitorea la salida del terminal mientras esperas.
- Mientras aparezcan nuevos registros de estado, la tarea se está ejecutando normalmente; no la malinterpretes como congelada.
- Solo considera 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 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 breve descripción 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 es inválida o ha expirado. No reintentar; guía al usuario para que verifique 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ía 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. Por favor, 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 re-ejecutar automáticamente el script una vez.
- Si la salida contiene
-
Límite de Reintentos:
- El reintento automático está limitado a una vez. Si el segundo intento falla, deja de reintentar e informa el error específico al usuario.
🌟 Casos de Uso Típicos
- Reclutamiento Tecnológico: Recopila perfiles de contribuyentes y enlaces sociales de repositorios populares para construir canales de candidatos.
- Descubrimiento de Código Abierto: Busca repositorios en tendencia por palabras clave y número de estrellas para encontrar proyectos valiosos.
- Contacto con Desarrolladores: Recopila sitios web personales y handles de Twitter de contribuyentes activos para marketing de herramientas para desarrolladores.
- Construcción de Comunidad: Identifica y conéctate con contribuyentes activos de código abierto en dominios específicos.
- Análisis de Competencia: Monitorea qué desarrolladores contribuyen a proyectos competidores.
- Búsqueda de Asociaciones: Encuentra propietarios de repositorios para posible colaboración o patrocinio.
- Investigación de Mercado: Analiza métricas y descripciones de repositorios para entender las tendencias tecnológicas.
- Generación de Prospectos: Genera prospectos dirigidos para herramientas de desarrolladores encontrando proyectos con pilas tecnológicas relevantes.
- Investigación Académica: Descubre repositorios actualizados recientemente en áreas de investigación específicas.
- Mapeo de Talento: Construye una base de datos de desarrolladores capacitados basada en sus contribuciones y perfiles de GitHub.