Pular para o conteúdo

Visão Geral da Arquitetura

Implementador

O Prodgy é uma plataforma distribuída composta por múltiplos serviços que se comunicam entre si. Cada serviço possui uma responsabilidade específica e pode ser implantado de forma independente.

ServiçoTecnologiaPortaDescrição
APINode.js / Express4000Backend principal — autenticação, CRUD, websockets, API REST
WebReact / Vite3000Frontend da plataforma (SPA)
ServiceNode.js / Express / BullMQ5000Processamento de filas e tarefas assíncronas
EnginePython / FastAPI / LangGraph8001Motor de execução de IA — orquestração de agentes e workflows
StudioReact / Vite5173Editor visual de workflows
GatewayNode.js / Express / MCP SDK3100Servidor MCP — expõe integrações e ferramentas para clientes MCP externos
AgenticNode.js / Express / AI SDK3200Orquestrador de agentes de IA — execução multi-step com provedores de LLM
AssistantC# / .NET 8443 / 8445Bot para Microsoft Teams (chamadas e mensagens)
DocsAstro / Starlight4321Documentação da plataforma

                    ┌──────────┐
                    │   Web    │ (3000)
                    │  Studio  │ (5173)
                    └────┬─────┘
                         │ HTTP
                    ┌────▼─────┐
                    │   API    │ (4000)
                    └──┬─┬─┬──┘
                       │ │ │
            ┌──────────┘ │ └──────────┐
            │            │            │
      ┌─────▼────┐  ┌───▼────┐  ┌────▼─────┐
      │  Service  │  │ Engine │  │ Supabase │
      │  (5000)   │  │ (8001) │  │ (Postgres)│
      └─────┬─────┘  └───┬────┘  └──────────┘
            │             │
       ┌────▼─────┐       │
       │  Redis   │◄──────┘
       │  (6379)  │
       └──────────┘

      ┌───────────┐
      │  Gateway  │ (3100)
      │  (MCP)    │──── HTTP ──→ API (4000)
      └───────────┘

      ┌───────────┐
      │  Agentic  │ (3200)
      │  (AI SDK) │──── HTTP ──→ API (4000)
      └───────────┘

      ┌───────────┐
      │ Assistant  │ (443/8445)
      │  (.NET)    │──── HTTP ──→ API (4000)
      └─────┬──────┘             Redis (6379)

      Microsoft Teams

O serviço central da plataforma. Todas as requisições dos frontends e integrações externas passam por ele.

  • Autenticação e autorização (JWT + API Tokens)
  • API REST para todos os recursos (agentes, integrações, conhecimento, etc.)
  • WebSocket via Socket.io para atualizações em tempo real
  • Gerenciamento de organizações, produtos e usuários
  • Comunicação com Supabase (PostgreSQL)
  • Proxy para Engine e Service

Aplicação React que fornece a interface da plataforma.

  • Dashboard de monitoramento
  • Playground de chat com agentes
  • Gerenciamento de integrações e base de conhecimento
  • Painel administrativo
  • Tema claro/escuro

Processa tarefas assíncronas utilizando BullMQ com Redis como broker.

  • Processamento de pipelines de dados
  • Importação e indexação de documentos
  • Execução de tarefas em background
  • Retentativas automáticas com backoff configurável

Motor de execução de agentes de IA escrito em Python.

  • Orquestração de agentes via LangGraph
  • Busca semântica com embeddings (pgvector)
  • Integração com provedores de LLM (OpenAI, Anthropic, Google)
  • Execução de workflows e ferramentas MCP

Aplicação React para criação visual de workflows de agentes.

  • Editor drag-and-drop de workflows
  • Configuração de nos e conexões
  • Preview e teste de workflows
  • Disponível apenas para usuários do sistema

Servidor MCP que expõe as integrações e ferramentas do Prodgy para clientes MCP externos (Claude Code, Cursor, Windsurf, etc.).

  • Protocolo MCP via HTTP (transporte StreamableHTTP)
  • Ponte entre clientes de IA externos e o ecossistema de integrações do Prodgy
  • Ferramentas da plataforma (busca de conhecimento, agentes, catálogo de integrações)
  • Ferramentas dinâmicas de integração (carregadas das integrações ativas da organização)
  • Comunicação com a API via tokens de serviço e tokens de usuário

Serviço de orquestração de agentes de IA utilizando Vercel AI SDK.

  • Execução multi-step de agentes com streamText e generateText
  • Suporte a múltiplos provedores de LLM (OpenAI, Azure OpenAI, Anthropic, Google)
  • Endpoints de streaming (SSE) e execução direta
  • Descoberta automática de agentes por workspace
  • Carregamento dinâmico de ferramentas de integração via API

Serviço .NET para integração com Microsoft Teams.

  • Mensagens e chamadas via Bot Framework
  • Transcrição de audio em tempo real
  • Agendamento de tarefas via Redis
  • Requer certificado SSL e Azure AD

Banco de dados principal da plataforma.

AspectoDetalhe
ProvedorSupabase (PostgreSQL gerenciado)
Extensoespgvector (embeddings), UUID, JSONB
AutenticaçãoJWT (anon key + service role key)
AcessoVia client Supabase (Node.js e Python)

Cache e broker de filas.

AspectoDetalhe
Versão7+ (Alpine)
DB 0Filas BullMQ (Service)
DB 1Cache e agendamento (Assistant)
PersistênciaAOF (Append-Only File)

A autenticação entre serviços é feita via tokens estaticos nos headers:

ComunicaçãoHeaderVariável de Ambiente
Qualquer → APIX-Api-KeyPRODGY_API_TOKEN
Service → EngineX-Api-KeyPRODGY_ENGINE_TOKEN
API → ServiceX-Api-KeyPRODGY_SERVICE_TOKEN
Gateway → APIX-Api-KeyPRODGY_API_TOKEN
Agentic → APIX-Api-KeyPRODGY_API_TOKEN
Assistant → APIX-Api-KeyConfigurado em appsettings.json