数据库客户端的「老问题」

日常和数据库打交道的人,桌面大概率是这样长起来的:

  • 连 MySQL:装一个客户端(DBeaver 要带 Java 运行时,DataGrip 自带 JRE,Navicat 要钱);
  • 查 Redis:再装个 RedisInsight 或 Another Redis Desktop Manager;
  • 看 MongoDB:又一个工具;
  • 盯 Kafka:还得来个 Offset Explorer 或 Kafdrop;
  • 国产库(达梦、openGauss、KingbaseES):很多工具支持不全,还得另找;

每个工具三五百 MB 起步,加起来就是几个 G,启动慢、升级散、快捷键还各不相同。

最近在 GitHub 上刷到一个项目 DBX,思路是「全部收进一个 25 MB 的 App」——刚过 6 个月就攒了近 2.7 万 Star,值得写一篇文章。

DBX 是什么

一句话:一个用 Rust 写的轻量级跨平台数据库客户端,把 100+ 种数据源的连接、查询、管理都收进单一应用。

项目 内容
地址 github.com/t8y2/dbx
语言 Rust(Tauri 框架,前端 Vue)
体积 约 25 MB——无 JRE、无 Python 环境、不打包 Chromium
协议 Apache License 2.0(完全开源,可商用)
支持 100+ 数据库 + 消息队列/中间件控制台
形态 桌面端(macOS / Windows / Linux)、Docker/Web 自托管、CLI、MCP Server
官网 dbxio.com
热度 26,000+ Stars / 2,400+ Forks,长期在活跃更新

DBX 特性总览

第一个卖点:轻,是真的轻

同类工具的体积对比很直观:

工具 运行时依赖 体积量级
DBeaver 需要 Java 数百 MB
DataGrip 自带 JRE 1 GB+
TablePlus 原生但免费版受限 —
DBX 无额外依赖,单二进制 约 25 MB

它用 Rust + Tauri 构建,界面走系统 WebView,所以不用像 Electron 那样塞一整个 Chromium,也不用像 Java 系那样带运行时。下载、双击、连接——没有「先装 Java」这一步。

体积小的直接收益是启动快、内存占用低,老旧笔记本上体感明显。

第二个卖点:100+ 数据源,一个工具全收

这是 DBX 最「离谱」的部分。官方列出的支持清单(我核对过 README)大致分几类:

国际主流:MySQL、PostgreSQL、SQLite、Redis、MongoDB、DuckDB、ClickHouse、SQL Server、Oracle、Elasticsearch、MariaDB、TiDB、CockroachDB、InfluxDB、Redshift、BigQuery、Snowflake(agent 方式)、Cassandra、Neo4j……

国产数据库(对国内用户很关键):达梦 DM、openGauss、GaussDB、OceanBase、KingbaseES(人大金仓)、KWDB、Vastbase(海量)、GoldenDB、Doris、SelectDB、StarRocks、TDengine、XuguDB(虚谷)、HighGo(瀚高)、UXDB、YashanDB(崖山)、GBase 8a/8s……

向量/搜索库:Qdrant、Milvus、Weaviate、Meilisearch、Manticore Search……

外加「Agent 模式」:H2、Trino、PrestoSQL、Hive、DB2、Informix、Databricks、SAP HANA、Teradata、Vertica、Firebird、Exasol 等通过代理扩展,还可以接任意 JDBC 连接。

不只是数据库:消息队列也有控制台

DBX 还给中间件做了一等公民的界面:

  • Kafka / RocketMQ / RabbitMQ / Pulsar:Topic、消费组、消息浏览、查询追踪、Broker 监控;
  • MQTT:Topic 树导航、订阅、发布;
  • Nacos / Consul / ZooKeeper / etcd:服务发现、KV/配置浏览、健康检查、ACL。

以前要开三四个工具干的事,现在一个窗口。

核心功能:日常操作都齐

DBX 主界面

查询编辑器:CodeMirror 6 内核,SQL 高亮、元数据感知补全、Cmd+Enter 执行、选中执行、SQL 格式化、诊断提示、9 种主题;查询历史、SQL 片段收藏、标签页恢复。

DBX 暗色模式

数据网格:虚拟滚动扛大数据量,行内编辑(保存前先预览 SQL)、DataGrip 风格的过滤、全文搜索、分页、列宽自适应;导出/复制支持 CSV / JSON / Markdown / XLSX / INSERT 语句。

Schema 工具(这块做得比预期全):

  • 结构浏览器:库、Schema、表、列、索引、外键、触发器,支持搜索和固定;
  • ER 图:表关系可视化;
  • 结构对比(Schema diff):跨连接比结构;
  • 执行计划:可视化 Explain;
  • 字段血缘:列级血缘分析;
  • 跨库对象搜索。

DBX ER 图

数据操作:CSV/Excel 导入、跨库数据迁移、整库导出、表数据对比、直接执行 .sql 文件、拖拽 Parquet/CSV/JSON 即时预览(背后是 DuckDB)。

顺手的一个功能:支持从 DBeaver / Navicat 导入连接配置——迁移过来不用一个个重新填连接信息。

第三个卖点:AI 助手 + MCP

这是 DBX 区别于传统客户端的地方。

内置 AI SQL 助手

