t8y2/dbx

GitHub: t8y2/dbx

DBX 是一款用 Rust 构建的轻量级跨平台数据库客户端,仅 15MB 即支持 60 多种数据库并内置 AI SQL 助手。

Stars: 10045 | Forks: 1010

15 MB 支持 60 多种数据库。支持桌面与 Docker 自托管,并内置 AI 助手。

DBX screenshot

Join QQ Group Join WeChat Group Join Discord

t8y2%2Fdbx | Trendshift Featured|HelloGitHub DBX - Lightweight open-source database manager built with Rust | Product Hunt

AtomGit Stars

English | 前往中文版本

## 为什么选择 DBX?

🪶 15 MB,零运行时臃肿

无需 Java JRE。无需 Python venv。无需捆绑 Chromium。DBX 作为一个独立的小型二进制文件发布 —— 下载、安装、连接。DBeaver 需要 Java;TablePlus 仅限 macOS。DBX 无需任何额外依赖即可随处运行。

🤖 驻留在你的编辑器中的 AI

选中一个表,描述你的需求,即可获取 SQL —— 工具之间无需复制粘贴。支持 Claude、OpenAI 或通过 Ollama 运行的本地模型。内置安全检查会在 AI 生成的 SQL 运行前进行审查。

🔌 MCP:让你的数据库为 AI 准备就绪

DBX 支持 Model Context Protocol。Claude Code、Cursor、Windsurf 及其他 AI 编程代理可以通过你已设置好的连接查询你的数据库。一次配置,处处可用。

🌐 桌面端 + Docker + Web

在 macOS、Windows 和 Linux 上提供原生应用。通过 Docker 自托管以供团队访问。提供适用于纯浏览器环境的 Web 版本。功能集相同,连接方式相同。

