Skip to content

MarkLo127/DBAI

Repository files navigation

DBAI - AI 資料庫查詢系統

一個強大的桌面應用程式,讓您能夠輕鬆連接和管理多種資料庫,並利用 AI 技術進行智慧查詢和分析。

功能特色

  • 多資料庫支援:支援 MongoDB、MySQL、PostgreSQL、Redis、SQLite 等主流資料庫
  • AI 智慧查詢:整合 Anthropic Claude 和 OpenAI,實現自然語言轉 SQL 查詢
  • 現代化介面:使用 React + TypeScript + Tailwind CSS 打造的美觀介面
  • 查詢編輯器:內建 Monaco Editor,提供語法高亮和自動完成
  • 資料視覺化:支援表格和 JSON 樹狀結構檢視
  • 匯入匯出:支援 Excel 檔案匯入匯出功能
  • 安全儲存:使用系統金鑰鏈安全儲存資料庫憑證

技術棧

  • 前端:React 18, TypeScript, Tailwind CSS, Vite
  • 後端:Electron, Node.js
  • 資料庫驅動
    • MongoDB
    • MySQL2
    • PostgreSQL (pg)
    • Redis (ioredis)
    • SQLite (better-sqlite3)
  • AI 整合:Anthropic Claude, OpenAI
  • 編輯器:Monaco Editor
  • 資料表格:AG Grid
  • 建構工具:Vite, Electron Builder

安裝需求

  • Node.js 18+
  • bun

安裝步驟

  1. 複製專案:
git clone https://github.com/MarkLo127/DBAI.git
cd DBAI
  1. 安裝依賴:
bun install
  1. 安裝完成後重建原生模組:
bun run postinstall

運行應用

開發模式

bun run dev

建構應用

bun run build

建構 macOS 應用

bun run build:mac

連線管理首頁

連線管理首頁

以卡片形式列出所有已儲存的資料庫連線,支援一鍵快速連接,右下角可新增連線。

新增連線

新增連線

支援 PostgreSQL、MySQL、SQLite、Redis、MongoDB 五種資料庫類型。可設定連線名稱、主機、埠號、資料庫名稱、帳號密碼(密碼安全儲存於系統 Keychain)、SSL/TLS 加密,以及識別顏色標籤。

查詢編輯器與 AI 助理

查詢編輯器

三欄式工作區佈局:左側為資料表清單、中間為 Monaco SQL 編輯器(含語法高亮)、右側為 AI 助理面板。AI 可直接分析資料庫結構並生成對應查詢語法。

查詢結果與 AI 分析

查詢結果

執行 SQL 後結果以表格呈現,支援排序與分頁。右側 AI 助理同步提供資料洞察、新增範例語法與操作注意事項。

資料表結構檢視

資料表結構

切換至「結構」頁籤可檢視資料表的完整欄位定義,包含欄位名稱、資料型別、是否允許 NULL、主鍵等屬性,一目了然。

索引檢視

索引檢視

「索引」頁籤列出資料表的所有索引資訊,包含索引名稱、類型及對應欄位,協助效能分析與除錯。

匯入資料

匯入資料

支援拖曳或點擊選擇檔案,可匯入 CSV、JSON、Excel (.xlsx) 格式的資料至指定資料表,步驟清晰分為選擇檔案 → 預覽對應 → 完成。

AI 提供者設定

AI 提供者設定

可新增並管理多個 AI 提供者,支援 Anthropic Claude、OpenAI 及相容 OpenAI API 的本地模型(如 Ollama、Qwen、LM Studio 等),可自訂模型與 API Key。

一般設定

一般設定

提供外觀主題切換(跟隨系統 / 淺色 / 深色)、字型大小調整(12–20px)及清除查詢歷史等個人化設定。

使用說明

  1. 啟動應用程式
  2. 在側邊欄點擊「新增連線」按鈕
  3. 選擇資料庫類型並填入連線資訊
  4. 連線成功後即可開始查詢資料
  5. 使用 AI 聊天功能輸入自然語言查詢,系統會自動生成 SQL

專案結構

DBAI/
├── electron/           # Electron 主程式
│   ├── main.ts        # 主入口
│   ├── preload.ts     # 預載腳本
│   ├── adapters/      # 資料庫適配器
│   ├── ipc/          # IPC 通信
│   └── services/     # 服務層
├── src/               # React 前端
│   ├── components/    # 元件
│   ├── pages/        # 頁面
│   ├── stores/       # 狀態管理
│   └── types/        # 類型定義
├── shared/           # 共用類型
└── dist-electron/    # 建構輸出

開發

類型檢查

bun run typecheck

預覽建構結果

bun run preview

About

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors