신규: 흐름형 자동화, 대시보드, SQL 뷰

협업 데이터베이스,모든 테이블이실제 PostgreSQL 테이블.

공유 스프레드시트처럼 간단하게 — 그리드, 보기, 양식, 권한 — 그러면서 데이터는 타입이 지정되고 알아보기 쉬운 이름의 테이블에 저장됩니다. 팀은 인터페이스에서 일하고, 스크립트, BI 도구, AI 에이전트, psql은 같은 행을 읽습니다.

$ docker compose up -d
  • 자체 호스팅
  • AGPL-3.0
  • REST API & MCP 서버
실제 인터페이스

팀이 공유 스프레드시트에 기대하는 모든 것.

basedb — 그리드: 실제 테이블에 쓰는 그리드와 계산 필드: 수식으로 구한 기간, 조회로 가져온 고객의 도시, 개수로 센 작업 수.
실제 테이블에 쓰는 그리드와 계산 필드: 수식으로 구한 기간, 조회로 가져온 고객의 도시, 개수로 센 작업 수.
번역 없는 PostgreSQL

팀에는 그리드를, 도구에는 실제 테이블을.

범용 모델도, 무엇이든 담아 두는 JSON도, field_1837도 없습니다. 데이터베이스는 스키마이고, 테이블은 테이블이며, 필드는 알아보기 쉬운 이름이 붙은 타입 있는 열입니다.

  • 네이티브 타입: text, numeric, date, timestamptz, boolean — 그리고 관계에는 실제 외래 키.
  • 데이터베이스가 지키는 제약 조건: 단일 선택은 CHECK로, 웹 주소와 이메일은 검증을 거쳐, 관계는 FOREIGN KEY로.
  • PostgreSQL이 계산하는 수식: JOURS([Fin]; [Début])는 생성 열이 되고, psql은 이를 다른 열처럼 읽습니다.
  • SQL 직접 쓰기도 허용됩니다 — 그마저도 트리거가 기록에 남깁니다.
  • 인터페이스 안의 SQL 쿼리와 뷰: 나만 또는 팀을 위해 테이블 아래에 저장하는 쿼리, 그리고 테이블 사이에 놓이는 실제 PostgreSQL 뷰. psql에서도 읽을 수 있습니다.
  • 이름을 바꿔도 깨지지 않습니다: 쿼리를 옮기는 동안 호환성 별칭이 이전 이름을 계속 제공합니다.
인터페이스 새 필드 · 영업 기회
필수 AI
PostgreSQL b_t4z56fq_ventes.opportunites
ALTER TABLE b_t4z56fq_ventes.opportunites
  ADD COLUMN montant numeric(38,10);
COMMENT ON COLUMN …opportunites.montant
  IS '계약 금액(부가세 별도)';
basedb=> \d opportunites
nomtext
statuttext
montantnumeric(38,10)
echeancedate
clients_iduuid → clients
자동화

흐름으로 그리는 자동화, 모든 단계에 AI를.

행이 바뀔 때, 정해진 시각에, 또는 클릭 한 번으로. 그래프 편집기가 단계를 이어 주고, 모든 실행은 흐름 위에서 다시 확인할 수 있습니다.

  • 한눈에 읽히는 흐름: 트리거, 그리고 카드로 표시되는 각 단계. 선 위의 +를 누르면 그 위치에 단계가 추가됩니다.
  • 찾고, 판단하고, 씁니다: 행을 찾고, 조건에 따라 이 분기나 저 분기로 가고, 수정하고, 만들고, 알리고, 웹훅을 호출하고, Slack에 글을 올립니다.
  • 단계 안에서 AI에게 질문: 행을 인용하는 지시문을 보내고, 응답을 텍스트, 숫자, 날짜 또는 선택 값으로 읽어 다음 단계에서 다시 사용합니다.
  • Copilot은 문장 하나로 자동화 전체를 제안하거나, 실행이 실패한 이유를 설명합니다 — 직접 저장하기 전에는 아무것도 저장되지 않습니다.
  • 작성한 사람의 권한으로 동작하며, 다른 모든 쓰기처럼 기록에 남습니다.
basedb — 흐름 편집기에 열린 “Projet livré” 자동화: 작업이 완료되면 시각을 기록하고, 프로젝트에 남은 작업을 찾은 뒤 “그 외” 분기로 가서 AI에게 마무리 메시지를 요청하고 프로젝트를 전달합니다. 오른쪽에는 최근 실행이 단계별로 표시됩니다.
분석

테이블을 벗어나지 않는 대시보드.

