|
雨云是面向开发者和站长的云服务提供商,提供云服务器、物理服务器、游戏云和配套基础设施服务。 访问雨云 |
|
由 TrustAsia 提供代码签名云签服务,实现 CICD 自动化构建可信软件。 访问 TrustAsia |
|
Jalapeño Cloud 是 AI 基础设施与 Token 算力平台,通过 DBX 专属入口可享新用户免费额度与充值加赠。 访问 Jalapeño Cloud |
|
感谢 AICodeMirror 赞助了本项目!AICodeMirror 提供 Claude Code / Codex / Gemini CLI 官方高稳定中转服务,支持企业级高并发、极速开票、7×24 专属技术支持。Claude Code / Codex / Gemini 官方渠道低至 3.8 / 0.2 / 0.9 折,充值更有折上折!AICodeMirror 为 DBX 用户提供了特别福利,通过此链接注册的用户,可享受首充 8 折,企业客户最高可享 7.5 折! 访问 AICodeMirror |
|
HuaLongAI(华龙算力)是面向重度 AI 开发者的模型 API 中转服务商,主营 Codex 与 Claude 系列模型,100% 官方源直供、不掺假;计费透明,Token 级账单可逐笔核验,支持企业合同与发票。 访问 HuaLongAI |
|
UCloud 优刻得是国内首家公有云科创板上市公司,覆盖国内、亚洲、欧洲、北美等 28 个地域的云主机、数据库、CDN 等服务,注册享新客优惠 0.9 折起;星图 AstraFlow 大模型平台支持主流 200+ 大模型一键调用。 访问 UCloud 优刻得 |
|
Atlas Cloud 为开发者提供统一的多模态 AI API,可通过一个接口访问聊天、图像、视频和音频等 400+ 模型。 访问 Atlas Cloud |
|
七牛云为 DBX 提供对象存储、CDN 等云基础设施资源支持。 访问七牛云 |
|
1Panel 是现代化的开源 Linux 服务器运维管理面板与轻量级 AI 管理平台,提供直观易用的 Web 界面,支持 AI 智能体、本地大模型、网站、数据库、容器、文件等核心场景的一站式管理。 访问 1Panel |
|
Easysearch 是一款企业级分布式搜索引擎,兼容 ES API、融合全文检索、向量检索、地理空间位置检索、实时分析与 AI 能力,为企业提供统一的数据检索与智能分析基础设施。 访问 Easysearch |
🪶 25 MB,极致轻量无需 Java 运行环境,无需 Python 虚拟环境,不内嵌 Chromium。DBX 是单个小巧的二进制文件——下载、安装、连接。DBeaver 依赖 Java;TablePlus 是 Freemium。DBX 全平台可用,无需额外运行时。 |
🤖 AI 原生集成在编辑器里选中一张表,描述你想要什么,直接得到 SQL——无需在工具之间复制粘贴。支持 Claude、OpenAI,或通过 Ollama 使用本地模型。内置安全检查会在执行前审查 AI 生成的 SQL。 |
🔌 MCP 协议:你的数据库,AI 就绪DBX 原生支持 Model Context Protocol。Claude Code、Cursor、Windsurf 等 AI 编程助手可以直接通过你已配置的数据库连接查询数据。一次配置,处处可用。 |
🌐 桌面端 + Docker + WebmacOS、Windows、Linux 原生应用。通过 Docker 自托管供团队访问。Web 版本适配纯浏览器环境。同样的功能,同样的连接配置。 |
📨 不止数据库消息队列与中间件同样是一等公民:Kafka、RocketMQ、RabbitMQ、Pulsar、MQTT 控制台,外加 Nacos、Consul、ZooKeeper、etcd。在数据库旁边直接查看主题与消息,无需再开一个工具。 |
🧩 插件生态从内置商店安装经过签名校验的沙箱插件扩展 DBX——S3、Kubernetes、LDAP 等。也可以用 Go / TypeScript SDK 开发自己的插件。 |
银河麒麟 V10、统信 UOS 等系统推荐选择 **APM(AmberPM)版本**,以减少发行版依赖差异导致的安装或启动问题。APM 在兼容环境中运行 DBX;如果为 Agent/JDBC 驱动选择宿主机 Java,需要在路径前添加 `/host`,例如将 `/usr/bin/java` 填写为 `/host/usr/bin/java`。
## 自托管 (Docker)
关闭桌面应用或浏览器后继续定时备份,参见[后台数据库备份](docs/background-database-backups.md),其中包含 Windows、macOS、Linux 自启动及容器备份卷的配置说明。
DBX 提供 Web 版本,可通过 Docker 部署。示例使用 `latest` 标签以拉取当前发布版本。
```bash
# 默认将密钥保存在持久化的 /app/data 数据卷中。
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`:
```bash
docker compose -f deploy/docker-compose.release.yml up -d
```
```yaml
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:
```
连接、插件、AI 和 Tunnel 凭据写入 `dbx.db` 前会加密。桌面端使用本机凭据存储(macOS Keychain、Windows Credential Manager 或 Linux Secret Service)。Web/Docker 与直接运行 `dbx-web` 默认使用同一套数据目录托管密钥:`${DBX_DATA_DIR}/.dbx/secret.key`。只有在开始迁移或第一次写入敏感字段时才创建密钥;普通 Docker 部署只需持久化 `/app/data`,并且必须将 `.dbx/secret.key` 与 `dbx.db` 一起备份。该密钥不能防护整个数据卷被复制或泄露。
生产环境可以使用 Docker/Kubernetes Secret 覆盖托管策略:设置 `DBX_SECRET_KEY_FILE`,或由密钥管理系统提供 `DBX_SECRET_KEY`。显式密钥优先,已有密文使用期间不能轮换。密钥不可用时,业务 API 保持阻塞,浏览器显示数据安全升级页面。直接运行二进制时设置 `DBX_DATA_DIR=/var/lib/dbx`,即可使用 `/var/lib/dbx/.dbx/secret.key`。
升级包含历史明文凭据的版本时,桌面端和 Web 会在进入主界面前显示 **数据安全升级向导**。点击 **开始迁移** 后,软件会创建权限受限的备份,迁移旧数据库和 JSON 凭据,并验证密文可读取。失败时保留原始数据和备份,根据向导提示修复后点击 **重试**。成功页面会显示备份路径。确认连接可用后,可点击 **删除迁移备份**,二次确认后删除迁移备份目录和本次迁移生成的旧 JSON `.bak` 文件;其他备份不会删除。没有历史数据的新用户检查后直接进入主界面。
本机 CLI 和独立 MCP 可以复用同一设备已有的平台凭据存储,也可以读取显式配置的 `DBX_SECRET_KEY_FILE` 或 `DBX_SECRET_KEY`。它们不会在启动检查时创建密钥,也不会自动迁移历史数据。遇到 `DATA_MIGRATION_REQUIRED` 时,请先使用桌面端或 Web 打开同一数据目录,完成升级向导。没有平台凭据存储的无界面主机应配置持久化密钥。
跨设备导出使用独立的同步口令,导出包不包含本地存储密钥。直接复制 `dbx.db` 不能作为跨平台同步方式,因为本机平台密钥不会随数据库移动。请使用加密导出/导入,让目标设备使用自己的本地密钥保存凭据。
完整的设计、迁移状态、实现模块、排障和测试说明请参阅:[DBX 数据安全升级与迁移](docs/data-security-migration.zh-CN.md)。
如需通过 nginx 等反向代理发布到 `/dbx` 这类子路径下,设置运行时上下文路径,并将同一前缀代理到容器:
```yaml
environment:
- DBX_PUBLIC_BASE_PATH=/dbx
```
如果自行从源码构建前端并希望使用绝对资源路径,可在 `pnpm build` 前设置 `VITE_DBX_BASE_PATH=/dbx/`。
浏览器访问 `http://localhost:4224`。支持 amd64 / arm64 双架构镜像。
## 快速开始
### 环境要求
- [Node.js](https://nodejs.org/) >= 18
- [pnpm](https://pnpm.io/)
- [Rust](https://www.rust-lang.org/tools/install) >= 1.88
#### 系统依赖
**macOS:**
无需额外安装。
**Linux (Ubuntu/Debian):**
```bash
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:**
无需额外安装。
### 开发
```bash
make
```
`make` 会在需要时安装根目录依赖,并启动本地 Tauri 桌面端开发环境。
开发版可与已安装的 DBX 同时运行,并共享本地连接和历史数据。请避免在两个窗口中同时修改同一个连接或全局设置。
> [!TIP]
> DuckDB 从源码编译较慢。如果不涉及 DuckDB 功能,可以跳过以加速本地构建:
>
> ```bash
> # 快速检查(跳过 DuckDB)
> make cargo-check-fast
> make cargo-test-fast
>
> # Tauri 开发模式跳过 DuckDB
> make dev-fast
> ```
>
> `--no-default-features` 仅影响本地开发,发布构建(`pnpm tauri build`)始终包含 DuckDB。
Web 版本:
```bash
make dev-web # 前端
make dev-backend # 后端
```
文档站:
```bash
make docs
```
DBX 官网文档位于 `docs/` 目录。如果你想贡献官网内容或文档页面,请修改 `docs/` 下的文件,并运行 `make docs` 在本地预览文档站。
需要干净、可重复创建的本地数据库实例时,可使用 [`deploy/database/`](deploy/database/README.zh-CN.md) 下的带版本 Docker Compose 配方:
```bash
make db-list
make db-verify DB=mysql@8.4
```
JDBC Agent 驱动开发工程位于 `agents/` 目录:
```bash
cd agents
./gradlew test
```
本地驱动安装流程会优先查找 `agents/drivers/