Um Alchemist medallion agentic, uma camada semântica governada e um modelo de acesso em dois planos — a correr inteiramente nas suas instalações. Esta é a arquitetura por baixo da magia.
O VibeBI é uma plataforma empresarial de analytics on-premise que transforma um armazém em bruto num serviço de BI governado e self-service. Assenta em três superfícies de produto que partilham contratos mas mantêm as responsabilidades separadas:
O VibeBI segue com o seu próprio motor de agentes embutido. O agente faz a maior parte da redação; os administradores de dados humanos e os depositários de TI aprovam e executam através de portões de certificação — nunca são o gargalo.
A plataforma separa o runtime do agente (no portátil do utilizador) do plano de controlo (servidor on-prem). As credenciais do armazém e do LLM nunca chegam aos dispositivos dos utilizadores finais.
flowchart LR
subgraph client["User laptop"]
DT["VibeBI Desktop"]
SC["Agent sidecar :4580
VibeBI agent engine"]
DT --> SC
end
subgraph server["On-prem server :8080"]
AUTH["Auth / SSO"]
BRK["Warehouse broker
read-only SQL"]
GW["LLM gateway"]
STORE["Report store
Postgres + object store"]
ACL["Access control"]
end
CH[("Warehouse (EDW)
bronze · silver · gold")]
WEB["VibeBI Web viewer"]
SC --> AUTH
SC --> BRK
SC --> GW
BRK --> CH
DT --> STORE
WEB --> AUTH
WEB --> STORE
STORE --> ACL
| Componente | Porta | Responsabilidade |
|---|---|---|
| Sidecar do agente | 4580 | Corre o agente embutido, transmite turnos para o ambiente de trabalho |
| Servidor da plataforma | 8080 | Definições, governação, broker, gateway, store, auditoria |
| Armazém (EDW) | — | Aterragem bronze, views silver, views gold |
O âmbito do VibeBI começa no bronze — após a ingestão. Promove os dados através de um medallion governado: bronze → silver → gold + semântica. A única regra rígida: o gold nunca é construído diretamente a partir do bronze; as views silver certificadas têm de existir primeiro.
flowchart LR B["Bronze
source-shaped landing
source__entity"] --> S["Silver
silver_<domain>
conformed views"] S --> G["Gold
gold_<domain>
facts & dims"] G --> SEM["Semantics
entities · grain · tags"] SEM --> CR["Create / Web
published gold only"]
| Camada | Padrão | Objeto | Criado por |
|---|---|---|---|
| Bronze | bronze_<source> | Tabelas de origem | Ingestão / TI |
| Silver | silver_<domain> | CREATE VIEW | O agente redige · o administrador de dados aprova |
| Gold | gold_<domain> | CREATE VIEW | O agente redige · o administrador de dados publica |
| Semântica | vibebi_semantic | Metadados | Manifests com origem silver |
A Fase 1 (Bronze → Silver) cobre perfilagem, análise de qualidade de dados, conformação e propostas de domínio/classificação. A Fase 2 (Silver → Gold) cobre resolução de entidades, redação de manifests e views gold, validação e ciclos de reparação. Os nomes físicos das bases de dados são configuração de implementação, não estão fixos nos binários.
A camada semântica é o que torna os relatórios duradouros. Em vez de ligar dashboards a tabelas físicas, o VibeBI expõe entidades, granularidades, mapeamentos, métricas certificadas e metadados de modelos gold através de um único contrato.
Como os relatórios leem a camada semântica, uma alteração de esquema a montante é absorvida no mapeamento silver→gold — os relatórios a jusante continuam a funcionar sem reescrita.
# Agent discovery contract
GetSemantics # entities, tables, grains, mappings, certified metrics
QueryVibeBIGold # read-only SQL against published gold for real answers
O gold não é uma publicação de uma só vez. O VibeBI captura sinais de procura de cada turno do agente de BI — perguntas de utilizadores, métricas esparsas/nulas de sondas em tempo real, erros de consulta, falhas de join e entidades a que o assistente não conseguiu responder — e transforma-os em melhorias revistas pelo administrador de dados nos business drivers, manifests e joins.
flowchart LR BI["BI Agent turns
chat + gold/silver probes"] --> SIG["Learning signals
catalog backlog"] SIG --> PROC["Process backlog
drivers · joins · hints"] PROC --> STW["Steward review
Gold → BI Learning tab"] STW --> GOLD["Approve drivers
publish manifests · build gold"] GOLD --> SEM["Updated semantics
fewer gaps next turn"] SEM --> BI
Os administradores de dados mantêm o controlo. As propostas criam bi_learning business drivers em proposto até aprovação. As reconstruções de manifest para métricas esparsas regressam a rascunho até nova publicação. Os administradores de dados podem processar passo a passo ou executar um pipeline completo (processar → aprovar → publicar → construir gold) a partir do ambiente de trabalho.
| Sinal | Resultado típico |
|---|---|
| Perguntas recorrentes de utilizadores | Anexe perguntas de negócio ou, agrupadas por LLM, bi_learning propostas de drivers |
| Métricas esparsas / nulas nas sondas | Sugestões de reconstrução de manifest; auto-reconstrução opcional (rascunho) |
| Falhas de consulta / join | Sugestões de relação; enriquecimento de joins no manifest |
| Entidades por cobrir | Novas propostas de drivers para lacunas gold |
O agente de BI recebe uma secção compacta de lacunas de aprendizagem nos turnos seguintes (medidas esparsas, entidades por cobrir, drivers pendentes) para responder com honestidade em vez de voltar a sondar colunas conhecidas como nulas. O DG Agent usa o mesmo backlog ao regenerar business drivers.
WarehouseGovernance ações (list_gold_learning, process_gold_learning, run_gold_learning_pipeline), e as rotas HTTP da plataforma partilham uma única implementação de servidor — sem pipeline sombra só de UI.O VibeBI corre um runtime de agente embutido, feito de propósito — não um chatbot genérico. Dois papéis de agente impulsionam o produto:
| Agente | Superfície | Faz |
|---|---|---|
| DG Agent | Governação de dados | Perfila o bronze, redige views silver/gold e manifests semânticos, propõe etiquetas de domínio/classificação |
| BI Agent | BI / Criar | Planeia, ancora na semântica em tempo real, consulta o gold e constrói artefactos de relatórios governados |
O controlo de acessos utiliza dois planos ortogonais, definidos pelo cliente e aplicados em cada campo, consulta, relatório e partilha.
Áreas temáticas detidas pelo negócio (Receita, Cadeia de abastecimento, Compensação de RH), com subdomínios opcionais. Cada domínio tem um proprietário que aprova os pedidos de acesso — a parte responsável do negócio, não o construtor técnico da tabela.
| Nível | Nome | Utilização típica |
|---|---|---|
| 0 | Abrir | A visibilidade interna geral é aceitável |
| 1 | Standard | Utilização quotidiana de negócio entre equipas |
| 2 | Sensível | Audiência limitada, controlos mais fortes |
| 3 | Protegido | Need-to-know estrito, proteção máxima |
Esta é a regra nuclear de acesso, e não tem bypass:
As concessões ao nível do relatório (papéis, ligações de partilha) só podem restringir o acesso — nunca o alargar para além das autorizações de dados subjacentes. Um modelo gold construído a partir de várias tabelas silver herda a união das suas etiquetas de domínio, pelo que os proprietários de todos os domínios herdados se tornam os aprovadores.
| Ação | Ponto de aplicação |
|---|---|
| Criar / construir | O broker recusa consultas gold sem autorização; a publicação é bloqueada se o manifest estiver incompleto |
| Pré-visualização / renderização | O servidor recalcula a autorização face ao manifest do relatório |
| Listagem da Store | Só aparecem relatórios totalmente acessíveis (ou mostram-se bloqueados com motivo) |
| Ligação de partilha | O resolvedor verifica a autorização do visualizador face ao manifest do relatório |
100% on-premise é a nossa vantagem — o VibeBI corre inteiramente dentro da sua rede, com credenciais do armazém e chaves de modelo que nunca a abandonam. O piloto é uma instalação Docker Compose numa única VM; a produção reforça-se para um cluster HA sem redesenhar o produto.
On-premise é a predefinição, não a única opção. A mesma arquitetura implementa-se na cloud à sua escolha — pública, privada, híbrida ou multi-cloud — para que possa colocar o plano de controlo e o armazém de dados onde a sua estratégia de residência de dados e de operações o exigir.
O servidor é intencionalmente leve — um binário leve que corre confortavelmente em hardware comum. Toda a computação agentic — perfilagem, extração semântica, geração de modelos, redação de relatórios — corre distribuída no cliente de ambiente de trabalho de cada utilizador, não no servidor. O servidor trata apenas da governação, da intermediação e da disponibilização, pelo que os requisitos de recursos do lado do servidor se mantêm mínimos mesmo à medida que a base de utilizadores cresce.
Para clientes sensíveis a dados, o VibeBI suporta uma implementação totalmente air-gapped: 100% on-premise, sem qualquer dependência da internet, a correr contra um LLM interno. Nenhum dado, nenhuma consulta e nenhum metadado saem alguma vez da sua rede. O sistema inteiro — servidor, cliente de ambiente de trabalho e LLM — opera como um circuito fechado dentro do seu perímetro.
.report.ts + HTML gerado, renderizado através de APIs com ACL.Cinco não negociáveis mantêm-se em todas as implementações:
src/ nas imagens de runtime.| Camada | Tecnologia |
|---|---|
| Runtime | Bun (servidor + sidecar), Rust (shell de ambiente de trabalho) |
| Motor de agentes | Runtime de agente VibeBI embutido, feito de propósito |
| Armazém | Agnóstico quanto ao armazém — a maioria dos armazéns SQL (ClickHouse usado na demo) |
| Store do plano de controlo | PostgreSQL (definições, governação, metadados) + object store |
| Identidade | OIDC / SAML SSO |
| Relatórios | .report.ts + HTML gerado, APIs de renderização com ACL |
| Embalagem | Docker Compose (piloto) → cluster HA (produção) |
Descarregue a aplicação de ambiente de trabalho, o servidor e os dados de amostra SimEDW — e faça a sua primeira construção de armazém governado numa tarde.