Inglês |
validate_tests.sh
Dockerfile
build_image.sh
O Github Sentinel é AI Agent
projetado para recuperação de informações inteligentes e mineração de conteúdo de alto valor especialmente projetada para a era dos grandes modelos (LLMS). Visa que os usuários que precisam de alta frequência e grandes quantidades de aquisição de informações, especialmente entusiastas de código aberto, desenvolvedores e investidores individuais.
O GitHub Sentinel não apenas ajuda os usuários a rastrear e analisar automaticamente as atualizações mais recentes dos GitHub 开源项目
, mas também expandir rapidamente para outros canais de informação, como os tópicos populares das Hacker News
, fornecendo recursos de mineração e análise de informações mais abrangentes.
Rastreamento e resumo do progresso do projeto do GitHub
Hacker News Hot Tech Tópico Mineração
Primeiro, instale as dependências necessárias:
pip install -r requirements.txt
Edite o arquivo config.json
para definir seu token github, configurações de e-mail (tomando a caixa de correio do tencent WeChat como exemplo), arquivos de assinatura, configurações de atualização, configuração de serviço de modelo Big Model (suporta o OpenAI GPT API e o serviço de modelo de modelo e geram relatórios do Github (Github, os tópicos de hacker notícias e os tópicos de hacker e o hacker e o bletward) e recuperam e geram relatórios do projeto, o projeto do projeto, os tópicos de hacker notícias e o hacker e o blet- swords e o bletwert e o githb, os relatórios do Github.
{
"github" : {
"token" : " your_github_token " ,
"subscriptions_file" : " subscriptions.json " ,
"progress_frequency_days" : 1 ,
"progress_execution_time" : " 08:00 "
},
"email" : {
"smtp_server" : " smtp.exmail.qq.com " ,
"smtp_port" : 465 ,
"from" : " [email protected] " ,
"password" : " your_email_password " ,
"to" : " [email protected] "
},
"llm" : {
"model_type" : " ollama " ,
"openai_model_name" : " gpt-4o-mini " ,
"ollama_model_name" : " llama3 " ,
"ollama_api_url" : " http://localhost:11434/api/chat "
},
"report_types" : [
" github " ,
" hacker_news_hours_topic " ,
" hacker_news_daily_report "
],
"slack" : {
"webhook_url" : " your_slack_webhook_url "
}
}
Por razões de segurança: Tanto o token do github quanto as configurações de senha de e -mail suportam a configuração usando variáveis de ambiente para evitar a configuração explícita de informações importantes, como mostrado abaixo:
# Github
export GITHUB_TOKEN= " github_pat_xxx "
# Email
export EMAIL_PASSWORD= " password "
O Github Sentinel suporta as três maneiras a seguir de corrida:
Você pode executar o aplicativo interativamente a partir da linha de comando:
python src/command_tool.py
Nesse modo, você pode inserir manualmente os comandos para gerenciar assinaturas, recuperar atualizações e gerar relatórios.
Para executar o aplicativo como um serviço em segundo plano (daemon), ele será atualizado automaticamente com base na configuração relevante.
Você pode iniciar o status de consulta, fechar e reiniciar diretamente usando o script de gerenciamento daemon daemon_control.sh:
Inicie o serviço:
$ ./daemon_control.sh start
Starting DaemonProcess...
DaemonProcess started.
config.json
e enviarão emails.logs/DaemonProcess.log
. Ao mesmo tempo, os registros cumulativos históricos também serão de síncrona anexada ao arquivo de logs/app.log
.Status do serviço de consulta:
$ ./daemon_control.sh status
DaemonProcess is running.
Feche o serviço:
$ ./daemon_control.sh stop
Stopping DaemonProcess...
DaemonProcess stopped.
Reinicie o serviço:
$ ./daemon_control.sh restart
Stopping DaemonProcess...
DaemonProcess stopped.
Starting DaemonProcess...
DaemonProcess started.
Para executar um aplicativo usando a interface Gradio, permita que os usuários interajam com a ferramenta através da interface da Web:
python src/gradio_server.py
http://localhost:7860
, mas você pode compartilhá -lo publicamente, se quiser. O Ollama é uma ferramenta privada de gerenciamento de modelo que suporta implantação local e contêiner, interação com linha de comando e chamadas de API REST.
Para obter instruções detalhadas sobre o lançamento do Serviço de Mockup de implantação e privatização de instalação do Ollama, consulte a liberação da implantação e serviço de instalação do Ollama.
Para ligar para o serviço de maquete privado usando o Ollama no Github Sentinel, siga estas etapas para instalar e configurar:
Instale o ollama : faça o download e instale o serviço Ollama, de acordo com a documentação oficial de Ollama. A Ollama suporta uma variedade de sistemas operacionais, incluindo Linux, Windows e MacOS.
Inicie o serviço Ollama : Após a conclusão da instalação, inicie o serviço Ollama com o seguinte comando:
ollama serve
Por padrão, a API Ollama será executada em http://localhost:11434
.
Configurando o uso de Ollama no Github Sentinel : no arquivo config.json
, configure as informações relacionadas à API da Ollama:
{
"llm" : {
"model_type" : " ollama " ,
"ollama_model_name" : " llama3 " ,
"ollama_api_url" : " http://localhost:11434/api/chat "
}
}
Verifique a configuração : Inicie o Github Sentinel com o seguinte comando e gerar um relatório para verificar se a configuração do ollama está correta:
python src/command_tool.py
Se configurado corretamente, você poderá gerar relatórios através do modelo Ollama.
Para garantir a qualidade e a confiabilidade do código, o GitHub Sentinel usa o módulo unittest
para testes de unidade. Para descrições detalhadas do unittest
e suas ferramentas relacionadas, como @patch
e MagicMock
, consulte os detalhes do teste da unidade.
validate_tests.sh
validate_tests.sh
é um script de shell que executa testes de unidade e valida os resultados. Ele é executado durante o processo de criação de imagem do Docker para garantir a correção e a estabilidade do código.
test_results.txt
.Para facilitar a construção e implantação de projetos do GitHub Sentinel em vários ambientes, fornecemos suporte ao Docker. Este suporte inclui os seguintes arquivos e recursos:
Dockerfile
Dockerfile
é um arquivo de configuração usado para definir como criar uma imagem do Docker. Ele descreve as etapas para construir a imagem, incluindo a instalação de dependências, copiando arquivos de projeto, testes de unidade em execução, etc.
python:3.10-slim
como a imagem base e defina o diretório de trabalho para /app
.requirements.txt
do projeto e instale as dependências do Python.validate_tests.sh
.validate_tests.sh
durante o processo de construção para garantir que todos os testes de unidade passem. Se o teste falhar, o processo de construção será abortado.src/main.py
será executado por padrão como ponto de entrada do contêiner.build_image.sh
build_image.sh
é um script de shell para criar imagens automaticamente do docker. Ele pega o nome da ramificação do ramo Git atual e o usa como uma etiqueta para a imagem do Docker, facilitando a geração de imagens diferentes do Docker em diferentes ramificações.
docker build
para criar a imagem do Docker e use o nome atual do ramo Git como o rótulo. chmod +x build_image.sh
./build_image.sh
Através desses scripts e arquivos de configuração, é garantido que, em diferentes ramificações de desenvolvimento, as imagens do Docker construídas sejam baseadas em código testado na unidade, melhorando assim a qualidade do código e a confiabilidade da implantação.
A contribuição é o que torna a comunidade de código aberto incrível de aprender, inspirar e criar. Muito obrigado por qualquer contribuição que você tenha dado. Se você tiver alguma sugestão ou solicitações de recursos, inicie um tópico para discutir o que deseja alterar.
O projeto está licenciado nos termos da licença Apache-2.0. Consulte o arquivo de licença para obter detalhes.
Django Peng - [email protected]
Link do projeto: https://github.com/djangopeng/githubsentinel