Novo: automações em fluxo, painéis e visões SQL

O banco de dadoscolaborativo em quecada tabela é uma tabela PostgreSQL de verdade.

A simplicidade de uma planilha compartilhada — grades, visões, formulários, permissões — e dados que vivem em tabelas tipadas e com nomes legíveis. Sua equipe trabalha na interface; seus scripts, suas ferramentas de BI, seus agentes de IA e o psql leem as mesmas linhas.

$ docker compose up -d
  • Auto-hospedado
  • AGPL-3.0
  • API REST e servidor MCP
A interface, de verdade

Tudo o que sua equipe espera de uma planilha compartilhada.

basedb — grade: Uma grade que escreve em uma tabela de verdade — e campos calculados: uma duração por fórmula, a cidade do cliente por pesquisa, o número de tarefas por contagem.
Uma grade que escreve em uma tabela de verdade — e campos calculados: uma duração por fórmula, a cidade do cliente por pesquisa, o número de tarefas por contagem.
PostgreSQL, sem tradução

Uma grade para a equipe, uma tabela de verdade para suas ferramentas.

Nada de modelo genérico, nada de JSON para tudo, nada de field_1837: uma base é um schema, uma tabela é uma tabela, um campo é uma coluna tipada, com um nome legível.

  • Tipos nativos: text, numeric, date, timestamptz, boolean — e chaves estrangeiras de verdade para as relações.
  • Restrições garantidas pelo banco: seleções únicas como CHECK, endereços web e e-mails verificados, relações como FOREIGN KEY.
  • Fórmulas calculadas pelo PostgreSQL: JOURS([Fin]; [Début]) se torna uma coluna gerada, que o psql lê como as outras.
  • O SQL direto continua permitido — e até ele entra no histórico, por um trigger.
  • Consultas e visões SQL na interface: consultas salvas abaixo das tabelas, para você ou para a equipe, e visões PostgreSQL de verdade organizadas entre elas, que o psql também lê.
  • Renomear não é quebrar: o nome antigo continua sendo servido por um alias de compatibilidade enquanto você migra suas consultas.
Interface Novo campo · Oportunidades
Obrigatório IA
PostgreSQL b_t4z56fq_ventes.opportunites
ALTER TABLE b_t4z56fq_ventes.opportunites
  ADD COLUMN montant numeric(38,10);
COMMENT ON COLUMN …opportunites.montant
  IS 'Valor do contrato sem impostos';
basedb=> \d opportunites
nomtext
statuttext
montantnumeric(38,10)
echeancedate
clients_iduuid → clients
Automatizar

Automações em fluxo, a IA em cada etapa.

Quando uma linha muda, em horário fixo ou com um clique: um editor em grafo encadeia as etapas, e cada execução pode ser revista no fluxo.

  • Um fluxo legível: o gatilho e depois cada etapa como um cartão; um + sobre uma linha adiciona uma etapa naquele ponto.
  • Buscar, decidir, escrever: encontrar uma linha, seguir uma ramificação ou outra conforme condições, editar, criar, notificar, chamar um webhook, escrever no Slack.
  • Perguntar à IA em uma etapa: uma instrução que cita a linha, uma resposta lida como texto, número, data ou opção, que as etapas seguintes reutilizam.
  • O Copilot propõe uma automação inteira a partir de uma frase, ou explica por que uma execução falhou — nada é salvo sem você.
  • Com as permissões de quem a escreveu, e no histórico como qualquer outra escrita.
basedb — a automação “Projeto entregue” no editor de fluxo: quando uma tarefa é feita, registrar o horário, buscar o que resta do projeto, seguir a ramificação “Senão”, perguntar à IA a mensagem de encerramento, e então entregar o projeto; à direita, suas últimas execuções, etapa por etapa.
Analisar

Painéis sem sair das suas tabelas.

Perguntas feitas com o mouse ou em SQL, quinze visualizações, filtros comuns — cada pessoa os lê com as próprias permissões.

  • Perguntas: uma tabela, suas junções, filtros e medidas por dia, semana, mês ou ano — ou SQL somente para leitura.
  • Quinze visualizações: número, tendência, progresso, medidor, barras, curvas, pizza, funil, tabela dinâmica, mapa…
  • Explorar com um clique: um ponto abre suas linhas, ou um período mais fino.
  • Filtros comuns que controlam um, vários ou todos os cartões.
  • Compartilhar por um link, público ou restrito aos membros, e incorporar em outro site.
basedb — um painel: tendência do mês, meta de recebimentos, faturamento por mês, sentimento das avaliações, sob filtros de período e de cliente.
Colaborar sem abrir tudo

Permissões até o campo, um histórico sem lacunas.

