Evo AI - AI Agents Platform Evo AI is an open-source platform for creating and managing AI agents, enabling integration with different AI models and services.
Go to file
2025-04-28 12:37:58 -03:00
.venv new mcp servers format 2025-04-28 12:37:58 -03:00
migrations new mcp servers format 2025-04-28 12:37:58 -03:00
src new mcp servers format 2025-04-28 12:37:58 -03:00
.cursorrules new mcp servers format 2025-04-28 12:37:58 -03:00
.env new mcp servers format 2025-04-28 12:37:58 -03:00
.env.example new mcp servers format 2025-04-28 12:37:58 -03:00
.gitignore update gitignore 2025-04-28 12:08:24 -03:00
alembic.ini new mcp servers format 2025-04-28 12:37:58 -03:00
evo-ai-api.postman_collection.json new mcp servers format 2025-04-28 12:37:58 -03:00
Makefile new mcp servers format 2025-04-28 12:37:58 -03:00
README.md new mcp servers format 2025-04-28 12:37:58 -03:00
requirements.txt new mcp servers format 2025-04-28 12:37:58 -03:00

Evo AI - Plataforma de Agentes de IA

Evo AI é uma plataforma open-source para criação e gerenciamento de agentes de IA, permitindo a integração com diferentes modelos e serviços de IA.

🚀 Visão Geral

O Evo AI é uma plataforma que permite:

  • Criação e gerenciamento de agentes de IA
  • Integração com diferentes modelos de linguagem
  • Gerenciamento de clientes e contatos
  • Configuração de servidores MCP
  • Gerenciamento de ferramentas personalizadas
  • Autenticação via API Key

🛠️ Tecnologias

  • FastAPI: Framework web para construção da API
  • SQLAlchemy: ORM para interação com o banco de dados
  • PostgreSQL: Banco de dados principal
  • Alembic: Sistema de migrações
  • Pydantic: Validação e serialização de dados
  • Uvicorn: Servidor ASGI
  • Redis: Cache e gerenciamento de sessões

📁 Estrutura do Projeto

src/
├── api/          # Endpoints da API
├── core/         # Lógica central do negócio
├── models/       # Modelos de dados
├── schemas/      # Schemas Pydantic para validação
├── utils/        # Utilitários
├── config/       # Configurações
└── services/     # Serviços de negócio

📋 Requisitos

  • Python 3.8+
  • PostgreSQL
  • Redis
  • OpenAI API Key (ou outro provedor de IA)

🔧 Instalação

  1. Clone o repositório:
git clone https://github.com/seu-usuario/evo-ai.git
cd evo-ai
  1. Crie um ambiente virtual:
python -m venv .venv
source .venv/bin/activate  # Linux/Mac
# ou
.venv\Scripts\activate  # Windows
  1. Instale as dependências:
pip install -r requirements.txt
  1. Configure as variáveis de ambiente:
cp .env.example .env
# Edite o arquivo .env com suas configurações
  1. Execute as migrações:
make upgrade

🔐 Autenticação

A API utiliza autenticação via API Key. Para acessar os endpoints, você precisa:

  1. Incluir a API Key no header X-API-Key de todas as requisições
  2. A API Key é gerada automaticamente quando o servidor é iniciado pela primeira vez
  3. Você pode encontrar a API Key no arquivo .env ou nos logs do servidor

Exemplo de uso com curl:

curl -X GET "http://localhost:8000/api/clients/" \
     -H "X-API-Key: sua-api-key-aqui"

🚀 Executando o Projeto

make run

A API estará disponível em http://localhost:8000

📚 Documentação da API

Clientes

Criar Cliente

POST /clients/

Cria um novo cliente.

Listar Clientes

GET /clients/

Lista todos os clientes com paginação.

Buscar Cliente

GET /clients/{client_id}

Busca um cliente específico.

Atualizar Cliente

PUT /clients/{client_id}

Atualiza os dados de um cliente.

Remover Cliente

DELETE /clients/{client_id}

Remove um cliente.

Contatos

Criar Contato

POST /contacts/

Cria um novo contato.

Listar Contatos

GET /contacts/{client_id}

Lista contatos de um cliente.

Buscar Contato

GET /contact/{contact_id}

Busca um contato específico.

Atualizar Contato

PUT /contact/{contact_id}

Atualiza os dados de um contato.

Remover Contato

DELETE /contact/{contact_id}

Remove um contato.

Agentes

Criar Agente

POST /agents/

Cria um novo agente.

Listar Agentes

GET /agents/{client_id}

Lista agentes de um cliente.

Buscar Agente

GET /agent/{agent_id}

Busca um agente específico.

Atualizar Agente

PUT /agent/{agent_id}

Atualiza os dados de um agente.

Remover Agente

DELETE /agent/{agent_id}

Remove um agente.

Servidores MCP

Criar Servidor MCP

POST /mcp-servers/

Cria um novo servidor MCP.

Listar Servidores MCP

GET /mcp-servers/

Lista todos os servidores MCP.

Buscar Servidor MCP

GET /mcp-servers/{server_id}

Busca um servidor MCP específico.

Atualizar Servidor MCP

PUT /mcp-servers/{server_id}

Atualiza os dados de um servidor MCP.

Remover Servidor MCP

DELETE /mcp-servers/{server_id}

Remove um servidor MCP.

Ferramentas

Criar Ferramenta

POST /tools/

Cria uma nova ferramenta.

Listar Ferramentas

GET /tools/

Lista todas as ferramentas.

Buscar Ferramenta

GET /tools/{tool_id}

Busca uma ferramenta específica.

Atualizar Ferramenta

PUT /tools/{tool_id}

Atualiza os dados de uma ferramenta.

Remover Ferramenta

DELETE /tools/{tool_id}

Remove uma ferramenta.

Chat

Enviar Mensagem

POST /chat

Envia uma mensagem para um agente.

📝 Documentação Interativa

A documentação interativa da API está disponível em:

  • Swagger UI: http://localhost:8000/docs
  • ReDoc: http://localhost:8000/redoc

📊 Logs

Os logs são armazenados no diretório logs/ com o seguinte formato:

  • {nome_do_logger}_{data}.log

🤝 Contribuindo

  1. Faça um fork do projeto
  2. Crie uma branch para sua feature (git checkout -b feature/AmazingFeature)
  3. Commit suas mudanças (git commit -m 'Add some AmazingFeature')
  4. Push para a branch (git push origin feature/AmazingFeature)
  5. Abra um Pull Request

📄 Licença

Este projeto está licenciado sob a licença MIT - veja o arquivo LICENSE para detalhes.

🙏 Agradecimentos