Skill de API de Busca de Projetos e Contribuidores do GitHub
📖 Resumo
Esta skill utiliza a API GitHub Project & Contributor Finder do BrowserAct para extrair detalhes de projetos e informações de contato de contribuidores do GitHub. Basta fornecer palavras-chave, estrelas mínimas e um filtro de data de atualização — o BrowserAct percorre os resultados da pesquisa, extrai métricas dos repositórios e busca perfis detalhados dos contribuidores, retornando tudo diretamente via API sem a necessidade de construir scripts de crawler ou lidar com limites de taxa.
✨ Funcionalidades
- Sem Alucinações: Fluxos de trabalho predefinidos evitam alucinações generativas de IA, garantindo extração de dados estável e precisa.
- Sem Problemas de CAPTCHA: Não é necessário lidar com reCAPTCHA ou outros desafios de verificação.
- Sem Restrições de IP: Não é necessário lidar com restrições regionais de IP ou geobloqueio.
- Execução Mais Rápida: As tarefas são executadas mais rapidamente em comparação com soluções de automação de navegador puramente baseadas em IA.
- Custo-Efetivo: Reduz significativamente os custos de aquisição de dados em comparação com soluções de IA de alto consumo de tokens.
🔑 Configuração da Chave da API
Antes de executar, verifique a variável de ambiente BROWSERACT_API_KEY. Se não estiver definida, não tome outras medidas; pergunte e aguarde o usuário fornecê-la.
O agente deve informar o usuário:
"Como você ainda não configurou a chave da API BrowserAct, visite o Console do BrowserAct para obter sua chave."
🛠️ Parâmetros de Entrada
O agente deve configurar os seguintes parâmetros de forma flexível com base nos requisitos do usuário:
-
KeyWords
- Tipo:
string - Descrição: Palavras-chave para pesquisar repositórios.
- Exemplo:
browser automation,react framework,machine learning - Padrão:
browser automation
- Tipo:
-
stars
- Tipo:
number - Descrição: Número mínimo de estrelas que o repositório deve ter.
- Exemplo:
100,1000 - Padrão:
100
- Tipo:
-
updated
- Tipo:
string - Descrição: Filtrar repositórios pela data da última atualização (formato:
YYYY-MM-DD). - Exemplo:
2026-01-01,2025-06-01 - Padrão:
2026-01-01
- Tipo:
-
Page_Turns
- Tipo:
number - Descrição: Número de páginas de resultados de pesquisa para percorrer. Por exemplo, se houver 39 páginas e você quiser as primeiras 2, insira
2. - Exemplo:
1,2 - Padrão:
1
- Tipo:
-
date_limit_per_page
- Tipo:
number - Descrição: Número de itens de dados a extrair por página na lista de resultados da pesquisa.
- Exemplo:
5,10 - Padrão:
5
- Tipo:
🚀 Método de Invocação
O agente deve executar o seguinte comando para invocar a skill:
# Exemplo de invocação (todos os parâmetros)
python -u ./scripts/github_project_contributor_finder_api.py "browser automation" 100 "2026-01-01" 1 5
# Invocação mínima (apenas palavras-chave, outros usam valores padrão)
python -u ./scripts/github_project_contributor_finder_api.py "react framework"
⏳ Monitoramento da Execução
Como esta tarefa envolve operações automatizadas de navegador, pode levar vários minutos. O script gera continuamente logs de status com carimbo de data/hora (por exemplo, [14:30:05] Task Status: running).
Diretrizes para o agente:
- Monitore a saída do terminal enquanto espera.
- Enquanto novos logs de status aparecerem, a tarefa está executando normalmente; não a julgue incorretamente como congelada.
- Considere acionar uma nova tentativa somente se o status permanecer inalterado por muito tempo ou a saída parar sem um resultado final.
📊 Saída de Dados
Após a execução bem-sucedida, o script analisa e imprime os resultados estruturados da resposta da API.
Campos do Projeto:
repository_name: O nome do repositório no GitHub.repository_url: O link de URL para o repositório.repository_owner_name: O proprietário/criador do repositório.repository_description: Uma breve descrição do repositório.star_count: O número de estrelas que o repositório recebeu.
Campos do Contribuidor:
user_name: O nome de usuário do contribuidor no GitHub.profile_url: O link de URL para o perfil do contribuidor.bio: A biografia ou breve descrição do contribuidor.repositories_summary: Um resumo de outros repositórios do contribuidor.personal_website: O link do site pessoal do contribuidor.twitter: O identificador do Twitter do contribuidor.
⚠️ Tratamento de Erros e Nova Tentativa
Se ocorrer um erro durante a execução do script (por exemplo, flutuações de rede ou falha da tarefa), o Agente deve seguir esta lógica:
-
Verificar Conteúdo da Saída:
- Se a saída contiver
"Invalid authorization", significa que a chave da API é inválida ou expirou. Não tente novamente; oriente o usuário a verificar e fornecer a chave correta. - Se a saída contiver
"concurrent"ou"too many running tasks", significa que o limite de tarefas concorrentes foi atingido. Não tente novamente; oriente o usuário a fazer upgrade do plano. O agente deve informar o usuário:"A tarefa atual não pode ser executada porque sua conta do BrowserAct atingiu o limite de tarefas concorrentes. Visite a Página de Upgrade de Plano do BrowserAct para fazer upgrade do seu plano."
- Se a saída não contiver as palavras-chave de erro acima mas a tarefa falhou (por exemplo, a saída começa com
Error:ou retorna resultados vazios), o Agente deve executar o script novamente automaticamente uma vez.
- Se a saída contiver
-
Limite de Novas Tentativas:
- A nova tentativa automática é limitada a uma vez. Se a segunda tentativa falhar, pare de tentar e relate o erro específico ao usuário.
🌟 Casos de Uso Típicos
- Recrutamento Técnico: Coletar perfis de contribuidores e links sociais de repositórios populares para construir pipelines de candidatos.
- Descoberta de Código Aberto: Pesquisar repositórios em tendência por palavras-chave e contagem de estrelas para encontrar projetos valiosos.
- Divulgação para Desenvolvedores: Coletar sites pessoais e identificadores do Twitter de contribuidores ativos para marketing de ferramentas de desenvolvedor.
- Construção de Comunidade: Identificar e conectar-se com contribuidores ativos de código aberto em domínios específicos.
- Análise da Concorrência: Monitorar quais desenvolvedores contribuem para projetos concorrentes.
- Busca de Parcerias: Encontrar proprietários de repositórios para potencial colaboração ou patrocínio.
- Pesquisa de Mercado: Analisar métricas e descrições de repositórios para entender tendências tecnológicas.
- Geração de Leads: Gerar leads direcionados para ferramentas de desenvolvedor encontrando projetos com pilhas tecnológicas relevantes.
- Pesquisa Acadêmica: Descobrir repositórios atualizados recentemente em áreas de pesquisa específicas.
- Mapeamento de Talentos: Construir um banco de dados de desenvolvedores qualificados com base em suas contribuições e perfis no GitHub.