Skill da API de Busca de Projetos e Contribuidores do GitHub
📖 Breve descrição
Esta skill utiliza a API BrowserAct de Busca de Projetos e Contribuidores do GitHub para extrair detalhes de projetos e informações de contato de contribuidores do GitHub. Basta fornecer palavras-chave, número mínimo de estrelas e um filtro de data de atualização — o BrowserAct percorre os resultados da busca, extrai métricas dos repositórios e obtém perfis detalhados dos contribuidores, retornando tudo diretamente via API, sem necessidade de criar scripts de crawling 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 contornar 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-benefício: 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 de API
Antes de executar, verifique se a variável de ambiente BROWSERACT_API_KEY está definida. Se não estiver, 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, acesse o Console BrowserAct para obter sua chave."
🛠️ Parâmetros de entrada
O agente deve configurar de forma flexível os seguintes parâmetros com base nas necessidades do usuário:
-
KeyWords
- Tipo:
string - Descrição: Palavras-chave para buscar repositórios.
- Exemplo:
browser automation,react framework,machine learning - Valor 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 - Valor padrão:
100
- Tipo:
-
updated
- Tipo:
string - Descrição: Filtra repositórios pela data da última atualização (formato:
YYYY-MM-DD). - Exemplo:
2026-01-01,2025-06-01 - Valor padrão:
2026-01-01
- Tipo:
-
Page_Turns
- Tipo:
number - Descrição: Número de páginas de resultados de busca a percorrer. Por exemplo, se houver 39 páginas e você quiser as 2 primeiras, informe
2. - Exemplo:
1,2 - Valor 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.
- Exemplo:
5,10 - Valor 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 padrões)
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 timestamp (por exemplo, [14:30:05] Task Status: running).
Diretrizes para o agente:
- Monitore a saída do terminal enquanto aguarda.
- Enquanto novos logs de status aparecerem, a tarefa está sendo executada normalmente; não a julgue como travada.
- 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 GitHub.repository_url: O link 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 URL para o perfil do contribuidor.bio: A biografia ou breve descrição do contribuidor.repositories_summary: Um resumo de outros repositórios pertencentes ao contribuidor.personal_website: O link do site pessoal do contribuidor.twitter: O usuário do Twitter do contribuidor.
⚠️ Tratamento de erros e nova tentativa
Se ocorrer um erro durante a execução do script (por exemplo, flutuação de rede ou falha na tarefa), o agente deve seguir esta lógica:
-
Verificar o 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 seu plano. O agente deve informar o usuário:"A tarefa atual não pode ser executada porque sua conta BrowserAct atingiu o limite de tarefas concorrentes. Acesse 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 automaticamente o script novamente uma vez.
- Se a saída contiver
-
Limite de nova tentativa:
- A repetição 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 open-source: Buscar repositórios em alta por palavras-chave e contagem de estrelas para encontrar projetos valiosos.
- Divulgação para desenvolvedores: Coletar sites pessoais e contas do Twitter de contribuidores ativos para marketing de ferramentas para desenvolvedores.
- Construção de comunidades: Identificar e conectar-se com contribuidores ativos de open-source em áreas específicas.
- Análise de concorrentes: Monitorar quais desenvolvedores contribuem para projetos concorrentes.
- Busca de parcerias: Encontrar proprietários de repositórios para possíveis colaborações ou patrocínios.
- Pesquisa de mercado: Analisar métricas e descrições de repositórios para entender tendências tecnológicas.
- Geração de leads: Gerar leads segmentados para ferramentas de desenvolvedores encontrando projetos com stacks tecnológicos 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.