minions-ai-agents/README.md

172 lines
6.6 KiB
Markdown

# 🧠 Antigravity Brain - Sistema de IA Corporativo
Uma aplicação modular **CrewAI** com memória compartilhada, 27 agentes de IA especializados, e interface web powered by **Chainlit**.
![Python](https://img.shields.io/badge/Python-3.11+-blue)
![CrewAI](https://img.shields.io/badge/CrewAI-0.80+-green)
![Docker](https://img.shields.io/badge/Docker-Pronto-blue)
![License](https://img.shields.io/badge/Licença-Privada-red)
## 🚀 Funcionalidades
- **27 Agentes de IA Especializados** - De infraestrutura (Arthur Mendes, Gus Fring) a vendas (Ari Gold, Don Draper) até gestão de crises (Olivia Pope, Saul Goodman) e especialistas técnicos (React Expert, Linus Torvalds).
- **Memória Híbrida Inteligente** - Combinação de banco vetorial (Qdrant) + grafo de relacionamentos (Neo4j) para busca semântica e contextualizada.
- **Agentes Escolhem Estratégia de Busca** - Podem usar busca rápida (vetorial) ou busca contextualizada (vetor + relacionamentos).
- **Roteamento Inteligente** - Classificação automática de solicitações para a equipe apropriada.
- **Integração Multi-Plataforma** - Interface Web via Chainlit e suporte a Bot de Telegram.
- **Suporte Multi-Provedor LLM** - Funciona com Gemini, OpenAI, Anthropic, ou Ollama local.
- **Base de Conhecimento Padronizada** - Protocolos rigorosos para código, vendas, segurança e operações.
- **Pronto para Docker** - Deploy com um único comando via docker-compose.
## 📁 Estrutura do Projeto
```
minions-da-itguys/
├── src/
│ ├── app.py # Ponto de entrada Chainlit
│ ├── config.py # Configuração LLM & Memória
│ ├── router.py # Roteamento inteligente de requisições
│ ├── agents/
│ │ ├── factory.py # Instanciação de agentes
│ │ └── personas/ # 27 arquivos de personalidade (.md)
│ ├── crews/
│ │ └── definitions.py # Lógica de montagem de crews
│ ├── knowledge/
│ │ ├── dynamic/ # Conhecimento dinâmico gerado
│ │ └── standards/ # +20 arquivos de padrões (Vendas, Zabbix, Segurança, etc.)
│ ├── memory/
│ │ ├── wrapper.py # Integração Mem0 + busca híbrida
│ │ ├── graph_wrapper.py # Gerenciamento de relacionamentos Neo4j
│ │ └── entity_search_tool.py # Busca por entidades específicas
│ ├── tools/ # Ferramentas customizadas (Zabbix, Evolution, etc.)
│ └── integrations/
│ └── telegram_bot.py # Interface de Bot Telegram
├── docs/ # Documentação detalhada do sistema
│ ├── AGENT_CATALOG.md # Catálogo completo dos agentes
│ ├── AI_AGENT_PROTOCOL.md # Protocolo de comportamento dos agentes
│ ├── DEVELOPER_GUIDE.md # Guia para desenvolvedores
│ └── ...
├── docker-compose.yml # Orquestração de containers
├── Dockerfile # Container da aplicação
├── requirements.txt # Dependências Python
└── .env # Chaves de API & configuração
```
## 📚 Documentação Estendida
Explore a pasta `docs/` para detalhes aprofundados:
- [**Catálogo de Agentes**](docs/AGENT_CATALOG.md): Lista completa de personas, suas skills e propósitos.
- [**Protocolo IA**](docs/AI_AGENT_PROTOCOL.md): Diretrizes éticas e operacionais para os agentes.
- [**Guia do Desenvolvedor**](docs/DEVELOPER_GUIDE.md): Arquitetura, padrões de código e fluxos de contribuição.
- [**Troubleshooting**](docs/TROUBLESHOOTING.md): Solução de problemas comuns.
- [**Padrões (Standards)**](src/knowledge/standards/): Consulte os arquivos em `src/knowledge/standards/` para diretrizes específicas de cada domínio (Sales, DevOps, Security, etc.).
## 🛠️ Instalação
### Pré-requisitos
- Docker & Docker Compose
- Python 3.11+ (para desenvolvimento local)
- Chave de API Gemini/OpenAI
### Início Rápido (Docker)
```bash
# 1. Clone o repositório
git clone https://git.itguys.com.br/joao.goncalves/minions-ai-agents.git
cd minions-da-itguys
# 2. Configure o ambiente
cp .env.example .env
# Edite o .env com suas chaves de API
# 3. Inicie a aplicação
docker-compose up -d
# 4. Acesse a interface web
open http://localhost:8000
```
### Desenvolvimento Local
```bash
# Instale as dependências
pip install -r requirements.txt
# Execute o Chainlit
chainlit run src/app.py --port 8000
```
## ⚙️ Configuração
Edite o `.env` para configurar o backend de IA:
```env
# Provedor LLM: gemini, openai, anthropic, ollama
LLM_PROVIDER=gemini
LLM_MODEL_FAST=gemini-2.5-flash-lite-preview-06-17
LLM_MODEL_SMART=gemini-2.5-flash-lite-preview-06-17
GEMINI_API_KEY=sua-chave-api
# Memória: qdrant (local) ou mem0 (nuvem)
MEMORY_PROVIDER=qdrant
MEMORY_EMBEDDING_PROVIDER=local
# Neo4j Graph Database (para relacionamentos)
NEO4J_URI=bolt://localhost:7687
NEO4J_USER=neo4j
NEO4J_PASSWORD=antigravity2024
```
## 🤖 Crews Disponíveis (Exemplos)
| Crew | Agentes Principais | Propósito |
|------|---------|-----------|
| **Engenharia de Infra** | Arthur Mendes, Gus Fring | Templates Zabbix, monitoramento |
| **Auditoria de Segurança** | Elliot Alderson, Devil | Avaliação de vulnerabilidades |
| **RH & Evolução** | The Architect, Sherlock | Criar agentes, aprender políticas |
| **Crescimento de Vendas** | Ari Gold, Chris Gardner, Don Draper | Gestão de pipeline |
| **Estratégia de Negócios** | Harvey Specter, Kevin O'Leary | Compliance, análise de ROI |
> *Veja a lista completa em [docs/AGENT_CATALOG.md](docs/AGENT_CATALOG.md)*
## 🧪 Exemplos de Uso
```
Usuário: "Valide este template Zabbix"
→ Roteado para: Engenharia de Infra (Zabbix)
→ Arthur valida YAML, corrige UUIDs, Gus revisa
Usuário: "Crie um novo agente chamado Bob para DevOps"
→ Roteado para: RH & Evolução
→ The Architect gera novo arquivo de persona
Usuário: "Analise a segurança da nossa página de login"
→ Roteado para: Auditoria de Segurança
→ Elliot realiza reconhecimento
```
## 📦 Dependências Principais
- `crewai` - Orquestração multi-agente
- `chainlit` - Interface Web
- `mem0ai` - Memória compartilhada
- `qdrant-client` - Banco de dados vetorial
- `neo4j` - Banco de dados de grafos para relacionamentos
- `litellm` - Suporte multi-provedor LLM
- `sentence-transformers` - Embeddings locais
## 🔒 Notas de Segurança
- Nunca commite `.env` com chaves de API reais
- O `.env.example` contém valores de placeholder seguros
- A memória é persistida no volume Docker `qdrant_data`
## 📝 Licença
Privada - Uso Interno ITGuys Apenas
---
Feito com ❤️ pela ITGuys