caioricciuti/duck-ui

The fully open-source DuckDB workbench that runs in your browser. SQL editor, notebooks, charts, AI assistant. No install, no signup, no backend — your data never leaves the tab.

Duck‑UI – DuckDB용 브라우저 기반 워크벤치

무엇인가요 – Duck‑UI는 DuckDB 분석 데이터베이스를 위한 오픈소스이며, 완전히 클라이언트 사이드에서 동작하는 UI입니다. 브라우저(또는 작은 Docker 컨테이너)에서 실행되며, 데이터를 서버로 전송하지 않습니다. UI에는 코드 에디터, 노트북 지원, 결과 그리드, 차트 기능, 그리고 자연어 질문을 SQL로 변환할 수 있는 선택적 AI 어시스턴트가 포함되어 있습니다.

주요 기능

  • SQL 에디터 – Monaco 기반의 자동 완성, 포맷팅, 멀티탭 워크스페이스, 쿼리 기록.
  • 노트북 인터페이스 – SQL 셀, 마크다운, 셀별 시각화를 혼합.
  • 데이터 임포트 – 드래그 앤 드롭, URL, 클라우드 스토리지(S3, GCS, Azure, R2, MinIO)를 통해 CSV, JSON, Parquet, Arrow, XLSX 및 네이티브 .duckdb 파일을 임포트.
  • 결과 그리드 – 가상 스크롤링, 정렬, 필터링, 셀 검사, CSV/JSON/XLSX/Parquet로 내보내기.
  • 차트 – 16가지 내장 유형, 시리즈별 구성 가능, PNG 또는 SVG로 내보내기 가능.
  • AI "Duck Brain" – 텍스트에서 SQL로 변환 및 한 번의 클릭으로 오류 수정. 다음과 함께 작동:
    • WebLLM (순수 WASM, 오프라인, API 키 없음)
    • OpenAI, Anthropic, Chrome 내장 AI, 또는 어떤 OpenAI 호환 엔드포인트(Ollama, DeepSeek 등). 제공자에게 전송되는 것은 스키마뿐이며(데이터는 전송되지 않음), WebLLM 사용 시 브라우저 외부로 아무것도 나가지 않습니다.
  • 공유 및 임베딩 – 전체 분석(쿼리, 노트북, 차트 설정)을 URL에 인코딩하거나 <duck-embed> 웹 컴포넌트를 통해 임베딩 가능. 백엔드 필요 없음.
  • 지속성 – OPFS 기반 로컬 데이터베이스는 리로드 후에도 유지됨. 자격 증명은 브라우저 내 AES‑256‑GCM로 암호화 저장.
  • 외부 연결 – 원격 DuckDB HTTP 서버 인스턴스 또는 DuckLake 카탈로그에 연결 가능.
  • 어디서든 배포 가능 – 정적 사이트, Docker 이미지, GitHub Pages, 오프라인 키오스크 등.

왜 존재하는가 – 공식 DuckDB UI는 폐쇄 소스이며, 로컬 DuckDB 프로세스가 필요하고, 오프라인 또는 자체 호스팅이 불가능합니다. Duck‑UI는 완전히 오픈, 임베딩 가능, 오프라인 사용이 가능한 대안을 제공하며, 플러그인 가능한 AI 백엔드를 갖춥니다.

시작하기

# 공식 Docker 이미지 실행
docker run -p 5522:5522 ghcr.io/caioricciuti/duck-ui:latest
# 이후 브라우저에서 http://localhost:5522 열기

또는 리포지토리 복제 후 로컬에서 개발:

git clone https://github.com/caioricciuti/duck-ui.git
cd duck-ui
bun install   # npm도 가능
bun run dev   # http://localhost:5173

라이브 데모는 demo.duckui.com 에서 이용 가능합니다.

일반적인 사용 사례

  • 설치 없이 CSV/Parquet 데이터셋에 대한 탐색적 데이터 분석.
  • GitHub Pages 또는 내부 키오스크에 읽기 전용 데이터 대시보드 게시.
  • AI 지원을 받으며 SQL 쿼리 빠른 프로토타이핑.
  • 문서나 웹 앱 내부에 인터랙티브 SQL 탐색기 임베딩.

라이선스 및 커뮤니티 – MIT 라이선스, 소스는 완전히 오픈. GitHub 일반 워크플로우를 통해 기여를 환영합니다. 가이드라인은 CONTRIBUTING.md 참조.


모든 세부 정보는 리포지토리의 README에서 직접 가져옴.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • Dispatch
  • 프로젝트