mirror of
https://github.com/t8y2/dbx.git
synced 2026-10-29 16:18:55 +00:00
- Replace small badges with for-the-badge style (downloads, contributors, Discord, QQ) - Add database badges (Doris, StarRocks, Redshift, OceanBase, openGauss, GaussDB, KingBase, and more) - Replace WeChat/QQ QR codes with Discord + QQ badge buttons - Update VitePress homepage (25+ databases, new screenshots, Docker section) - Update VitePress config (AGPL-3.0 footer, new description)
224 lines
12 KiB
Markdown
224 lines
12 KiB
Markdown
<div align="center">
|
||
<img src="docs/logo.png" width="80" />
|
||
<h1>DBX</h1>
|
||
<p>15 MB 驾驭 25+ 种数据库。桌面端 & Docker 自托管,内置 AI 助手。</p>
|
||
<p>
|
||
<a href="https://github.com/t8y2/dbx/releases"><img src="https://img.shields.io/github/downloads/t8y2/dbx/total?style=for-the-badge&color=blue" /></a>
|
||
<a href="https://github.com/t8y2/dbx/graphs/contributors"><img src="https://img.shields.io/github/contributors/t8y2/dbx?style=for-the-badge" /></a>
|
||
<a href="https://discord.gg/W7NyVDRt6a"><img src="https://dcbadge.limes.pink/api/server/W7NyVDRt6a" alt="加入 Discord" /></a>
|
||
<a href="https://qm.qq.com/cgi-bin/qm/qr?k=&group_code=1087880322"><img src="https://img.shields.io/badge/QQ_群-1087880322-EB1923?style=for-the-badge&logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iODYiIHdpZHRoPSI4NiIgdmlld0JveD0iMCAwIDEyMCAxNDUiPjxwYXRoIGZpbGw9IiNmYWFiMDciIGQ9Ik02MC41MDMgMTQyLjIzN2MtMTIuNTMzIDAtMjQuMDM4LTQuMTk1LTMxLjQ0NS0xMC40Ni0zLjc2MiAxLjEyNC04LjU3NCAyLjkzMi0xMS42MSA1LjE3NS0yLjYgMS45MTgtMi4yNzUgMy44NzQtMS44MDcgNC42NjMgMi4wNTYgMy40NyAzNS4yNzMgMi4yMTYgNDQuODYyIDEuMTM2em0wIDBjMTIuNTM1IDAgMjQuMDM5LTQuMTk1IDMxLjQ0Ny0xMC40NiAzLjc2IDEuMTI0IDguNTczIDIuOTMyIDExLjYxIDUuMTc1IDIuNTk4IDEuOTE4IDIuMjc0IDMuODc0IDEuODA1IDQuNjYzLTIuMDU2IDMuNDctMzUuMjcyIDIuMjE2LTQ0Ljg2MiAxLjEzNnptMCAwIi8+PHBhdGggZD0iTTYwLjU3NiA2Ny4xMTljMjAuNjk4LS4xNCAzNy4yODYtNC4xNDcgNDIuOTA3LTUuNjgzIDEuMzQtLjM2NyAyLjA1Ni0xLjAyNCAyLjA1Ni0xLjAyNC4wMDUtLjE4OS4wODUtMy4zNy4wODUtNS4wMUMxMDUuNjI0IDI3Ljc2OCA5Mi41OC4wMDEgNjAuNSAwIDI4LjQyLjAwMSAxNS4zNzUgMjcuNzY5IDE1LjM3NSA1NS40MDFjMCAxLjY0Mi4wOCA0LjgyMi4wODYgNS4wMSAwIDAgLjU4My42MTUgMS42NS45MTMgNS4xOSAxLjQ0NCAyMi4wOSA1LjY1IDQzLjMxMiA1Ljc5NXptNTYuMjQ1IDIzLjAyYy0xLjI4My00LjEyOS0zLjAzNC04Ljk0NC00LjgwOC0xMy41NjggMCAwLTEuMDItLjEyNi0xLjUzNy4wMjMtMTUuOTEzIDQuNjIzLTM1LjIwMiA3LjU3LTQ5LjkgNy4zOTJoLS4xNTNjLTE0LjYxNi4xNzUtMzMuNzc0LTIuNzM3LTQ5LjYzNC03LjMxNS0uNjA2LS4xNzUtMS44MDItLjEtMS44MDItLjEtMS43NzQgNC42MjQtMy41MjUgOS40NC00LjgwOCAxMy41NjgtNi4xMTkgMTkuNjktNC4xMzYgMjcuODM4LTIuNjI3IDI4LjAyIDMuMjM5LjM5MiAxMi42MDYtMTQuODIxIDEyLjYwNi0xNC44MjEgMCAxNS40NTkgMTMuOTU3IDM5LjE5NSA0NS45MTggMzkuNDEzaC44NDhjMzEuOTYtLjIxOCA0NS45MTctMjMuOTU0IDQ1LjkxNy0zOS40MTMgMCAwIDkuMzY4IDE1LjIxMyAxMi42MDcgMTQuODIyIDEuNTA4LS4xODMgMy40OTEtOC4zMzItMi42MjctMjguMDIxIi8+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTQ5LjA4NSA0MC44MjRjLTQuMzUyLjE5Ny04LjA3LTQuNzYtOC4zMDQtMTEuMDYzLS4yMzYtNi4zMDUgMy4wOTgtMTEuNTc2IDcuNDUtMTEuNzczIDQuMzQ3LS4xOTUgOC4wNjQgNC43NiA4LjMgMTEuMDY1LjIzOCA2LjMwNi0zLjA5NyAxMS41NzctNy40NDYgMTEuNzcxbTMxLjEzMy0xMS4wNjNjLS4yMzMgNi4zMDItMy45NTEgMTEuMjYtOC4zMDMgMTEuMDYzLTQuMzUtLjE5NS03LjY4NC01LjQ2NS03LjQ0Ni0xMS43Ny4yMzYtNi4zMDUgMy45NTItMTEuMjYgOC4zLTExLjA2NiA0LjM1Mi4xOTcgNy42ODYgNS40NjggNy40NDkgMTEuNzczIi8+PHBhdGggZmlsbD0iI2ZhYWIwNyIgZD0iTTg3Ljk1MiA0OS43MjVDODYuNzkgNDcuMTUgNzUuMDc3IDQ0LjI4IDYwLjU3OCA0NC4yOGgtLjE1NmMtMTQuNSAwLTI2LjIxMiAyLjg3LTI3LjM3NSA1LjQ0NmEuODYzLjg2MyAwIDAwLS4wODUuMzY3Ljg4Ljg4IDAgMDAuMTYuNDk2Yy45OCAxLjQyNyAxMy45ODUgOC40ODcgMjcuMyA4LjQ4N2guMTU2YzEzLjMxNCAwIDI2LjMxOS03LjA1OCAyNy4yOTktOC40ODdhLjg3My44NzMgMCAwMC4xNi0uNDk4Ljg1Ni44NTYgMCAwMC0uMDg1LS4zNjUiLz48cGF0aCBkPSJNNTQuNDM0IDI5Ljg1NGMuMTk5IDIuNDktMS4xNjcgNC43MDItMy4wNDYgNC45NDMtMS44ODMuMjQyLTMuNTY4LTEuNTgtMy43NjgtNC4wNy0uMTk3LTIuNDkyIDEuMTY3LTQuNzA0IDMuMDQzLTQuOTQ0IDEuODg2LS4yNDQgMy41NzQgMS41OCAzLjc3MSA0LjA3bTExLjk1Ni44MzNjLjM4NS0uNjg5IDMuMDA0LTQuMzEyIDguNDI3LTIuOTkzIDEuNDI1LjM0NyAyLjA4NC44NTcgMi4yMjMgMS4wNTcuMjA1LjI5Ni4yNjIuNzE4LjA1MyAxLjI4Ni0uNDEyIDEuMTI2LTEuMjYzIDEuMDk1LTEuNzM0Ljg3NS0uMzA1LS4xNDItNC4wODItMi42Ni03LjU2MiAxLjA5Ny0uMjQuMjU3LS42NjguMzQ2LTEuMDczLjA0LS40MDctLjMwOC0uNTc0LS45My0uMzM0LTEuMzYyIi8+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTYwLjU3NiA4My4wOGgtLjE1M2MtOS45OTYuMTItMjIuMTE2LTEuMjA0LTMzLjg1NC0zLjUxOC0xLjAwNCA1LjgxOC0xLjYxIDEzLjEzMi0xLjA5IDIxLjg1MyAxLjMxNiAyMi4wNDMgMTQuNDA3IDM1LjkgMzQuNjE0IDM2LjFoLjgyYzIwLjIwOC0uMiAzMy4yOTgtMTQuMDU3IDM0LjYxNi0zNi4xLjUyLTguNzIzLS4wODctMTYuMDM1LTEuMDkyLTIxLjg1NC0xMS43MzkgMi4zMTUtMjMuODYyIDMuNjQtMzMuODYgMy41MTgiLz48cGF0aCBmaWxsPSIjZWIxOTIzIiBkPSJNMzIuMTAyIDgxLjIzNXYyMS42OTNzOS45MzcgMi4wMDQgMTkuODkzLjYxNlY4My41MzVjLTYuMzA3LS4zNTctMTMuMTA5LTEuMTUyLTE5Ljg5My0yLjMiLz48cGF0aCBmaWxsPSIjZWIxOTIzIiBkPSJNMTA1LjUzOSA2MC40MTJzLTE5LjMzIDYuMTAyLTQ0Ljk2MyA2LjI3NWgtLjE1M2MtMjUuNTkxLS4xNzItNDQuODk2LTYuMjU1LTQ0Ljk2Mi02LjI3NUw4Ljk4NyA3Ni41N2MxNi4xOTMgNC44ODIgMzYuMjYxIDguMDI4IDUxLjQzNiA3Ljg0NWguMTUzYzE1LjE3NS4xODMgMzUuMjQyLTIuOTYzIDUxLjQzNy03Ljg0NXptMCAwIi8+PC9zdmc+" alt="加入 QQ 群" /></a>
|
||
</p>
|
||
<p>
|
||
<img src="https://img.shields.io/badge/MySQL-4479A1?logo=mysql&logoColor=white" />
|
||
<img src="https://img.shields.io/badge/PostgreSQL-4169E1?logo=postgresql&logoColor=white" />
|
||
<img src="https://img.shields.io/badge/SQLite-003B57?logo=sqlite&logoColor=white" />
|
||
<img src="https://img.shields.io/badge/Redis-DC382D?logo=redis&logoColor=white" />
|
||
<img src="https://img.shields.io/badge/MongoDB-47A248?logo=mongodb&logoColor=white" />
|
||
<img src="https://img.shields.io/badge/DuckDB-FFF000?logo=duckdb&logoColor=black" />
|
||
<img src="https://img.shields.io/badge/ClickHouse-FFCC01?logo=clickhouse&logoColor=black" />
|
||
<img src="https://img.shields.io/badge/SQL%20Server-CC2927?logo=microsoftsqlserver&logoColor=white" />
|
||
<img src="https://img.shields.io/badge/Oracle-F80000?logo=oracle&logoColor=white" />
|
||
<img src="https://img.shields.io/badge/Elasticsearch-005571?logo=elasticsearch&logoColor=white" />
|
||
<img src="https://img.shields.io/badge/MariaDB-003545?logo=mariadb&logoColor=white" />
|
||
<img src="https://img.shields.io/badge/TiDB-DC150B?logo=tidb&logoColor=white" />
|
||
<img src="https://img.shields.io/badge/Doris-0052CC?logoColor=white" />
|
||
<img src="https://img.shields.io/badge/StarRocks-5C2D91?logoColor=white" />
|
||
<img src="https://img.shields.io/badge/Redshift-8C4FFF?logo=amazonredshift&logoColor=white" />
|
||
<img src="https://img.shields.io/badge/OceanBase-006AFF?logoColor=white" />
|
||
<img src="https://img.shields.io/badge/openGauss-2B7BD9?logoColor=white" />
|
||
<img src="https://img.shields.io/badge/GaussDB-E60012?logoColor=white" />
|
||
<img src="https://img.shields.io/badge/KingBase-003B8E?logoColor=white" />
|
||
<img src="https://img.shields.io/badge/and%20more...-555555?logoColor=white" />
|
||
</p>
|
||
<p>
|
||
<a href="README.md">English</a> | 简体中文
|
||
</p>
|
||
|
||
<p>
|
||
<a href="docs/screenshot-light.png"><img src="https://cdn.jsdelivr.net/gh/t8y2/dbx@main/docs/screenshot-light.png" width="395" /></a>
|
||
<a href="docs/screenshot-dark.png"><img src="https://cdn.jsdelivr.net/gh/t8y2/dbx@main/docs/screenshot-dark.png" width="395" /></a>
|
||
</p>
|
||
<p>
|
||
<a href="docs/screenshot-er.png"><img src="https://cdn.jsdelivr.net/gh/t8y2/dbx@main/docs/screenshot-er.png" width="395" /></a>
|
||
<a href="docs/screenshot-grid.png"><img src="https://cdn.jsdelivr.net/gh/t8y2/dbx@main/docs/screenshot-grid.png" width="395" /></a>
|
||
</p>
|
||
</div>
|
||
|
||
## 功能特性
|
||
|
||
### 17+ 种数据库,一个工具搞定
|
||
|
||
MySQL、PostgreSQL、SQLite、Redis、MongoDB、DuckDB、ClickHouse、SQL Server、Oracle、Elasticsearch、MariaDB、TiDB、OceanBase、openGauss、GaussDB、KingBase、Vastbase、GoldenDB — 全部在一个约 15 MB 的应用中连接。不内嵌 Chromium。
|
||
|
||
### 查询编辑器
|
||
|
||
CodeMirror 6 语法高亮、智能自动补全(表名和字段)、`Cmd+Enter` 执行、选中 SQL 执行、SQL 格式化,9 种编辑器主题。查询历史持久化存储,支持搜索和恢复。
|
||
|
||
### AI SQL 助手
|
||
|
||
用自然语言描述你的需求,直接生成 SQL。还能解释、优化、修复错误。支持 Claude、OpenAI 或任何 OpenAI 兼容端点。
|
||
|
||
### 数据表格
|
||
|
||
虚拟滚动,轻松应对百万行数据。行内编辑、排序、全文搜索、分页、列宽调整、行号、斑马纹。支持导出为 CSV、JSON、Markdown。
|
||
|
||
### Schema 工具
|
||
|
||
- **结构浏览** — 数据库、Schema、表、字段、索引、外键、触发器,支持侧边栏搜索和置顶
|
||
- **ER 关系图** — 可视化表间关联
|
||
- **Schema 对比** — 跨连接对比表结构差异
|
||
- **执行计划** — 可视化查询执行计划
|
||
- **字段血缘** — 字段级血缘分析
|
||
|
||
### 数据操作
|
||
|
||
- **数据导入** — CSV、Excel
|
||
- **数据迁移** — 在数据库之间迁移数据
|
||
- **数据库导出** — 完整数据库导出
|
||
- **SQL 文件执行** — 直接执行 `.sql` 文件
|
||
- **文件预览** — 拖入 Parquet、CSV、JSON 即时预览(基于 DuckDB)
|
||
|
||
### 专项浏览器
|
||
|
||
- **Redis** — 模式匹配搜索,全数据类型支持(String、Hash、List、Set、ZSet、Stream)
|
||
- **MongoDB** — 文档增删改查、分页浏览,支持 Atlas 和副本集 URL 直连
|
||
|
||
### 安全与连接
|
||
|
||
SSH 隧道(密钥和密码认证)· 断线自动重连 · 危险操作确认对话框 · 加密导出/导入连接配置 · 连接颜色标记
|
||
|
||
### 精致 UI
|
||
|
||
深色模式原生标题栏同步 · 9 种编辑器主题 · English & 简体中文 · 内置自动更新
|
||
|
||
## AI 编程助手集成 (MCP)
|
||
|
||
DBX 提供 [MCP Server](mcp/),让 AI 编程助手直接使用 DBX 中已配置的数据库连接查询数据。
|
||
|
||
```bash
|
||
npx @dbx-app/mcp-server
|
||
```
|
||
|
||
在 `.mcp.json` 中添加:
|
||
|
||
```json
|
||
{
|
||
"mcpServers": {
|
||
"dbx": { "command": "npx", "args": ["-y", "@dbx-app/mcp-server"] }
|
||
}
|
||
}
|
||
```
|
||
|
||
支持 Claude Code、Cursor、Windsurf 等 MCP 兼容的 AI 助手。可列出连接、浏览表、执行 SQL,还能直接在 DBX 界面中打开表。
|
||
|
||
详见 [MCP Server 说明](mcp/README.md)。
|
||
|
||
## 安装
|
||
|
||
从 [Releases](https://github.com/t8y2/dbx/releases/latest) 页面下载最新版本。
|
||
|
||
**Homebrew (macOS):**
|
||
|
||
```bash
|
||
brew install --cask t8y2/tap/dbx
|
||
```
|
||
|
||
**Scoop (Windows):**
|
||
|
||
```bash
|
||
scoop bucket add dbx https://github.com/t8y2/scoop-bucket
|
||
scoop install dbx
|
||
```
|
||
|
||
## 自托管 (Docker)
|
||
|
||
DBX 提供 Web 版本,可通过 Docker 部署。
|
||
|
||
```bash
|
||
docker run -d --name dbx -p 4224:4224 -v dbx-data:/app/data t8y2/dbx
|
||
```
|
||
|
||
或使用 Docker Compose:
|
||
|
||
```yaml
|
||
services:
|
||
dbx:
|
||
image: t8y2/dbx
|
||
ports:
|
||
- "4224:4224"
|
||
volumes:
|
||
- dbx-data:/app/data
|
||
restart: unless-stopped
|
||
|
||
volumes:
|
||
dbx-data:
|
||
```
|
||
|
||
浏览器访问 `http://localhost:4224`。支持 amd64 / arm64 双架构镜像。
|
||
|
||
## 快速开始
|
||
|
||
### 环境要求
|
||
|
||
- [Node.js](https://nodejs.org/) >= 18
|
||
- [pnpm](https://pnpm.io/)
|
||
- [Rust](https://www.rust-lang.org/tools/install) >= 1.77
|
||
|
||
### 开发
|
||
|
||
```bash
|
||
pnpm install
|
||
pnpm dev:tauri
|
||
```
|
||
|
||
Web 版本:
|
||
|
||
```bash
|
||
pnpm dev:web # 前端
|
||
pnpm dev:backend # 后端
|
||
```
|
||
|
||
### 构建
|
||
|
||
```bash
|
||
pnpm tauri build
|
||
```
|
||
|
||
安装包输出在 `src-tauri/target/release/bundle/` 目录。
|
||
|
||
## 技术栈
|
||
|
||
| 层级 | 技术 |
|
||
|------|------|
|
||
| 框架 | [Tauri 2](https://tauri.app/) |
|
||
| 前端 | [Vue 3](https://vuejs.org/) + TypeScript |
|
||
| UI | [shadcn-vue](https://www.shadcn-vue.com/) + Tailwind CSS |
|
||
| 编辑器 | [CodeMirror 6](https://codemirror.net/) |
|
||
| 后端 | Rust + [sqlx](https://github.com/launchbadge/sqlx) / [tiberius](https://github.com/prisma/tiberius) / [redis-rs](https://github.com/redis-rs/redis-rs) / [mongodb](https://github.com/mongodb/mongo-rust-driver) |
|
||
|
||
## 社区
|
||
|
||
[](https://discord.gg/W7NyVDRt6a)
|
||
[](https://qm.qq.com/q/1087880322)
|
||
[](https://linux.do)
|
||
|
||
## 贡献者
|
||
|
||
<a href="https://github.com/t8y2/dbx/graphs/contributors">
|
||
<img src="https://contrib.rocks/image?repo=t8y2/dbx" />
|
||
</a>
|
||
|
||
## Star History
|
||
|
||
<a href="https://www.star-history.com/?repos=t8y2%2Fdbx&type=date&legend=top-left">
|
||
<picture>
|
||
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/chart?repos=t8y2/dbx&type=date&theme=dark&legend=top-left" />
|
||
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/chart?repos=t8y2/dbx&type=date&legend=top-left" />
|
||
<img alt="Star History Chart" src="https://api.star-history.com/chart?repos=t8y2/dbx&type=date&legend=top-left" />
|
||
</picture>
|
||
</a>
|
||
|
||
## 开源协议
|
||
|
||
[AGPL-3.0](LICENSE)
|