As permissões são concedidas a grupos, em um projeto, uma base ou uma tabela, e descem para tudo o que está abaixo. Uma coluna sensível pode ser ocultada de um grupo, ou tornada não editável para ele.

  • Quatro níveis: Sem acesso, Leitura, Edição, Gerenciamento — que se somam de um grupo para outro.
  • Até o SQL segue suas permissões: na interface, uma consulta só vê as tabelas e os campos abertos para você — e quem aplica isso é o próprio PostgreSQL.
  • Cada escrita é capturada na sua transação: interface, API, agente, formulário público ou SQL direto.
  • Uma alteração pode ser desfeita, uma linha excluída pode ser restaurada, e uma base excluída também.
  • A administração pede confirmação: mudar uma permissão exige ter digitado a senha de novo nos últimos cinco minutos.
AdministradoresComercialSuporte
Projeto principal Leitura
Vendas Edição
Oportunidades herdado Edição
Clientes herdado Edição
Suporte herdado Leitura
Campo “Margem”
>_

Sessão SQL direta alterou “Migração de ERP”

02:46 · conexão local · psql

Valor: 125.000 → 130.000

↶ Desfazer
▣

Formulário “Pedido de orçamento” criou “Reformulação da intranet”

resposta pública · publicado por Camille
API REST · MCP · webhooks

Seus agentes de IA acessam os dados, não a chave do cofre.

O servidor MCP dá quinze ferramentas aos agentes; a API REST, os mesmos dados aos seus programas. Um único ponto de controle das permissões, os mesmos logs.

  • Um token para toda a base, produção e homologação incluídas, somente leitura por padrão, nunca com mais permissões do que a pessoa que o criou.
  • Um agente só exclui com o seu consentimento, uma linha por vez, e não muda a estrutura: ele a propõe, uma pessoa aprova.
  • Uma documentação gerada para cada base, filtrada pelas suas permissões, com sua especificação OpenAPI 3.1.
  • Webhooks a cada escrita: assinados, ordenados e com novas tentativas.
✦ Agente conectado por MCP · token “Vendas”
Quantas oportunidades estão em negociação, e qual o valor total?
list_records opportunites · statut = Negociação
Duas oportunidades, R$ 182.000 no total: Migração de ERP (R$ 130.000) e Rastreamento de frota (R$ 52.000).
Adicione um campo “Probabilidade” em porcentagem.
propose_add_field opportunites · Probabilidade · number
Proposta enviada: alguém da equipe precisa aprová-la no basedb.
Proposta expira em 23 h

Adicionar o campo “Probabilidade” (Número) a Oportunidades

Proposta pelo agente · token “Vendas”

Recusar Aprovar
E todo o resto

O que se espera de uma ferramenta de equipe, sem largar o PostgreSQL.

Cada recurso escreve nas mesmas tabelas, sob as mesmas permissões, no mesmo histórico.

Dez visões das mesmas linhas

Colaborativas para toda a equipe, ou pessoais só para você: cada pessoa escolhe sua forma de ler, ninguém copia os dados.

GradeKanbanCalendárioLinha do tempoGaleriaListaMapaFormulárioQuestionárioQuiz

Formulários compartilhados

Um link público, ou restrito aos membros conectados. Responder não dá nenhuma permissão sobre a tabela.

Saiba mais →

Ambientes

Uma base, várias variantes. Compare a estrutura, migre de uma para outra, sincronize linhas.

ProduçãoHomologaçãoDesenvolvimento
Saiba mais →

Trabalhar em equipe

As escritas dos outros chegam em tempo real, você vê quem está olhando qual linha, e a conversa acontece onde ela está: comentários, menções, notificações. Ctrl+Z desfaz a última escrita, e recusa em vez de sobrescrever o trabalho de outra pessoa.

Tempo realPresençaComentáriosMençõesCtrl+Z
Saiba mais →

IA na grade

Um campo preenchido por um modelo a partir das outras colunas, e um Copilot que sugere filtros, consultas e colunas, aplicados com um clique. OpenAI, Anthropic, Mistral, ou um modelo executado na sua própria máquina.

Resuma {{Notes}} em uma frase

Relações e fórmulas

Chaves estrangeiras de verdade, fórmulas em francês ou em inglês calculadas pelo PostgreSQL, e pesquisas, agregações e contagens através das relações.

ROUND([Montant HT] * (1 + [Taux de TVA]), 2)

Texto formatado e variáveis

Um editor visual para o texto formatado, sanitizado na escrita; e em qualquer texto longo, {{Ville}} é lido com o valor da linha.

Entrega no dia {{Date}} em {{Ville}}

Visões compartilhadas

Uma visão somente leitura por um link, que pode ser incorporada em outro site; um calendário vira um feed para a sua agenda.

Tabelas sincronizadas

Uma tabela mantida em dia a partir de um CSV on-line, de uma agenda ou da visão compartilhada de outro basedb.

Modelos de base

Dez modelos prontos para usar, uma base descrita à IA em uma frase, e a sua salva como modelo.

Arquivos e imagens

No disco do servidor ou em um armazenamento compatível com S3: AWS, Scaleway, OVH, Cloudflare R2, Garage, MinIO…

Importação Excel, CSV e JSON

Arraste um arquivo: a importação adivinha os tipos, cria a tabela ou completa uma tabela existente, e informa linha por linha o que foi recusado.