마우스나 SQL로 만드는 질문, 열다섯 가지 시각화, 공통 필터 — 모두 각자 자신의 권한으로 읽습니다.

  • 질문: 테이블과 그 조인, 필터, 그리고 일, 주, 월, 연도별 측정값 — 또는 읽기 전용 SQL.
  • 열다섯 가지 시각화: 숫자, 추세, 진행률, 게이지, 막대, 선, 원형, 깔때기, 피벗 테이블, 지도…
  • 클릭 한 번으로 탐색: 지점을 누르면 그 행이나 더 세밀한 기간이 열립니다.
  • 공통 필터로 카드 하나, 여러 개, 또는 전체를 제어합니다.
  • 링크로 공유: 공개하거나 멤버에게만 열고, 다른 사이트에 삽입할 수 있습니다.
basedb — 대시보드: 이달의 추세, 수금 목표, 월별 매출, 리뷰 감정. 위쪽에 기간 필터와 고객 필터가 있습니다.
모두에게 열지 않고 협업하기

필드 단위의 권한, 빈틈없는 기록.

권한은 프로젝트, 데이터베이스, 테이블에 대해 그룹에 부여하며, 그 아래의 모든 항목에 적용됩니다. 민감한 열은 특정 그룹에 숨기거나, 그 그룹이 수정할 수 없게 할 수 있습니다.

  • 네 가지 수준: 액세스 권한 없음, 읽기, 편집, 관리 — 그룹 간에 합산됩니다.
  • SQL도 권한을 따릅니다: 인터페이스에서 쿼리는 내게 열린 테이블과 필드만 봅니다 — 이를 적용하는 것은 PostgreSQL입니다.
  • 모든 쓰기를 같은 트랜잭션 안에서 기록합니다: 인터페이스, API, 에이전트, 공개 양식, SQL 직접 쓰기 모두.
  • 수정은 되돌릴 수 있고, 삭제한 행도, 삭제한 데이터베이스도 복원할 수 있습니다.
  • 관리 작업은 재확인을 거칩니다: 권한을 바꾸려면 최근 5분 이내에 비밀번호를 다시 입력해야 합니다.
관리자영업팀지원팀
메인 프로젝트 읽기
영업 편집
영업 기회 상속됨 편집
고객 상속됨 편집
고객 지원 상속됨 읽기
“마진” 필드
>_

직접 SQL 세션이 “ERP 마이그레이션”을 수정했습니다

02:46 · 로컬 연결 · psql

금액: 125,000 → 130,000

↶ 실행 취소
▣

양식 “견적 요청”이 “인트라넷 개편”을 만들었습니다

공개 응답 · 서연 님이 게시
REST API · MCP · 웹훅

AI 에이전트에게 데이터는 열어 주되, 마스터키는 주지 않습니다.

MCP 서버는 에이전트에게 열다섯 가지 도구를, REST API는 프로그램에 같은 데이터를 제공합니다. 권한을 확인하는 지점은 하나, 로그도 같습니다.

  • 데이터베이스 전체에 토큰 하나: 운영과 스테이징을 포함하며, 기본은 읽기 전용이고, 만든 사람보다 더 많은 권한을 갖지 않습니다.
  • 에이전트는 동의가 있을 때만 한 번에 한 행씩 삭제하고, 스키마는 바꾸지 않습니다. 변경을 제안하면 사람이 승인합니다.
  • 자동 생성 문서: 데이터베이스마다 내 권한으로 걸러지며, OpenAPI 3.1 명세가 함께 제공됩니다.
  • 웹훅: 모든 쓰기마다 서명하고, 순서대로 보내고, 실패하면 재시도합니다.
✦ 에이전트 MCP로 연결 · “영업” 토큰
협상 중인 영업 기회는 몇 건이고, 금액은 얼마인가요?
list_records opportunites · statut = 협상
2건, 총 182,000유로입니다: ERP 마이그레이션(130,000유로)과 차량 관제(52,000유로).
“확률” 필드를 백분율로 추가해 줘.
propose_add_field opportunites · 확률 · number
제안했습니다. 팀원이 basedb에서 승인해야 적용됩니다.
제안 23시간 후 만료

영업 기회에 “확률” 필드(숫자) 추가

에이전트가 제안 · “영업” 토큰

거부 승인
그 밖의 모든 것

팀 도구에 기대하는 기능은 모두, PostgreSQL은 그대로.

모든 기능은 같은 권한 아래 같은 테이블에 쓰고, 같은 기록에 남깁니다.

