Skip to content

Latest commit

 

History

History
498 lines (379 loc) · 28.1 KB

File metadata and controls

498 lines (379 loc) · 28.1 KB

20 MB 驾驭 70+ 种数据库。桌面端、Docker、CLI、内置 AI 助手与 MCP Server。

DBX 截图

加入 QQ 群 加入微信交流群 加入 Discord

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

CNB

English | 简体中文

为什么选择 DBX?

🪶 20 MB,极致轻量

无需 Java 运行环境,无需 Python 虚拟环境,不内嵌 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 版本适配纯浏览器环境。同样的功能,同样的连接配置。

功能特性

70+ 种数据库,一个工具搞定

MySQL、PostgreSQL、SQLite、Cloudflare D1、Redis、MongoDB、DuckDB、ClickHouse、SQL Server、Oracle、Elasticsearch、Easysearch、MariaDB、TiDB、OceanBase、openGauss、GaussDB、KWDB、KingBase、Vastbase、GoldenDB、Doris、SelectDB、StarRocks、Manticore Search、Redshift、DM、TDengine、虚谷 XuguDB、CockroachDB、Access、HighGo、UXDB 等数据库都能直接连接。Agent/JDBC 方向的配置还可扩展到 H2、Snowflake、Trino、Hive、DB2、Informix、Neo4j、Cassandra、BigQuery、Kylin、SunDB、JDBCX 和自定义 JDBC。新增的原生与 Agent 驱动还覆盖了 Databricks、SAP HANA、Teradata、Vertica、Firebird、Exasol、崖山 YashanDB、GBase、Databend、RQLite、Turso、InfluxDB、QuestDB、IoTDB、etcd、IRIS 等。全部装进约 20 MB 的应用里,不内嵌 Chromium。

查询编辑器

CodeMirror 6 语法高亮、元数据感知自动补全、Cmd+Enter 执行、选中 SQL 执行、SQL 格式化、诊断提示,9 种编辑器主题。查询历史、常用 SQL 片段、标签页恢复和 SQL 文件执行让重复工作更顺手。

AI SQL 助手

用自然语言描述你的需求,直接生成 SQL。还能解释查询、优化 SQL、修复错误,并通过内置安全检查执行 AI 生成的 SQL。支持 Claude、OpenAI、本地模型或任何 OpenAI 兼容端点。

数据表格

虚拟滚动,轻松应对大型结果集。行内编辑、保存前 SQL 预览、WHERE / ORDER BY 控件、DataGrip 风格过滤器、LIKE / NOT LIKE 右键过滤、排序、全文搜索、分页、列宽调整、自动列宽、行号、斑马纹和完整单元格详情。支持导出或复制为 CSV、JSON、Markdown、XLSX、INSERT 语句。

Schema 工具

  • 结构浏览 — 数据库、Schema、表、字段、索引、外键、触发器,支持侧边栏搜索和置顶
  • 对象浏览 — 按类型分组查看过程、函数、视图,并在支持的数据库中编辑源码
  • 表结构编辑器 — 对支持的数据库执行可审查的字段和索引变更
  • ER 关系图 — 可视化表间关联
  • Schema 对比 — 跨连接对比表结构差异
  • 执行计划 — 可视化查询执行计划
  • 字段血缘 — 字段级血缘分析
  • 数据库搜索 — 在大型 Schema 中快速查找对象

数据操作

  • 数据导入 — CSV、Excel
  • 数据迁移 — 在数据库之间迁移数据
  • 数据库导出 — 完整数据库导出
  • 数据对比 — 对比表数据并审查同步结果
  • SQL 文件执行 — 直接执行 .sql 文件
  • 文件预览 — 拖入 Parquet、CSV、JSON 即时预览(基于 DuckDB)
  • 连接导入 — 从 DBeaver 或 Navicat 导入连接配置

专项浏览器

  • Redis — 模式匹配搜索、批量键操作、命令执行器、TTL 编辑,全数据类型支持(String、Hash、List、Set、ZSet、Stream)
  • MongoDB — 文档增删改查、分页浏览,支持 Atlas 和副本集 URL 直连

安全与连接

SSH 隧道(密钥和密码认证)· 数据库和 AI 代理设置 · 断线自动重连 · 危险操作确认对话框 · 加密导出/导入连接配置 · 连接颜色标记 · 驱动商店与可选 JDBC 插件

