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 整合了程式碼編輯器、筆記本支援、結果格線、圖表功能,以及可選的 AI 助手,可將自然語言問題轉換為 SQL。
核心功能
- SQL 編輯器:基於 Monaco 的自動補完、格式化、多標籤工作區與查詢歷史。
- 筆記本介面:混合 SQL 單元格、Markdown 與每單元格的視覺化。
- 資料匯入:透過拖放、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>Web 組件嵌入;無需後端。 - 持久化 – 基於 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 探索器嵌入文件或 Web 應用中。
授權與社群 – MIT 授權,原始碼完全開放。歡迎透過標準 GitHub 工作流程貢獻;詳見 CONTRIBUTING.md 指南。
所有細節均直接取自程式碼庫的 README。
相關
- 專案
- 專案
- 專案
- Dispatch
- 專案