Contas e convites

Cada pessoa cria sua conta e seus projetos, e convida por um link com Leitura, Edição ou Gerenciamento; login por senha, Google, Microsoft ou qualquer provedor OpenID Connect.

Webhooks

Cada escrita pode avisar outro sistema: payloads assinados, entregues em ordem, com novas tentativas.

Configurações pessoais

Seu idioma, seu tema, a ordem das datas, suas notificações, suas sessões e seus tokens, no mesmo lugar.

No seu idioma

A interface usa o idioma do navegador, entre vinte opções; qualquer pessoa pode trocá-lo nas configurações.

Auto-hospedado

Seus dados ficam com você.

O basedb é um software livre (AGPL-3.0): uma única imagem, um banco PostgreSQL, e só — nenhum serviço de terceiros imposto, nenhuma telemetria. Faça backup com pg_dump, leia com qualquer cliente PostgreSQL.

  • db PostgreSQL 16, seus dados
  • basedb A interface, a API REST e o servidor MCP, em uma única porta
  • proxy Caddy, HTTPS automático (opcional)
  1. 1

    Baixar o basedb

    git clone https://github.com/eodia/basedb.git
    cd basedb && cp .env.example .env
  2. 2

    Dois segredos no .env

    POSTGRES_PASSWORD=uma-senha-forte
    # openssl rand -base64 32
    BASEDB_ENCRYPTION_KEY=…
  3. 3

    Iniciar

    docker compose up -d
    # depois http://localhost:3000: crie sua conta
Perguntas frequentes

O que mais nos perguntam.

Outra pergunta? A documentação certamente responde.

Em que o basedb difere dos outros bancos de dados colaborativos?

No lugar onde os dados vivem. Onde outros guardam suas linhas em um modelo genérico (colunas numeradas, documentos JSON), o basedb cria uma tabela PostgreSQL de verdade para cada tabela, uma coluna tipada de verdade para cada campo, com nomes legíveis. Seus dados continuam utilizáveis sem o basedb.

Posso escrever diretamente nas tabelas em SQL?

Sim. As restrições (tipos, obrigatoriedade, seleções únicas, chaves estrangeiras) são garantidas pelo próprio PostgreSQL, e um trigger registra no histórico até as escritas feitas em SQL direto, com a sessão que as fez. O console SQL da interface e o psql leem as mesmas tabelas; na interface, cada pessoa escreve SQL com as próprias permissões, salva suas consultas e, se gerencia a base, as transforma em visões PostgreSQL de verdade.

O que é enviado a um provedor de IA?

Nada enquanto você não configurar um provedor. Depois, para os rascunhos de estrutura e o Copilot, só a estrutura e a sua frase são enviadas por padrão; a leitura de dados pelo Copilot é uma caixa de seleção, por conversa. Um modelo de base pedido à IA só envia a sua frase. Um campo de IA envia as colunas que sua instrução cita, após um consentimento explícito.

Várias pessoas podem trabalhar na mesma tabela?

Sim. As escritas dos outros aparecem sem recarregar, com o rosto de cada um na tabela ou na linha que está olhando. Você comenta uma linha, menciona alguém com @, e o sino avisa. E o Ctrl+Z só desfaz as suas próprias escritas: ele recusa em vez de sobrescrever o que outra pessoa mudou desde então.

Em quais idiomas?

Vinte: francês, inglês, alemão, espanhol, italiano, português do Brasil, neerlandês, polonês, tcheco, sueco, dinamarquês, norueguês, finlandês, romeno, húngaro, turco, ucraniano, japonês, chinês simplificado e coreano. A interface usa o idioma do navegador, e cada pessoa pode mudá-lo nas configurações; este site e a documentação existem nos mesmos idiomas.

Como um agente de IA se conecta?

Pelo servidor MCP, com um token de integração limitado a uma base, somente leitura por padrão. Um agente lê, cria e edita linhas conforme suas permissões — e exclui, uma por vez, se o token dele tiver sido criado para isso; ele não muda a estrutura: ele a propõe, e uma pessoa aprova.

Qual versão do PostgreSQL é necessária?

PostgreSQL 16 ou mais recente, com as extensões pg_trgm e unaccent (disponíveis na imagem oficial). O docker-compose fornecido inicia um PostgreSQL 16; você também pode apontar DATABASE_URL para o seu próprio servidor.

Está pronto para produção?

O basedb está em desenvolvimento ativo: o núcleo, a API, o servidor MCP e a interface funcionam e são cobertos por mais de mil testes, mas alguns recursos ainda estão por vir (veja o roteiro). Experimente, e faça backup do seu banco como de qualquer banco PostgreSQL.

Sob qual licença?

AGPL-3.0-or-later. Você pode usá-lo, modificá-lo e hospedá-lo livremente; se oferecer uma versão modificada como serviço, compartilha o código-fonte dela.

Seus dados merecem tabelas de verdade.

Instale o basedb em poucos minutos, convide sua equipe e mantenha o controle de cada linha.