같은 행을 열 가지 보기로

팀 전체를 위한 협업 보기, 나만을 위한 개인 보기: 각자 읽는 방식을 고르고, 데이터는 아무도 복사하지 않습니다.

그리드칸반캘린더타임라인갤러리목록지도양식설문퀴즈

공유 양식

공개 링크, 또는 로그인한 멤버 전용 링크. 응답한다고 해서 테이블에 대한 권한이 생기지는 않습니다.

자세히 보기 →

환경

하나의 데이터베이스, 여러 버전. 스키마를 비교하고, 환경 간에 마이그레이션하고, 행을 동기화합니다.

운영스테이징개발
자세히 보기 →

함께 작업하기

다른 사람의 쓰기가 실시간으로 반영되고, 누가 어느 행을 보고 있는지 보이며, 행에 대한 이야기는 그 행에서 나눕니다: 댓글, 멘션, 알림. Ctrl+Z는 마지막 쓰기를 실행 취소하며, 다른 사람의 작업을 덮어쓰느니 거부합니다.

실시간접속 현황댓글멘션Ctrl+Z
자세히 보기 →

그리드 안의 AI

다른 열을 바탕으로 모델이 채우는 필드, 그리고 필터, 쿼리, 열을 제안해 클릭 한 번으로 적용하는 Copilot. OpenAI, Anthropic, Mistral, 또는 직접 운영하는 서버의 모델을 사용합니다.

{{Notes}} 내용을 한 문장으로 요약하세요

관계와 수식

실제 외래 키, PostgreSQL이 계산하는 프랑스어 또는 영어 수식, 그리고 관계를 거치는 조회, 롤업, 개수.

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

서식 있는 텍스트와 변수

서식 있는 텍스트를 위한 비주얼 편집기는 쓸 때 내용을 정제합니다. 그리고 모든 긴 텍스트에서 {{Ville}}은 그 행의 값으로 읽힙니다.

{{Ville}} 배송 예정일: {{Date}}

공유 보기

링크로 여는 읽기 전용 보기는 다른 사이트에 삽입할 수 있습니다. 캘린더는 일정 앱에서 구독하는 피드가 됩니다.

동기화된 테이블

온라인 CSV, 일정, 또는 다른 basedb의 공유 보기를 따라 항상 최신 상태로 유지되는 테이블.

데이터베이스 템플릿

바로 쓸 수 있는 템플릿 10개, 한 문장으로 AI에게 설명해 만드는 데이터베이스, 그리고 템플릿으로 저장하는 내 데이터베이스.

파일과 이미지

호스트의 디스크 또는 S3 호환 스토리지: AWS, Scaleway, OVH, Cloudflare R2, Garage, MinIO…

Excel·CSV·JSON 가져오기

파일을 끌어다 놓으세요. 가져오기가 타입을 추측하고, 테이블을 만들거나 기존 테이블에 추가하며, 거부된 내용을 행마다 알려 줍니다.

계정과 초대

각자 계정과 프로젝트를 만들고, 읽기, 편집, 관리 권한으로 링크를 보내 초대합니다. 비밀번호, Google, Microsoft 또는 모든 OpenID Connect 공급자로 로그인합니다.

웹훅

모든 쓰기를 다른 시스템에 알릴 수 있습니다: 서명된 페이로드를 순서대로 전달하고, 실패하면 재시도합니다.

개인 설정

언어, 테마, 날짜 순서, 알림, 세션, 토큰을 한곳에서 관리합니다.

내 언어로

인터페이스는 브라우저 언어를 따르며, 20개 언어 중에서 각자 설정에서 바꿀 수 있습니다.

자체 호스팅

데이터는 내 서버에 그대로 남습니다.

basedb는 자유 소프트웨어(AGPL-3.0)입니다. 이미지 하나와 PostgreSQL 데이터베이스 하나면 끝입니다 — 강제되는 외부 서비스도, 텔레메트리도 없습니다. pg_dump로 백업하고, 어떤 PostgreSQL 클라이언트로든 읽을 수 있습니다.

  • db PostgreSQL 16, 데이터가 저장되는 곳
  • basedb 인터페이스, REST API, MCP 서버를 포트 하나로
  • proxy Caddy, 자동 HTTPS(선택 사항)
  1. 1

    basedb 받기

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

    .env에 비밀 값 두 개

    POSTGRES_PASSWORD=강력한-비밀번호
    # openssl rand -base64 32
    BASEDB_ENCRYPTION_KEY=…
  3. 3

    시작하기

    docker compose up -d
    # 그다음 http://localhost:3000 에서 계정 만들기