## 功能 ### 一个工具支持 60 多种数据库 MySQL, PostgreSQL, SQLite, Redis, MongoDB, DuckDB, ClickHouse, SQL Server, Oracle, Elasticsearch, Qdrant, Milvus, Weaviate, MariaDB, TiDB, OceanBase, openGauss, GaussDB, KWDB, KingBase, Vastbase, GoldenDB, Doris, SelectDB, StarRocks, Manticore Search, Redshift, DM, TDengine, XuguDB, CockroachDB, Access, HighGo 等。Agent/JDBC 导向的配置文件将 DBX 扩展到了 H2、Snowflake、Trino、PrestoSQL、Hive、DB2、Informix、Neo4j、Cassandra、BigQuery、Kylin、SunDB 和自定义 JDBC 连接。全新的原生与 Agent 驱动还涵盖了 Databricks、SAP HANA、Teradata、Vertica、Firebird、Exasol、YashanDB、GBase 8a/8s、Databend、RQLite、Turso、InfluxDB、QuestDB、IoTDB、etcd、ZooKeeper、Nacos、IRIS 等。此外还支持针对 Pulsar、Kafka 和 RocketMQ 的消息队列管理。所有这些都在一个约 15 MB 的应用内。无捆绑 Chromium。 ### 查询编辑器 基于 CodeMirror 6,支持 SQL 语法高亮、元数据感知自动补全、`Cmd+Enter` 执行、选中 SQL 执行、SQL 格式化、诊断以及 9 种编辑器主题。持久化的查询历史、保存的 SQL 片段、标签页恢复以及 SQL 文件执行,让重复性工作触手可及。 ### AI SQL 助手 用自然语言描述你的需求 —— 获取 SQL。DBX 能够解释查询、优化 SQL、修复错误,并通过内置安全检查运行 AI 生成的 SQL。支持 Claude、OpenAI、本地模型或任何兼容 OpenAI 的 endpoint。 ### 数据网格 采用虚拟滚动的表格,可处理大型结果集。支持内联编辑、保存前 SQL 预览、WHERE / ORDER BY 控制、DataGrip 风格的过滤器、LIKE / NOT LIKE 上下文过滤器、排序、全文搜索、分页、列调整、自动适应、行号、斑马纹以及完整的单元格详情。支持导出或复制为 CSV、JSON、Markdown、XLSX 或 INSERT 语句。 ### Schema 工具 - **Schema 浏览器** —— 数据库、schema、表、列、索引、外键、触发器,支持侧边栏搜索与固定 - **对象浏览器** —— 分组显示存储过程、函数、视图,并在支持的引擎中进行源码编辑 - **表结构编辑器** —— 为受支持的引擎提供可审查的列和索引变更 - **ER 图** —— 可视化表关系 - **Schema diff** —— 跨连接比较结构 - **Explain plan** —— 可视化查询执行计划 - **字段血缘** —— 列级别的血缘分析 - **数据库搜索** —— 在大型 schema 中查找对象 ### 数据操作 - **表导入** —— CSV, Excel - **数据传输** —— 在数据库间迁移 - **数据库导出** —— 完整的数据库转储 - **数据比较** —— 比较表数据并审查同步输出 - **SQL 文件执行** —— 直接运行 `.sql` 文件 - **文件预览** —— 拖放 Parquet、CSV、JSON 即可即时预览(由 DuckDB 提供支持) - **连接导入** —— 从 DBeaver 或 Navicat 导入连接配置 ### 专用浏览器 - **Redis** —— 键模式搜索、批量键操作、命令运行器、TTL 编辑,以及所有数据类型(String, Hash, List, Set, ZSet, Stream) - **MongoDB** —— 支持分页的文档 CRUD,Atlas 及副本集 URL 连接 ### 安全与连接 SSH 隧道(密钥与密码) · 数据库与 AI 代理设置 · 连接丢失时自动重连 · 破坏性操作确认对话框 · 加密的配置导出/导入 · 颜色编码的连接 · 驱动存储与可选的 JDBC 插件 ### 精致的 UI 支持原生的标题栏同步的深色模式 · 9 种编辑器主题 · 英语、简体中文 & Español · 布局偏好设置 · 内置自动更新 ## AI Agent 集成 (MCP) DBX 提供了一个 [MCP server](packages/mcp-server/),允许 AI 编程代理使用已在 DBX 中配置好的连接来查询你的数据库。 ``` npx @dbx-app/mcp-server ``` 添加到你的 `.mcp.json` 中: ``` { "mcpServers": { "dbx": { "command": "npx", "args": ["-y", "@dbx-app/mcp-server"] } } } ``` 支持 Claude Code、Cursor、Windsurf 以及任何兼容 MCP 的 Agent。支持列出连接、浏览表、执行 SQL,并直接在 DBX 的 UI 中打开表。 DBX 还为终端、脚本和 Codex 工作流提供了一个专用的 CLI 包: ``` npm install -g @dbx-app/cli # 或通过 Homebrew brew tap t8y2/dbx && brew install dbx-cli dbx connections list --json dbx query local "select 1" --json ``` 详情请参阅 [MCP server README](packages/mcp-server/README.md) 和 [CLI README](packages/cli/README.md)。 ## 安装 从 [Releases](https://github.com/t8y2/dbx/releases/latest) 页面下载最新版本。 **Homebrew (macOS):** ``` brew install --cask dbx ``` **Scoop (Windows):** ``` scoop bucket add dbx https://github.com/t8y2/scoop-bucket scoop install dbx ``` **WinGet (Windows):** ``` winget install t8y2.dbx ``` ## 自托管 (Docker) DBX 提供了一个可以通过 Docker 部署的 Web 版本。 ``` docker run -d --name dbx -p 4224:4224 -v dbx-data:/app/data t8y2/dbx ``` 或者使用 Docker Compose。`deploy/docker-compose.yml` 中提供了一个开箱即用的示例: ``` services: dbx: image: t8y2/dbx ports: - "4224:4224" volumes: - dbx-data:/app/data restart: unless-stopped volumes: dbx-data: ``` 在浏览器中打开 `http://localhost:4224`。提供多架构镜像 (amd64 / arm64)。 如果要将 DBX 发布在反向代理的上下文路径(例如 `/dbx`)下,请设置 运行时的基础路径,并将相同的前缀代理到容器: ``` environment: - DBX_PUBLIC_BASE_PATH=/dbx ``` 当你使用绝对资源路径自行构建前端时,请在 `pnpm build` 之前设置 `VITE_DBX_BASE_PATH=/dbx/`。 ## 快速开始 ### 前置条件 - [Node.js](https://nodejs.org/) >= 18 - [pnpm](https://pnpm.io/) - [Rust](https://www.rust-lang.org/tools/install) >= 1.77 #### 系统依赖 **macOS:** 无需额外依赖。 **Linux (Ubuntu/Debian):** ``` sudo apt-get install -y libwebkit2gtk-4.1-dev libgtk-3-dev libappindicator3-dev librsvg2-dev patchelf libssl-dev ``` **Windows:** 无需额外依赖。 ### 开发 ``` make ``` `make` 会在需要时安装根目录依赖,并启动本地的 Tauri 桌面开发环境。 Web 版本: ``` make dev-web # frontend make dev-backend # backend ``` 文档站点: ``` make docs ``` DBX 官方文档站点位于 `docs/`。如果你想改进网站内容或文档页面,请编辑 `docs/` 下的文件并运行 `make docs` 以在本地预览站点。 JDBC Agent 驱动开发项目位于 `agents/`: ``` cd agents ./gradlew test ``` `agents/drivers//build/libs/` 中的构建产物会被本地驱动安装流程自动拾取(如果可用)。 ### 构建 ``` make package ``` 安装程序将位于 `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) | ## 常见问题
DBX 是免费的吗? 是的。DBX 是基于 Apache-2.0 协议的开源软件。所有功能均为免费。
DBX 会收集用户数据吗? 不会。DBX 不收集任何遥测数据。自动更新功能会检查 GitHub Releases 以获取新版本 —— 你可以在设置中禁用它。
我可以在没有互联网连接的情况下使用 DBX 吗? 可以。桌面应用完全可以离线使用。对于物理隔离(air-gapped)环境下的驱动安装,请在有网络连接的机器上从 [Offline Drivers 页面](https://dbxio.com/en/drivers) 下载离线驱动包,将其传输到离线机器上,然后在 DBX 的 Settings > Driver Manager 中导入。AI 功能需要网络才能访问模型 endpoint(或通过 Ollama 访问本地模型)。
DBX 与 DBeaver / TablePlus / Beekeeper Studio 有何不同? DBX 只有 15 MB,且无任何运行时依赖(不需要 Java,不需要 Python)。它原生内置了 AI 和 MCP —— 而不是作为插件存在。它通过单一代码库支持跨桌面、Docker 和 Web 平台上的 60 多种数据库。
支持哪些数据库? MySQL, PostgreSQL, SQLite, Redis, MongoDB, DuckDB, ClickHouse, SQL Server, Oracle, Elasticsearch, Qdrant, Milvus, Weaviate, MariaDB, TiDB, OceanBase, openGauss, GaussDB, KWDB, KingBase, Vastbase, GoldenDB, Doris, SelectDB, StarRocks, Manticore Search, Redshift, DM, TDengine, XuguDB, CockroachDB, Access, HighGo 等。Agent/JDBC 导向的配置文件将支持范围扩展到了 H2、Snowflake、Trino、PrestoSQL、Hive、DB2、Informix、Neo4j、Cassandra、BigQuery、Kylin、SunDB、Databricks、SAP HANA、Teradata、Vertica、Firebird、Exasol、YashanDB、GBase 8a/8s、Databend、RQLite、Turso、InfluxDB、QuestDB、IoTDB、etcd、ZooKeeper、Nacos、IRIS 和自定义 JDBC 连接。此外还支持消息队列管理(Pulsar、Kafka、RocketMQ)。
如何报告 Bug 或提出功能请求?GitHub Issues 上提出 issue。
## Star 历史 Star History Chart ## 许可证 [Apache-2.0](LICENSE)
标签:AI助手, AI风险缓解, Docker, Petitpotam, SOC Prime, 可视化界面, 安全防御评估, 开发工具, 数据库客户端, 数据库管理, 请求拦截, 通知系统