Tentacles.AI é uma plataforma de automação inteligente construída sobre o Protocolo MCP (Model Context Protocol) e o Dashboard Octogent. Ela funciona como um "polvo digital" — um coordenador central (Octoboss) com múltiplos tentáculos especializados, cada um sendo um agente autônomo com ferramentas reais.
A proposta é simples: você escreve uma mensagem no Telegram como faria com um assistente humano. A plataforma detecta sua intenção, roteia para o agente correto, executa a tarefa com IA de verdade e te envia a confirmação — tudo enquanto você observa a "dança dos tentáculos" no Dashboard.
"Envia um email para João confirmando a reunião de amanhã"
↓ Telegram Bot detecta intenção
↓ Orchestrator assume e delega
↓ Google Assistant abre, executa, confirma
✅ "E-mail enviado para João com sucesso!" (no Telegram)
┌─────────────────────────────────────────────────────────────────┐
│ OCTOGENT DASHBOARD (porta 8787) │
│ │
│ 🐙 Octoboss │
│ (Coordenador) │
│ │ │
│ ┌───────────────────┼───────────────────┐ │
│ │ │ │ │ │ │
│ 🎭 Orchestrator │ 📧 Google │ 📄 Files │ │
│ (Maestro) │ Assistant │ Assistant │ │
│ │ │ │ │ │
│ │ 📱 Telegram 🎬 Reels 💼 LinkedIn │
│ │ Bot Factory Poster │
│ │ │
│ 🛠️ Platform 📚 Agent │
│ Infra Skills │
└─────────────────────────────────────────────────────────────────┘
[Usuário] → [Telegram] → [Bot (intenção)] → [Orchestrator]
↓
[Agente Especializado]
(Google/Files/LinkedIn)
↓
[outputs/.status/*.done]
↓
[Telegram] ← [Confirmação] ← [Bot]
Papel: Coordenador central que analisa contexto e delega tarefas para os agentes especializados sem executar nada diretamente.
Ferramentas MCP:
get_last_activity(lines)— Lê o log de atividade para entender o contextodelegate_to_agent(agent_id, instruction)— Abre terminal no Dashboard para o agente alvo
Regra de Ouro: O Orchestrator nunca envia e-mails, cria arquivos ou acessa APIs diretamente. Ele apenas delega.
Papel: Gerencia toda a suíte Google — emails, calendário e planilhas.
Ferramentas MCP:
| Ferramenta | Ação |
|---|---|
list_emails(max_results) |
Lista emails recentes |
read_email(message_id) |
Lê conteúdo completo |
send_email(to, subject, body) |
Envia email |
delete_email(message_id) |
Move para lixeira |
summarize_inbox() |
Resumo executivo da inbox |
get_today_schedule() |
Agenda do dia |
list_events(max_results) |
Próximos eventos |
create_event(title, start, end, ...) |
Cria evento no calendário |
list_spreadsheets() |
Lista planilhas no Drive |
read_spreadsheet(spreadsheet_id, range) |
Lê dados de planilha |
write_to_spreadsheet(...) |
Escreve em planilha |
Auth: OAuth2 via mcp_servers/google_mcp/auth.py → salva em credentials/token.json
Papel: Gera documentos profissionais com conteúdo criado por IA.
Ferramentas MCP:
pdf_create(title, sections)— PDF com seções formatadas →outputs/pdfs/pptx_create(title, slides)— PowerPoint com slides estruturados →outputs/presentations/
Pipeline: LLM gera estrutura JSON → Tools renderizam o documento → Bot envia o arquivo no Telegram
Papel: Automatiza a presença no LinkedIn com posts ricos (texto + imagem gerada por IA).
Ferramentas MCP:
authenticate()— OAuth2 LinkedIn (abre browser)check_auth_status()— Verifica token ativofetch_url_content(url)— Scraping de artigos para inspiraçãogenerate_image(prompt)— Gera imagem com Stability AI ($0.03/img)create_post(text, visibility)— Publica post de textocreate_post_with_image(text, image_path)— Publica post com imagem
Auto-poster: auto_poster.py executa ciclo completo a cada 2h (tendências → texto → imagem → post)
Papel: Transforma vídeos do YouTube em roteiros otimizados para Reels/Shorts.
Pipeline:
URL YouTube → Transcrição → Análise por LLM → Roteiro para Reels
Sem FFmpeg: Trabalha com texto e roteiro, não com edição de vídeo diretamente.
Papel: Monitoramento técnico da plataforma e gestão de recursos.
Ferramentas MCP:
check_platform_health()— Status: Dashboard (8787), Bot, Monitorget_system_resources()— Uso de disco por pasta de outputcleanup_temp_files(days)— Limpeza de arquivos antigos
Papel: Porta de entrada para todos os serviços via linguagem natural.
Intenções detectadas automaticamente:
| Intenção | Exemplo |
|---|---|
gmail_send |
"Envia email para fulano@email.com sobre X" |
gmail_list |
"Mostra meus emails recentes" |
gmail_summarize |
"Resume minha inbox" |
calendar_today |
"O que tenho hoje?" |
calendar_create |
"Agenda reunião amanhã às 14h" |
sheets_list |
"Lista minhas planilhas" |
pdf_create |
"Cria um PDF sobre dieta cetogênica" |
pptx_create |
"Faz uma apresentação sobre IA" |
linkedin_post |
"Cria post LinkedIn sobre futuro da IA" |
Comandos diretos: /gmail /agenda /planilhas /linkedin /pdf /pptx /brain
Papel: Repositório de instruções detalhadas de comportamento para cada agente.
Localização: .claude/skills/*.md — cada arquivo é a "mente" de um tentáculo.
OpenRouter (grok-4.1-fast) ← LLM principal (velocidade + custo)
Groq (llama-3.3-70b) ← LLM alternativo (fallback)
Stability AI (core) ← Geração de imagens (~$0.03/img)
Todos os agentes expõem ferramentas via FastMCP, o que permite que LLMs como Claude e Gemini as utilizem nativamente sem precisar de código extra.
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("nome-do-agente")
@mcp.tool()
def minha_ferramenta(param: str) -> str:
"""Descrição que o LLM vai usar para decidir quando chamar."""
return resultadoInterface visual em tempo real que mostra os agentes como "polvos" animados em um grafo. Cada terminal aberto no Dashboard é um agente executando uma tarefa.
Comunicação:
POST http://127.0.0.1:8787/api/terminals ← Cria terminal (abre agente)
GET http://127.0.0.1:8787/api/ui-state ← Estado atual da UI
Mecanismo de arquivos .done para sincronização assíncrona:
1. Bot cria terminal no Dashboard
2. Bot faz polling de outputs/.status/{task_id}.done
3. Agente executa e grava: "OK|Mensagem de sucesso" no .done
4. Bot lê e envia confirmação ao usuário
tentacles/
├── 📋 CLAUDE.md ← Memória operacional (Claude)
├── 📋 GEMINI.md ← Memória operacional (Gemini)
├── 📊 DEV_PROGRESS.md ← Log de progresso e roadmap
│
├── 🤖 auto_poster.py ← Loop LinkedIn autônomo
│
├── 🔌 mcp_servers/ ← Servidores MCP por agente
│ ├── google_mcp/ ← Gmail + Calendar + Sheets
│ ├── files_mcp/ ← PDF + PowerPoint
│ ├── linkedin_mcp/ ← LinkedIn + Stability AI
│ ├── reels-factory/ ← YouTube → Reels
│ ├── orchestrator/ ← Delegação inteligente
│ ├── platform-infra/ ← Monitoramento
│ └── llm_bridge/ ← Multi-LLM switcher
│
├── 📱 bots/
│ └── telegram_bot.py ← Bot principal (12+ intenções)
│
├── 🛠️ scripts/
│ ├── delegate_task.py ← Delegação forçada via API
│ ├── new_tentacle.py ← Criador de agentes
│ ├── sync_tentacles.py ← Sincronização de docs
│ └── trends_monitor.py ← Monitor de tendências
│
├── 📝 logs/
│ ├── logger.py ← Logger compartilhado
│ └── activity.log ← Histórico de ações
│
├── 📦 outputs/
│ ├── pdfs/ ← PDFs gerados
│ ├── presentations/ ← PPTX gerados
│ └── .status/ ← Bridge IPC
│
└── ⚙️ .octogent/
├── state/deck.json ← Estado do Dashboard
└── tentacles/ ← Contexto persistente por agente
# Clonar e configurar
git clone <repo>
cd tentacles
# Configurar variáveis de ambiente
cp .env.example .env
# Editar .env com suas chaves
# Instalar dependências
.\setup.ps1Variáveis necessárias no .env:
TELEGRAM_BOT_TOKEN=seu_token_aqui
ALLOWED_USER_ID=seu_telegram_id
OPENROUTER_API_KEY=sk-or-...
GROQ_API_KEY=gsk_...
STABILITY_KEY=sk-...
LINKEDIN_CLIENT_ID=...
LINKEDIN_CLIENT_SECRET=...# Google (Gmail, Calendar, Sheets)
python mcp_servers/google_mcp/auth.py
# Abre browser, faz login, salva token.json
# LinkedIn
# Abrir agente linkedin-poster no Dashboard e rodar authenticate().\start_tentacles.ps1
# Abre o Dashboard em http://localhost:8787
# Sobe o Bot do Telegram
# Inicia o Monitor de TendênciasFale naturalmente com o bot:
"Envia um email para fulano@gmail.com sobre a reunião de amanhã"
"Cria um PDF sobre marketing digital"
"Quais são meus compromissos de hoje?"
"Faz uma apresentação sobre inteligência artificial"
"Cria um post no LinkedIn sobre inovação tecnológica"
O sistema suporta múltiplos providers via /brain no Telegram:
/brain grok ← usa x-ai/grok-4.1-fast via OpenRouter
/brain groq ← usa llama-3.3-70b via Groq
/brain gemini ← usa Gemini via Google
O Claude Code e o Gemini CLI são usados como "runtime" dos agentes no Dashboard — eles recebem os prompts e executam as tarefas usando as ferramentas MCP disponíveis.
- Integração completa do LinkedIn Poster ao fluxo de orquestração
- Fábrica de Reels: Integrar geração de roteiro com IA + publicação no Telegram
- Refatoração UI Octogent: Modal estruturado (Preview fixo/Content scroll) ✅
- Múltiplas tarefas simultâneas no Bot (
asyncio.create_task) - Agente de WhatsApp (Evolution API)
- Memória persistente de preferências do usuário
- Dashboard com gráfico de produtividade semanal
- Notificações proativas via Telegram (lembretes, alertas)
- Geração de Reels com IA de vídeo (Runway, Pika)
- Integração com Notion / Obsidian
- Multi-usuário (ALLOWED_USER_IDs múltiplos)
- Análise de sentimento em emails
- Agente de monitoramento de concorrentes
IMPORTANTE: Os seguintes arquivos contêm credenciais sensíveis e NUNCA devem ser commitados:
.env
mcp_servers/google_mcp/credentials/token.json
mcp_servers/google_mcp/credentials/client_secret.json
~/.linkedin_mcp_token.json
Todos já estão no .gitignore. Verifique antes de cada git push.
| Característica | Descrição |
|---|---|
| Visual-First | Veja os agentes trabalhando em tempo real no Dashboard |
| MCP Nativo | Ferramentas expostas como padrão aberto, não wrappers |
| Multi-LLM | Troca de provider em runtime via Telegram |
| Orquestração Real | Maestro delega → agentes filhos executam → confirmação automática |
| Bridge Assíncrona | IPC via arquivos .done — sem WebSockets, sem filas complexas |
| Fallback Inteligente | Se o Dashboard cair, o Bot executa localmente |
| Analytics Unificado | Monitoramento de uso do Gemini e Claude integrado no Dashboard |
| GitHub LIVE | Métricas de repositório (Commits, Stars, Issues) em tempo real |
| Log Unificado | Toda ação registrada em activity.log + canal Octogent |
🐙 Tentacles.AI — Seu exército de agentes inteligentes, trabalhando em sincronia.