Um agente inteligente especializado em fornecer informações detalhadas sobre projetos e deployments na plataforma Vercel. Desenvolvido com Python e framework Agno, oferece uma interface conversacional para monitoramento e gestão de infraestrutura Vercel.
- 🤖 Agente Conversacional: Interface interativa para consultas sobre projetos Vercel
- 🔄 Monitoramento Autônomo: Monitoramento contínuo de deployments com notificações automáticas via Telegram
- 📱 Integração com Telegram: Receba notificações em tempo real sobre novos deployments
- 🔍 Duas Ferramentas Especializadas:
search_deployments: Informações sobre deployments específicossearch_projects: Detalhes completos de projetos e configurações
- ✅ Sistema de Validação: Validação automática de respostas antes do envio
- 📊 Formatação Inteligente: Listas numeradas para perguntas quantitativas
- 🔄 Memória Agêntica: Persistência de conversas com SQLite
- 🌐 Suporte Multi-Modelo: Compatível com OpenAI GPT-4o-mini e Google Gemini
- Python 3.13+
- Conta Vercel com token de acesso
- Chave de API OpenAI ou Google AI
- Bot do Telegram (para notificações automáticas) - veja como criar abaixo
- Clone o repositório:
git clone <repository-url>
cd DevOps-Agent- Instale as dependências:
uv sync- Configure as variáveis de ambiente:
# Crie o arquivo .env
cp .env.example .envEdite o arquivo .env com suas credenciais:
# Vercel API Configuration
VERCEL_ACCESS_TOKEN=your_vercel_access_token_here
# Telegram Configuration (para notificações automáticas)
TELEGRAM_BOT_TOKEN=your_telegram_bot_token_here
TELEGRAM_CHAT_ID=your_telegram_chat_id_here
# OpenAI Configuration (para GPT-4o-mini)
OPENAI_API_KEY=your_openai_api_key_here
# Google AI Configuration (para Gemini - opcional)
GOOGLE_API_KEY=your_google_api_key_hereConfigurando o Bot do Telegram:
-
Abra o Telegram e procure por
@BotFather -
Envie o comando
/newbote siga as instruções -
Copie o token gerado e cole em
TELEGRAM_BOT_TOKEN -
Para obter seu Chat ID, envie uma mensagem para
@userinfobotno Telegram -
Copie o ID gerado e cole em
TELEGRAM_CHAT_ID -
Configure o modelo preferido em
config/agent_config.py:
MODEL_CONFIG = {
"model": OpenAIChat("gpt-4o-mini") # OpenAI model
# "model": Gemini("gemini-2.0-flash-exp"), # Google Gemini
}Execute o agente normalmente para fazer perguntas:
uv run app.pyou com o comando do projeto:
uv run vercel-agentExecute o agente com monitoramento automático que verifica novos deployments a cada 60 segundos e envia notificações para o Telegram:
uv run app.py --monitorou
uv run app.py -mComo funciona:
- 🔍 Verifica novos deployments a cada 60 segundos
- 📱 Envia notificações automáticas para o Telegram quando detecta novos deployments
- 💬 Permite fazer perguntas enquanto monitora em background
- ✅ Cache inteligente para evitar notificações duplicadas
Deployments:
- "What are the latest deployments?"
- "What was the last deployment and who did it?"
- "Have there been any recent errors in deployments?"
Projetos:
- "What projects are currently hosted on the account?"
- "Tell me about the [project-name] project"
- "What frameworks are being used in my projects?"
Informações Gerais:
- "Show me the status of all my projects"
- "Which projects have environment variables configured?"
/quitou/q: Sair da conversa- Digite qualquer pergunta sobre seus projetos Vercel
- Modo Monitoramento: Use
--monitorou-mpara ativar monitoramento autônomo
Quando você executa o agente com --monitor, ele automaticamente:
- 🔍 Verifica a API da Vercel a cada 60 segundos
- 📦 Detecta novos deployments
- 📱 Envia notificações formatadas para o Telegram contendo:
- Nome do projeto
- Mensagem de commit
- Branch
- Autor do deployment
- Data e hora
- Status (READY, BUILDING, ERROR, etc.)
- URL do deployment
vercel-agent/
├── app.py # Aplicação principal (ponto de entrada)
├── agent.py # Configuração e criação do agente
├── config/
│ └── agent_config.py # Configurações e instruções do agente
├── monitoring/ # Módulo de monitoramento autônomo
│ ├── __init__.py
│ ├── monitor.py # Lógica de monitoramento
│ └── notifications.py # Sistema de notificações
├── tools/
│ ├── search_deployments.py # Ferramenta Agno para consultar deployments
│ ├── search_projects.py # Ferramenta Agno para consultar projetos
│ ├── api_helper.py # Funções auxiliares de API
│ └── __init__.py
├── pyproject.toml # Dependências do projeto
├── .env # Variáveis de ambiente
└── README.md # Este arquivo
app.py: Coordena o agente e monitoramentoagent.py: Função factory para criar o agentemonitoring/: Sistema de monitoramento autônomotools/: Ferramentas Agno e auxiliares de APIconfig/: Configurações do agente
- Endpoint:
https://api.vercel.com/v6/deployments - Uso: Perguntas sobre deployments específicos, status, histórico
- Retorna: Array de deployments com detalhes de criação, estado, autor, etc.
- Endpoint:
https://api.vercel.com/v10/projects - Uso: Perguntas sobre projetos, configurações, frameworks
- Retorna: Array de projetos com detalhes completos, deployments recentes, configurações
O agente implementa um sistema robusto de validação com 7 pontos de verificação:
- Análise da Pergunta: Entendeu corretamente o que foi perguntado?
- Seleção de Ferramenta: Usou a ferramenta correta?
- Precisão dos Dados: Informações exatas da API?
- Conversão de Datas: Timestamps convertidos corretamente?
- Formato Adequado: Formatação apropriada para o tipo de pergunta?
- Completude: Resposta completa à pergunta?
- Verificação Lógica: A resposta faz sentido?
Usado para perguntas quantitativas:
- "latest deployments"
- "recent deployments"
- "list all projects"
- "how many deployments"
Usado para informações gerais:
- Status de deployments
- Informações de erro
- Detalhes de projeto específico
OpenAI GPT-4o-mini (Padrão):
MODEL_CONFIG = {
"model": OpenAIChat("gpt-4o-mini")
}Google Gemini:
MODEL_CONFIG = {
"model": Gemini("gemini-2.0-flash-exp")
}O agente utiliza SQLite para persistir conversas:
- Banco de dados:
/tmp/database.db - Habilita contexto entre sessões
- Melhora respostas baseadas em histórico
- Tokens de API: Armazenados em variáveis de ambiente
- Dados Sensíveis: Nunca exibidos além do necessário
- Escopo Limitado: Apenas projetos conectados à conta Vercel
- Validação: Todas as respostas são validadas antes do envio
agno>=2.2.0: Framework de agentesgoogle-genai>=1.46.0: Integração com Google AIopenai>=2.6.0: Integração com OpenAIrequests>=2.32.5: Requisições HTTPsqlalchemy>=2.0.44: ORM para banco de dados
- Fork o projeto
- Crie uma branch para sua feature (
git checkout -b feature/AmazingFeature) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature') - Push para a branch (
git push origin feature/AmazingFeature) - Abra um Pull Request
Este projeto está sob a licença MIT.
Para suporte e dúvidas:
- Abra uma issue no GitHub
- Verifique a documentação da API Vercel
- Consulte a documentação do Agno Framework
- ✅ Refatoração completa para arquitetura modular
- ✅ Separação de responsabilidades:
app.py- Coordenação da aplicaçãoagent.py- Factory do agentemonitoring/- Sistema de monitoramentotools/- Ferramentas Agno e auxiliares
- ✅ Monitoramento autônomo de deployments
- ✅ Notificações automáticas via Telegram
- ✅ Execução em background com threading
- ✅ Cache inteligente para evitar duplicatas
- ✅ Dois modos de execução: interativo e monitoramento
- ✅ Integração completa com TelegramBot
- ✅ Agente conversacional básico
- ✅ Integração com API Vercel
- ✅ Duas ferramentas especializadas (deployments e projetos)
- ✅ Sistema de validação de respostas
- ✅ Suporte a OpenAI e Google Gemini
- ✅ Memória agêntica com SQLite
- ✅ Formatação inteligente de respostas
Desenvolvido com ❤️ usando Python e Agno Framework