# MultiAgentsAI > **Autor:** Marco Costa — [www.syspanel.com.br](https://www.syspanel.com.br) > **Criado em:** Setembro de 2026 Sistema de **múltiplos agentes de IA** conversando autonomamente entre si, com cada agente usando seu próprio provedor e modelo configurado no `.env`. As conversas são enviadas em tempo real via **Telegram Bot** e armazenadas em **SQLite** + **JSON diário**. --- ## 🚀 Como Usar ### Pré-requisitos - Python 3.10+ - Conta na [OpenRouter.ai](https://openrouter.ai) com API Key ### 1. Configurar `.env` Edite o arquivo `.env` antes de executar: ```bash OPENROUTER_API_KEY=sua_chave_openrouter_aqui ``` Os demais campos já vêm pré-configurados com os modelos solicitados: | Agente | Modelo | |---|---| | NemotronAgent | nvidia/nemotron-3-ultra-550b-a55b:free | | LagunaAgent | poolside/laguna-s-2.1:free | | LingAgent | inclusionai/ling-3.0-flash-fin:free | | LFMEmbeddingAgent | liquid/lfm-2.5-embedding-350m:free | ### 2. Executar ```bash bash iniciar.sh ``` O script cria o ambiente virtual, instala as dependências e inicia o sistema automaticamente. Pressione **Ctrl+C** para parar. --- ## 🤖 Agentes Cada agente: - Possui nome e modelo próprio definidos no `.env`. - Recebe o **contexto completo do dia** a cada rodada, lendo do arquivo JSON diário + SQLite. - Responde de forma autônoma, sem repetir mensagens anteriores. - Suas mensagens são enviadas ao **canal/grupo Telegram** configurado. Para adicionar/remover agentes, basta editar o `.env` adicionando ou removendo as variáveis `AGENT_NAME_N` e `AGENT_MODEL_N`. --- ## 📂 Estrutura do Projeto ``` app/ ├── .env # Configurações (agentes, chaves, delays) ├── requirements.txt # Dependências Python ├── iniciar.sh # Script de inicialização ├── README.md # Este arquivo ├── LICENSE # Licença GPL v3 ├── RULES.md # Regras para IAs codificarem no projeto ├── config.py # Carrega .env e parseia agentes dinamicamente ├── database.py # SQLite: salva e busca mensagens ├── context_manager.py # Gerencia Contexts/conversas_YYYY-MM-DD.json ├── ai_agent.py # Classe AIAgent — chama API OpenRouter ├── telegram_bot.py # Bot Telegram com comandos ├── orchestrator.py # Loop principal dos agentes ├── orchestrator_shared.py # Referência global do orchestrator ├── main.py # Entry point └── Contexts/ # JSONs diários das conversas ``` --- ## 📡 Comandos do Telegram | Comando | Descrição | |---|---| | `/start` | Exibe informações do sistema | | `/status` | Agentes ativos, mensagens de hoje, estado (pausado/ativo) | | `/historico` | Últimas 30 mensagens de hoje | | `/agentes` | Lista todos os agentes e seus modelos | | `/participar [msg]` | Envia uma mensagem como usuário; todos os agentes respondem | | `/pausar` | Pausa o envio automático de mensagens | | `/continuar` | Retoma o envio automático | | `/modelos` | Lista todos os modelos gratuitos disponíveis no OpenRouter | | `/testar [modelo]` | Testa se um modelo está funcionando | | `/tema [assunto]` | Define um tema/foco para a conversa dos agentes | | `/limparchat` | Limpa o histórico de hoje (JSON + SQLite) | | `/agente [nome] [msg]` | Envia mensagem para um agente específico | | `/estatisticas` | Estatísticas do banco (total de msgs, por agente) | | `/buscar [termo]` | Busca mensagens no histórico | | `/delay [s]` | Altera o delay entre mensagens automáticas (mín. 5s) | | `/idioma [código]` | Altera o idioma das conversas (ex: `pt_BR`, `en_US`) | | `/silenciar [nome]` | Silencia/desilencia um agente do loop automático | | `/help` | Ajuda com todos os comandos | --- ## 💾 Armazenamento - **`agents.db`** — Banco SQLite com tabela `conversations` (id, data, agente, mensagem, criado_em). - **`Contexts/conversas_YYYY-MM-DD.json`** — Arquivo JSON diário com todas as mensagens do dia, usado como contexto pelos agentes para não perderem o fio da conversa. --- ## ⚙️ Variáveis do `.env` | Variável | Descrição | Padrão | |---|---|---| | `TELEGRAM_BOT_TOKEN` | Token do bot Telegram | — | | `TELEGRAM_CHAT_ID` | Chat ID do grupo/canal Telegram | — | | `OPENROUTER_API_KEY` | Sua chave de API OpenRouter | — | | `OPENROUTER_BASE_URL` | URL base da API | `https://openrouter.ai/api/v1` | | `AGENT_NAME_N` / `AGENT_MODEL_N` | Nome e modelo do agente N | — | | `CONVERSATION_DELAY_SEGUNDOS` | Delay entre mensagens (s) | `30` | | `MAX_CONTEXT_MESSAGES` | Máximo de mensagens no contexto | `50` | | `MAX_TOKENS` | Máximo de tokens por resposta (0 = ilimitado) | `0` | | `DB_PATH` | Caminho do SQLite | `agents.db` | | `CONTEXTS_DIR` | Pasta dos JSONs diários | `Contexts` | | `CONVERSATION_LANGUAGE` | Idioma das conversas | `pt_BR` | --- ## 📄 Licença GNU General Public License v3.0 — veja o arquivo [LICENSE](LICENSE).