main
Initial implementation of MultiAgentsAI featuring: - Dynamic agent configuration via environment variables - SQLite database and JSON daily context storage - OpenRouter API integration for multiple AI models - Telegram bot with commands for control, history, and interaction - Autonomous conversation loop with pause/resume and agent silencing - Model testing and statistics commands
MultiAgentsAI
Autor: Marco Costa — 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 com API Key
1. Configurar .env
Edite o arquivo .env antes de executar:
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 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 tabelaconversations(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.
Languages
Python
97.9%
Shell
2.1%