Synaplan Multimodal Gateway

oficial

Oferece a funcionalidade completa do servidor Open Source como um exemplo de MCP

O que você pode fazer com Synaplan Multimodal Gateway?

  • Consultar base de conhecimento RAG — Faça perguntas sobre seus documentos enviados e obtenha respostas da IA com base no seu próprio conteúdo via POST /mcp.
  • Recuperar memórias da IA — Consulte perfis de usuários e histórico de interações armazenados na busca vetorial Qdrant através do endpoint MCP.
  • Decompor solicitações complexas — Envie tarefas de várias etapas que o planejador de IA divide em um grafo de tarefas (extrair, resumir, gerar) e transmite o progresso em tempo real.
  • Gerenciar canais de chat — Conecte e configure WhatsApp, e-mail ou widgets de chat incorporados para conversas multicanal com IA.
  • Conectar servidores MCP externos — Registre seus próprios servidores MCP em Canais para que o planejador de múltiplas tarefas possa obter dados ao vivo deles via nós mcp_fetch.

Documentação

Synaplan

Gestão de conhecimento com IA, RAG, widgets de chat e integração multicanal.

License

Instância ativa: web.synaplan.com  |  Documentação: docs.synaplan.com  |  API: Swagger UI

Synaplan Dashboard


Pré-requisitos

  • Docker + Docker Compose v2 (Docker Desktop no macOS/Windows, ou Docker Engine + o plugin Compose no Linux)
  • Git
  • 8 GB de RAM no mínimo (16 GB recomendados para a instalação padrão com IA local)
  • ~9 GB de espaço livre em disco para a instalação padrão (~5 GB para a mínima)
  • Portas TCP livres 5173, 8000, 8082, 8025, 3307, 6333, 11435

Macs com Apple Silicon (M1–M4): As imagens de contêiner do Synaplan são publicadas para linux/amd64, portanto, são executadas sob emulação no Apple Silicon. Em Docker Desktop → Configurações → Geral, ative "Usar Rosetta para emulação x86/amd64 no Apple Silicon" (macOS 13+) para contêineres muito mais rápidos e estáveis do que o QEMU padrão. Tudo funciona sem isso — apenas mais lento, e a primeira compilação demora mais.

Início Rápido

git clone https://github.com/metadist/synaplan.git
cd synaplan
docker compose up -d

Abra http://localhost:5173 — a interface fica pronta em ~2 minutos. Com a instalação padrão, os modelos locais do Ollama (gpt-oss:20b, bge-m3, ~14 GB no total) continuam baixando em segundo plano — o chat que usa IA local começará a funcionar assim que o download terminar (docker compose logs -f backend mostra o progresso). Para a primeira experiência mais rápida, use a instalação Mínima abaixo.


Opções de Instalação

ModoComandoTamanhoIdeal Para
Padrãodocker compose up -d~9 GBRecursos completos, IA local
Mínimadocker compose -f docker-compose-minimal.yml up -d~5 GBApenas IA em nuvem (Groq/OpenAI)

Para a instalação mínima, defina sua chave de API antes de iniciar a stack para que a primeira inicialização já a reconheça (evita uma reinicialização). Obtenha uma chave gratuita em console.groq.com:

echo "GROQ_API_KEY=your_key" >> backend/.env
docker compose -f docker-compose-minimal.yml up -d

Já iniciou sem uma chave? Adicione-a e reinicie o backend:

echo "GROQ_API_KEY=your_key" >> backend/.env && docker compose restart backend

Acesso

ServiçoURL
Aplicativohttp://localhost:5173
APIhttp://localhost:8000
Documentação da APIhttp://localhost:8000/api/doc
phpMyAdminhttp://localhost:8082
MailHoghttp://localhost:8025

Credenciais de Login Padrão:

EmailSenhaNível
[email protected]admin123ADMIN
[email protected]demo123PRO
[email protected]test123NOVO (não verificado)