选中表、用自然语言描述需求,直接得到 SQL——不用在聊天工具和客户端之间复制粘贴。支持:

  • 解释查询、优化 SQL、修复报错;
  • AI 生成的 SQL 在执行前会过一遍安全审查(防止 AI 意外生成 DROP/UPDATE 全表这类语句);
  • 模型可选:Claude、OpenAI、本地模型(Ollama) 或任何 OpenAI 兼容端点——不想让数据出本地的可以用 Ollama。

MCP Server:让 AI 编程助手直连你的数据库

DBX 单独提供 Rust 实现的 MCP Server,Claude Code、Cursor、Windsurf 这类支持 MCP 的 AI 工具可以直接查询你已经配置好的数据库连接:

1
2
3
4
5
{
"mcpServers": {
"dbx": { "command": "npx", "args": ["-y", "@dbx-app/mcp-server"] }
}
}

这个设计有几个细节考虑得不错:

  • 权限分级:在 DBX 设置里管理连接的允许清单,和 只读 / 数据读写 / 完全访问 三档模式,机器码是 read_only / safe_write / high_risk_write;
  • 独立分发:MCP Server 和桌面端分开安装,不装桌面端也能在服务器环境跑(官方提供 macOS/Linux/Windows 预编译二进制);
  • 也提供不依赖 Node.js 的离线环境方案(预编译原生二进制),以及指向 Docker/Web 后端的配置(DBX_WEB_URL)。

CLI:脚本和 Agent 友好

终端党也有得用:

1
2
3
4
5
6
7
npm install -g @dbx-app/cli
# 或 Homebrew
brew tap t8y2/tap && brew install dbx-cli

dbx connections list --json # 列连接
dbx query local "select 1" --json # 执行查询,输出 JSON
dbx agent setup # 安装官方 Agent Skill

值得一提:dbx agent setup 会把官方的 DBX Agent Skill 装到 ~/.agents/skills/dbx,让支持 Skill 的 AI Agent(比如 Claude Code)知道怎么安全地调用 DBX CLI——这个设计跟上了现在 Agent 工具链的玩法。

四种打开方式

形态 适合场景
桌面端 个人日常开发,macOS / Windows / Linux 原生应用
Docker / Web 自托管给团队用,浏览器访问;官方镜像多架构(amd64/arm64)
CLI 终端、脚本自动化、AI Agent 调用
MCP Server 让 AI 编程助手直连数据库

同一个工具、同一套连接,四种入口,随时切换。

安装:选一条命令

1
2
3
4
5
6
7
8
9
10
11
12
# macOS (Homebrew)
brew install --cask dbx

# Windows (Scoop)
scoop bucket add dbx https://github.com/t8y2/scoop-bucket
scoop install dbx

# Windows (WinGet)
winget install t8y2.dbx

# Linux (Flatpak)
flatpak install flatpark com.dbxio.dbx

Docker 自托管(默认端口 4224):

1
2
3
docker run -d --pull=always --name dbx -p 4224:4224 \
-v dbx-data:/app/data \
t8y2/dbx:latest

然后浏览器打开 http://localhost:4224 即可。

国内用户提示:官方提供了 CNB 镜像 docker.cnb.cool/dbxio.com/dbx:latest,拉取更快。

生产环境建议用 DBX_SECRET_KEY_FILE 或 DBX_SECRET_KEY 显式指定密钥(可以对接 Docker/K8s Secret),别用默认的托管密钥。

安全性:几点做得比较认真

数据库客户端手里握着的是「所有库的钥匙」,DBX 在这块的细节值得说:

  • 凭据加密存储:连接、插件、AI、隧道的凭据全部加密写入 dbx.db;桌面端用系统密钥链(macOS Keychain / Windows Credential Manager / Linux Secret Service),Web/Docker 用独立密钥文件;
  • 破坏性操作二次确认:DELETE、DROP 这类操作有确认弹窗;
  • SSH 隧道:内置支持密钥和密码两种方式(连内网库不用另开隧道工具);
  • MCP 权限管控:前面说的三档权限 + 连接白名单,AI 拿不到你没授权的库;
  • 从旧版明文存储升级时有数据安全升级向导,迁移前自动做备份。

适合谁 / 不适合谁

适合:

  • 手里同时管着 MySQL、Redis、MongoDB 等多种库的后端 / 运维 / DBA——一个工具全搞定;
  • 用国产数据库(达梦、openGauss、KingbaseES 等)的朋友——这类支持在商业工具里经常要加钱或者干脆没有;
  • 想给 AI 编程助手接数据库的人——MCP + CLI + Agent Skill 这套组合目前是同类里比较完整的;
  • 在意体积和启动速度、不想为了查个表装 1 GB 工具链的人。

不适合:

  • 只连一种库、平时就用命令行 mysql / redis-cli 的高手——那也够用,DBX 是非必需品;
  • 需要特别深度某家定制特性(比如 Oracle 全家桶高级管理功能)的场景——商业专项工具仍然更全。

写在最后

DBX 的思路很清楚:把「轻」和「全」这对矛盾用 Rust 的技术栈解开——25 MB 的体积装下 100+ 数据源,再往前一步接上了 AI 和 MCP 这波浪潮。项目 4 月底开源,到现在 6 个月迭代到近 27k Star,更新节奏很快(最近一次提交就在今天),Apache 2.0 协议对个人和企业都友好。

如果你现在的数据库工具链是「四五个 App 拼起来的」,值得花十分钟试试它——先从桌面端开始,再把 MCP 配上,体验一下 AI 直接查你数据库的感觉。