精致 UI

深色模式原生标题栏同步 · 9 种编辑器主题 · English、简体中文、Español · 布局偏好设置 · 内置自动更新

AI 编程助手集成 (MCP)

DBX 提供 MCP Server,让 AI 编程助手直接使用 DBX 中已配置的数据库连接查询数据。

npx @dbx-app/mcp-server

.mcp.json 中添加:

{
  "mcpServers": {
    "dbx": { "command": "npx", "args": ["-y", "@dbx-app/mcp-server"] }
  }
}

连接 allowlist 和“只读 / 数据读写 / 完全访问”三档执行权限统一在 DBX 的“设置 → MCP”中管理。机器可读值仍为 read_onlysafe_writehigh_risk_write;客户端配置无需声明权限或连接范围环境变量。

为兼容升级,旧配置中的 DBX_MCP_ALLOW_WRITES=0(或 false)仅在中央 MCP 策略首次保存前继续作为只读限制;它不能开启写入,也不能覆盖已经保存的中央策略。

Windows 便携版需要在 MCP 配置中设置 DBX_DATA_DIR,指向 DBX.exe 同级的 data 目录(即包含 dbx.db 的文件夹)。

如果连接的是 DBX Web 或 Docker 部署,请让 MCP Server 指向 Web 后端 API。如果 Web 登录页需要密码,DBX_WEB_PASSWORD 填写同一个 Web 登录密码:

{
  "mcpServers": {
    "dbx": {
      "command": "npx",
      "args": ["-y", "@dbx-app/mcp-server"],
      "env": {
        "DBX_WEB_URL": "http://localhost:4224",
        "DBX_WEB_PASSWORD": "你的 Web 登录密码"
      }
    }
  }
}

支持 Claude Code、Cursor、Windsurf 等 MCP 兼容的 AI 助手。可列出连接、浏览表、执行 SQL,还能直接在 DBX 界面中打开表。

DBX 也提供独立 CLI 包,适合终端、脚本和 Codex 工作流:

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 说明CLI 说明

安装

Releases 页面下载最新版本。

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

Flatpak (Linux):

flatpak remote-add --if-not-exists flatpark https://dl.flatpark.org/flatpark.flatpakrepo
flatpak install flatpark com.dbxio.dbx

之后通过常规的 flatpak update 即可获取更新。详见 FlatPark 上的 DBX 页面

星火应用商店 / AmberPM (Linux):

通过星火应用商店一键安装,后续可直接在商店客户端中获取更新。

银河麒麟 V10、统信 UOS 等系统推荐选择 APM 版本,以减少发行版依赖差异导致的安装或启动问题。APM 在兼容环境中运行 DBX;如果为 Agent/JDBC 驱动选择宿主机 Java,需要在路径前添加 /host,例如将 /usr/bin/java 填写为 /host/usr/bin/java

自托管 (Docker)

DBX 提供 Web 版本,可通过 Docker 部署。示例使用 latest 标签以拉取当前发布版本。

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

这里使用跨平台的 dbx-data 命名卷。中国大陆用户可选用 CNB 镜像 docker.cnb.cool/dbxio.com/dbx:latest,以获得更快的拉取速度。

使用 Docker Compose 时,deploy/docker-compose.yml 保留为源码构建配置。 如需部署已发布的镜像,请使用 deploy/docker-compose.release.yml

docker compose -f deploy/docker-compose.release.yml up -d
services:
  dbx:
    image: t8y2/dbx:latest
    # 中国大陆用户可改用 CNB 镜像,以加快拉取速度:
    # image: docker.cnb.cool/dbxio.com/dbx:latest
    pull_policy: always
    ports:
      - "4224:4224"
    volumes:
      - dbx-data:/app/data
    restart: unless-stopped

volumes:
  dbx-data:

如需通过 nginx 等反向代理发布到 /dbx 这类子路径下,设置运行时上下文路径,并将同一前缀代理到容器:

environment:
  - DBX_PUBLIC_BASE_PATH=/dbx

如果自行从源码构建前端并希望使用绝对资源路径,可在 pnpm build 前设置 VITE_DBX_BASE_PATH=/dbx/

浏览器访问 http://localhost:4224。支持 amd64 / arm64 双架构镜像。

快速开始

环境要求

系统依赖

macOS:

无需额外安装。

Linux (Ubuntu/Debian):