Funcionalidades

  • Chat com IA — Ollama, OpenAI, Anthropic, Groq, Gemini
  • Roteamento Multitarefa — Um planejador de IA decompõe solicitações complexas em um grafo de tarefas (extrair → resumir → gerar → responder) e transmite cartões de tarefa ao vivo enquanto as etapas são executadas
  • Busca RAG — Busca semântica em documentos com MariaDB VECTOR ou Qdrant
  • Widget de Chat — Incorpore em qualquer site (guia do widget)
  • Suporte ao Vivo — Camada WebSocket em tempo real (Centrifugo + Redis): tomada de controle humana de chats do widget, indicadores de digitação, notificações para operadores (guia de tempo real)
  • WhatsApp — Integração com a API do Meta Business
  • Email — Respostas de email com IA
  • Áudio — Transcrição com Whisper (entrada) + opcional synaplan-tts (saída)
  • Documentos — PDF, Word, Excel, imagens com OCR
  • Memórias de IA — Perfil de usuário com busca vetorial Qdrant
  • Sistema de Feedback — Captura e análise de feedback com Qdrant
  • Plugins — Sistema de plugins não invasivo (guia de plugins)
  • Servidor MCP (acesso antecipado) — Conecte clientes de IA (Claude, Cursor, …) através do Model Context Protocol; seu RAG e memórias se tornam ferramentas em POST /mcp (guia MCP)
  • Cliente MCP (acesso antecipado) — Conecte seus servidores MCP (CRM, wiki, n8n, …) em Canais → Servidores MCP; o planejador multitarefa extrai dados ao vivo deles via nós DAG mcp_fetch — somente leitura, protegido contra SSRF, adesão por tópico. Habilitado por flags semeadas BCONFIG (MCP.CLIENT_ENABLED, MULTITASK.MCP_FETCH_ENABLEDapp:seed as ativa na implantação; uma linha explícita 0 é o interruptor de desligamento do operador). Veja docs/MULTITASK_DATA_NODES.md

Banco de Dados Vetorial Qdrant

O Qdrant é executado como um serviço Docker interno — nenhuma configuração é necessária. Ele alimenta as memórias de IA, a busca RAG em documentos e o sistema de feedback.

Inicia automaticamente com docker compose up -d. O Synaplan funciona plenamente sem ele (memórias e busca vetorial serão desabilitadas).


Processamento em Tempo Real e em Segundo Plano

Ambos os arquivos compose também iniciam três serviços internos (sem portas de host, sem necessidade de configuração):

ServiçoFunção
redisInfraestrutura compartilhada obrigatória: cache, sessões, bloqueios, limites de taxa, filas de mensagens (Redis Streams), mecanismo Centrifugo
centrifugoGateway WebSocket para funcionalidades em tempo real (tomada de controle de chat ao vivo, indicadores de digitação, notificações para operadores) — navegadores se conectam na mesma origem via /connection/websocket
workerConsumidor Symfony Messenger que executa tarefas assíncronas (processamento de IA, indexação de documentos, rastreamento de widgets)

Em um cluster multinó, todos os nós compartilham um Redis, então eventos WebSocket publicados em um nó alcançam navegadores conectados a qualquer outro. Detalhes: docs/REALTIME.md.


Texto-para-Fala (Opcional)

Para saída de voz, execute o synaplan-tts junto com o Synaplan:

git clone https://github.com/metadist/synaplan-tts.git && cd synaplan-tts && docker compose up -d

Comandos Comuns

# Logs
docker compose logs -f backend

# Restart
docker compose restart backend

# Reset database
docker compose down -v && docker compose up -d

# Run tests
make test

# Code quality
make lint

Documentação

A documentação voltada ao usuário e da API está em docs.synaplan.com. Fonte: metadist/synaplan-docs.

Guias no repositório (para desenvolvedores que trabalham nesta base de código):

GuiaDescrição
InstalaçãoInstruções detalhadas de configuração
ConfiguraçãoVariáveis de ambiente, chaves de API
DesenvolvimentoComandos, testes, arquitetura
Tempo Real / WebSocketsCamada de tempo real Centrifugo + Redis, implantação multinó
Sistema RAGBusca e processamento de documentos
Widget de ChatIncorpore chat em sites
WhatsAppConfiguração da API do Meta Business
EmailIntegração do canal de email

Repositórios Relacionados

RepositórioFinalidade
synaplanAplicativo principal (este repositório)
synaplan-docsSite público de documentação (docs.synaplan.com)
synaplan-ttsServiço TTS Piper opcional
synaplan-sortxPlugin de ordenação de documentos + ferramenta local
synaplan-chartsHelm charts para Kubernetes
synaplan-platformConfigurações de implantação em produção

Estrutura do Projeto

synaplan/
├── backend/        # Symfony PHP API
├── frontend/       # Vue.js SPA
├── docs/           # Documentation
├── _docker/        # Docker configs
└── plugins/        # Plugin system

Contribuindo

Veja AGENTS.md para diretrizes de desenvolvimento e padrões de código.


Licença

Apache-2.0