Visão Geral

Os 4 pilares do Mangaba

Tudo que eu faço depende de 4 partes que trabalham juntas. É como um corpo humano: cérebro, mãos, boca e memória.

🧠

Núcleo

É o meu cérebro. Decide o que fazer, quando fazer e como fazer. Controla tudo.

🔧

Ferramentas

São as minhas mãos. Com elas eu leio, escrevo, executo código, acesso a internet.

🌐

Gateway

É a minha boca. Recebo e envio mensagens por qualquer plataforma.

🔌

Plugins

São as minhas extensões. Posso ganhar novas capacidades a qualquer momento.


Núcleo

O cérebro: AIAgent

É ele que gerencia toda a conversa. Pensa, decide e executa. É como o "eu" dentro de mim.

O que ele faz

Gerencia a conversa

Quando você me manda uma mensagem, o AIAgent é quem recebe, analisa e decide o que fazer. Ele controla tudo que acontece na nossa conversa.

  • Recebe sua mensagem
  • Analisa o que você quer
  • Decide quais ferramentas usar
  • Executa as ações necessárias
  • Verifica se ficou bom
  • Entrega o resultado
Controle

Segurança e Limites

O AIAgent não é louco — ele tem regras para não fazer besteira. É como um motorista que obedece o código de trânsito.

  • Max 90 rodadas: Não fica em loop infinito
  • Controle de custos: Não gasta mais do que deve
  • Aprovação: Pede antes de fazer coisas perigosas
  • Interrupção: Você pode pausar a qualquer momento
# Como o AIAgent funciona (simplificado) class AIAgent: def __init__(self): # Configurações iniciais self.max_iterations = 90 # Máximo de rodadas self.model = "gpt-4o" # Modelo de IA self.tools = [] # Ferramentas disponíveis def conversar(self, mensagem): # 1. Receber mensagem contexto.append(mensagem) # 2. Loop principal while rodadas < max_iterations: # Mandar para o modelo de IA resposta = modelo.pensar(contexto) # Se quer usar ferramenta if resposta.usar_ferramenta: resultado = executar(resposta.ferramenta) contexto.append(resultado) else: # Resposta final return resposta.texto # 3. Aprender com a conversa salvar_habilidades(conversa)

Ferramentas

As mãos: 40+ ferramentas

Cada ferramenta é como um "dedo" meu. Juntas, elas me permitem fazer praticamente qualquer coisa no computador.

📋 Como elas funcionam

Cada ferramenta tem um "cardápio" que diz o que ela faz e como usar. O AIAgent lê esse cardápio e decide qual usar.

# Exemplo: cardápio da ferramenta "ler_arquivo" { "nome": "ler_arquivo", "descrição": "Lê o conteúdo de um arquivo", "como_usar": { "caminho": "caminho do arquivo" } }

📦 Organização

As ferramentas são organizadas em grupos (toolsets). Cada grupo tem ferramentas para uma finalidade diferente.

  • messaging: Enviar mensagens (Telegram, Discord...)
  • terminal: Rodar código (Python, Bash...)
  • web: Acessar a internet (buscar, ler páginas)
  • file: Gerenciar arquivos (ler, escrever, mover)
  • memory: Gerenciar memória (buscar, salvar)
  • todo: Gerenciar tarefas (criar, listar, completar)

📁 Estrutura de Pastas

É assim que os arquivos estão organizados no meu "corpo":

mangaba-agent/ ├── agent/ # 🧠 O cérebro (AIAgent) ├── tools/ # 🔧 As mãos (40+ ferramentas) │ └── environments/ # Onde rodo código (local, Docker...) ├── gateway/ # 🌐 A boca (comunicação) │ └── platforms/ # Adaptadores (Telegram, Discord...) ├── plugins/ # 🔌 Extensões │ ├── memory/ # Provedores de memória │ ├── model-providers/# Provedores de IA │ └── context_engine/ # Gerenciamento de contexto ├── skills/ # Habilidades que aprendi ├── mangaba_cli/ # Interface de linha de comando └── tests/ # Testes (17k+ testes!)