자주 묻는 질문

자주 받는 질문.

다른 질문이 있나요? 문서에서 답을 찾을 수 있을 겁니다.

basedb는 다른 협업 데이터베이스와 무엇이 다른가요?

데이터가 저장되는 곳이 다릅니다. 다른 제품이 행을 범용 모델(번호가 매겨진 열, JSON 문서)에 담는 반면, basedb는 테이블마다 실제 PostgreSQL 테이블을, 필드마다 타입이 지정된 실제 열을 알아보기 쉬운 이름으로 만듭니다. 데이터는 basedb 없이도 그대로 활용할 수 있습니다.

SQL로 테이블에 직접 쓸 수 있나요?

네. 제약 조건(타입, 필수, 단일 선택, 외래 키)은 PostgreSQL 자체가 지키며, SQL 직접 쓰기도 트리거가 쓰기를 수행한 세션과 함께 기록에 남깁니다. 인터페이스의 SQL 콘솔과 psql은 같은 테이블을 읽습니다. 인터페이스에서는 각자 자신의 권한으로 SQL을 작성하고 쿼리를 저장하며, 데이터베이스를 관리하는 사람은 이를 실제 PostgreSQL 뷰로 만들 수 있습니다.

AI 공급자에게는 무엇이 전송되나요?

공급자를 설정하기 전에는 아무것도 전송되지 않습니다. 설정한 뒤에도 스키마 초안과 Copilot에는 기본적으로 스키마와 입력한 문장만 전송되며, Copilot의 데이터 읽기는 대화마다 선택하는 확인란입니다. AI에게 요청하는 데이터베이스 템플릿은 입력한 문장만 보냅니다. AI 필드는 명시적으로 동의한 뒤에 지시문이 인용하는 열을 보냅니다.

여러 사람이 같은 테이블에서 함께 작업할 수 있나요?

네. 다른 사람의 쓰기가 새로 고침 없이 표시되고, 그 사람이 보고 있는 테이블이나 행에 얼굴이 나타납니다. 행에 댓글을 달고 @로 누군가를 멘션하면 종 아이콘이 알려 줍니다. 그리고 Ctrl+Z는 내 쓰기만 실행 취소하며, 그 뒤에 다른 사람이 바꾼 내용을 덮어쓰느니 거부합니다.

어떤 언어를 지원하나요?

20개 언어입니다: 프랑스어, 영어, 독일어, 스페인어, 이탈리아어, 포르투갈어(브라질), 네덜란드어, 폴란드어, 체코어, 스웨덴어, 덴마크어, 노르웨이어, 핀란드어, 루마니아어, 헝가리어, 튀르키예어, 우크라이나어, 일본어, 중국어(간체), 한국어. 인터페이스는 브라우저 언어를 따르며, 각자 설정에서 바꿀 수 있습니다. 이 사이트와 문서도 같은 언어로 제공됩니다.

AI 에이전트는 어떻게 연결하나요?

MCP 서버를 통해, 데이터베이스 하나로 범위가 제한되고 기본적으로 읽기 전용인 연동 토큰으로 연결합니다. 에이전트는 권한에 따라 행을 읽고, 만들고, 수정하며 — 토큰이 그 목적으로 만들어졌다면 한 번에 한 행씩 삭제도 합니다. 스키마는 바꾸지 않습니다: 변경을 제안하면 사람이 승인합니다.

어떤 PostgreSQL 버전이 필요한가요?

PostgreSQL 16 이상과 pg_trgm, unaccent 확장(공식 이미지에 포함)이 필요합니다. 함께 제공되는 docker-compose는 PostgreSQL 16을 실행하며, DATABASE_URL로 기존 서버를 지정할 수도 있습니다.

운영 환경에서 쓸 수 있나요?

basedb는 활발히 개발되고 있습니다. 코어, API, MCP 서버, 인터페이스가 동작하며 천 개가 넘는 테스트로 검증되지만, 일부 기능은 아직 개발 중입니다(로드맵 참고). 사용해 보시고, 여느 PostgreSQL 데이터베이스처럼 백업하세요.

라이선스는 무엇인가요?

AGPL-3.0-or-later입니다. 자유롭게 사용, 수정, 호스팅할 수 있으며, 수정한 버전을 서비스로 제공한다면 그 소스를 공유해야 합니다.

데이터에는 실제 테이블이 걸맞습니다.

몇 분 만에 basedb를 설치하고, 팀을 초대하고, 모든 행을 직접 관리하세요.