sudo apt-get install -y libwebkit2gtk-4.1-dev libgtk-3-dev libappindicator3-dev librsvg2-dev patchelf libssl-dev

NIXOS/NIX :

查看 README-NIX.md

Windows:

无需额外安装。

开发

make

make 会在需要时安装根目录依赖,并启动本地 Tauri 桌面端开发环境。

开发版可与已安装的 DBX 同时运行,并共享本地连接和历史数据。请避免在两个窗口中同时修改同一个连接或全局设置。

Tip

DuckDB 从源码编译较慢。如果不涉及 DuckDB 功能,可以跳过以加速本地构建:

# 快速检查(跳过 DuckDB)
make cargo-check-fast
make cargo-test-fast

# Tauri 开发模式跳过 DuckDB
make dev-fast

--no-default-features 仅影响本地开发,发布构建(pnpm tauri build)始终包含 DuckDB。

Web 版本:

make dev-web       # 前端
make dev-backend   # 后端

文档站:

make docs

DBX 官网文档位于 docs/ 目录。如果你想贡献官网内容或文档页面,请修改 docs/ 下的文件,并运行 make docs 在本地预览文档站。

需要干净、可重复创建的本地数据库实例时,可使用 deploy/database/ 下的带版本 Docker Compose 配方:

make db-list
make db-verify DB=mysql@8.4

JDBC Agent 驱动开发工程位于 agents/ 目录:

cd agents
./gradlew test

本地驱动安装流程会优先查找 agents/drivers/<db-type>/build/libs/ 下的构建产物。

构建

make package

安装包输出在 src-tauri/target/release/bundle/ 目录。

技术栈

层级 技术
框架 Tauri 2
前端 Vue 3 + TypeScript
UI shadcn-vue + Tailwind CSS
编辑器 CodeMirror 6
后端 Rust + sqlx / tiberius / redis-rs / mongodb

文档

社区

Discord QQ 群 微信交流群 LINUX DO

赞助与捐助

DBX 是免费开源项目,但持续维护、数据库兼容性测试、基础设施建设和版本发布都需要长期投入时间与资源。

赞助商与合作伙伴

雨云 雨云是面向开发者和站长的云服务提供商,提供云服务器、物理服务器、游戏云和配套基础设施服务。 访问雨云
七牛云 七牛云为 DBX 提供对象存储、CDN 等云基础设施资源支持。 访问七牛云
Easysearch Easysearch 是一款企业级分布式搜索引擎,兼容 ES API、融合全文检索、向量检索、地理空间位置检索、实时分析与 AI 能力,为企业提供统一的数据检索与智能分析基础设施。 访问 Easysearch

常见问题

DBX 是免费的吗? 是的。DBX 基于 Apache-2.0 协议开源,所有功能均免费使用。
DBX 会收集用户数据吗? 不会。DBX 不收集任何遥测数据。自动更新功能仅检查 GitHub Releases 获取新版本——你可以在设置中禁用它。
可以离线使用吗?

可以。桌面端完全支持离线使用。内网环境安装驱动时,可在有网机器打开离线驱动下载页下载离线驱动包,传输到内网机器后,在 DBX 的「设置 > 驱动管理」中导入。AI 功能需要网络访问模型端点(或通过 Ollama 使用本地模型)。

DBX 和 DBeaver / TablePlus / Beekeeper Studio 有什么区别? DBX 仅 20 MB,无需运行时依赖(无需 Java、无需 Python)。AI 和 MCP 是原生内置功能,不是插件。单一代码库同时支持 70+ 数据库、桌面端、Docker 和 Web。
支持哪些数据库? MySQL、PostgreSQL、SQLite、Cloudflare D1、Redis、MongoDB、DuckDB、ClickHouse、SQL Server、Oracle、Elasticsearch、Easysearch、Qdrant、Milvus、Weaviate、MariaDB、TiDB、OceanBase、openGauss、GaussDB、KWDB、KingBase、Vastbase、GoldenDB、Doris、SelectDB、StarRocks、Manticore Search、Redshift、DM、TDengine、虚谷 XuguDB、CockroachDB、Access、HighGo、UXDB 等。JDBC 方向配置可扩展到 H2、Snowflake、Trino、PrestoSQL、Hive、DB2、Informix、Neo4j、Cassandra、BigQuery、Kylin、SunDB、JDBCX、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 History

Star History Chart

开源协议

Apache-2.0