marcocosta10000 67e8df36ce feat: add complete multi-agent AI system with Telegram bot
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
2026-10-17 19:25:05 -03:00

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

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 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.

S
Description
No description provided
Readme GPL-3.0
60 KiB
Languages
Python 97.9%
Shell 2.1%