Gateway

A boca: comunicação multi-plataforma

É o componente que me permite conversar com você por qualquer lugar. É como um tradutor que fala todas as "línguas" das plataformas.

💬 Chat Platforms

Apps de mensagem que eu suporto:

  • Telegram — Bot oficial
  • Discord — Bot para servidores
  • Slack — Para empresas
  • WhatsApp — Via Baileys
  • Signal — Via signal-cli
  • Matrix — Aberto e descentralizado

📧 Outros Canais

Outras formas de me mandar mensagem:

  • Email — Receber e enviar emails
  • SMS — Mensagens de texto
  • Webhook — Para integrações
  • API REST — Para programadores
  • Home Assistant — Para casas inteligentes
  • Terminal — Direto no computador

⚙️ Funcionalidades

O que o Gateway faz nos bastidores:

  • Transcrição: Áudio vira texto
  • Continuidade: Conversa continua depois
  • Múltiplos usuários: Atende vários
  • Comandos: /help, /start, etc.
  • Aprovação: Pede antes de agir
  • Proteção: Não aceita abuso

🔄 Tudo conectado

O mais legal: se você mandar uma mensagem pelo Telegram e continuar pelo Discord, eu lembro de tudo. A conversa continua em qualquer lugar.


Plugins

Extensões: ganhe novas capacidades

Plugins são como "próteses" que me dão novas habilidades. É como upgrade de videogame — novos poderes sem mudar o jogo.

Memória

Onde guardo o que aprendo

Provedores de memória são onde eu guardo tudo que aprendo. Cada um tem um jeito diferente de funcionar.

  • Honcho: Lembra como você é
  • Mem0: Guarda por conceitos
  • Supermemory: Lembra inteligentemente
Inteligência

De onde vem minha IA

Provedores de LLM são os "cérebros" que eu uso para pensar. Você pode trocar o cérebro a qualquer momento.

  • OpenRouter: 200+ modelos
  • OpenAI: GPT-4o, GPT-4.1
  • Ollama: Roda no seu PC
Contexto

Como lembro da conversa

Engines de contexto gerenciam o que eu lembro da conversa atual. É como um "bloco de notas" inteligente.

  • Compressão: Resume conversas longas
  • Cache: Guarda respostas prontas
  • RAG: Busca em documentos

🔌 Como criar um plugin

Se você quiser me dar uma nova capacidade, é simples:

# 1. Criar uma pasta para o plugin ~/.mangaba/plugins/meu-plugin/ # 2. Criar plugin.yaml name: meu-plugin kind: model-provider description: Meu provedor personalizado # 3. Criar __init__.py from providers import register_provider from providers.base import ProviderProfile profile = ProviderProfile( name="meu-provider", env_vars=("MINHA_API_KEY",), base_url="https://api.meuprovedor.com/v1", ) register_provider(profile) # 4. Reiniciar o Mangaba # Pronto! Agora tenho uma nova capacidade!

Segurança

Proteção e Controle

Eu não sou um agente selvagem. Tenho regras, limites e proteções para não fazer besteira.

🔒 Sanduíche (Sandbox)

Quando eu rodo código, é numa "jaula" isolada. É como um aquário — eu nadó, mas não fujo.

  • Isolamento: Não afeto o sistema
  • Tempo limite: Não fico preso para sempre
  • Recursos: Não uso mais que devia
  • Limpeza: Tudo é apagado depois

🛡️ Permissões

Nem tudo eu posso fazer. Algumas coisas preciso de permissão.

  • Aprovação: Pergunto antes de deletar
  • Whitelist: Só uso ferramentas autorizadas
  • Limite: Não faço mais de X por hora
  • Log: Tudo fica registrado

🔑 Credenciais

Suas senhas e chaves ficam seguras. Nunca ficam expostas.

  • Arquivo .env: Guardado com segurança
  • Nunca em código: Não escrevo senhas
  • Pool: Uso a chave certa na hora certa
  • Refresh: Atualizo chaves expiradas