0xErwin1/dbflux
0xErwin1/dbflux has 544 GitHub stars and 42 forks. GitHot measured +11 stars in 24 hours. Last checked 2026-11-10 23:13 UTC. Last push 2026-11-04.
A fast, keyboard-first database client built with Rust and GPUI.
实测星标增长
- 24小时
- +11
- 7天
- 更新延迟
- 15天
- 更新延迟
- 1个月
- 更新延迟
各周期内的星标净变化,周期相互重叠,并非每日新增。缺失的测量保持空白。星标代表关注度,不代表软件质量。
docs/zh_Hans/README.md
原文DBFlux
English · Español · 한국어 · 简体中文 · Português (Brasil)
一个可扩展、以键盘操作为先的数据平台,以 Rust + GPUI 桌面客户端的形式交付。
dbflux.dev · 文档 · 安装
概览
DBFlux 是一个开源桌面客户端,为关系型与非关系型数据库提供内置驱动。它的核心契约与具体驱动无关,外部驱动可以通过 RPC 接入。
客户端关注性能、简洁的 UX 与以键盘为先的工作流。长期目标是让每一个你使用的数据库,都由一个完全开源的客户端来承载。

文档
下面这些内容都会发布在 docs.dbflux.dev,由这些源文件渲染而成,并提供搜索与版本选择器。此处的链接指向源文件;如果你更习惯在站点上阅读,可以直接去站点看。
选择与你目标相符的路径。
从这里开始
| 目标 | 指南 |
|---|---|
| 创建连接 | 从快速开始开始。SSH 隧道、代理、AWS SSO 与值来源参见连接数据库 — 高级配置。 |
| 执行查询并掌握常用流程 | 按使用指南执行查询、浏览结果、绘制图表、导出结果并使用键盘导航。 |
| 查看审计事件 | 按审计查看器指南打开审计查看器。 |
| 使用 MCP | 参见AI + MCP 集成指南。 |
| 查看驱动支持与限制 | 参见驱动概览,它是能力与限制的权威说明。 |
更多用户指南
贡献者
- 贡献指南 — 环境搭建、检查项与贡献流程
- 核心概念 — 关于契约与子系统边界的简明心智模型
- 驱动开发 — 选择并实现内置 Rust 驱动或外部 RPC 驱动
- 架构 — 权威的架构与 crate 地图,包含 crate 边界与跨 crate 流程
翻译
DBFlux 的翻译工作在 Hosted Weblate 上进行。翻译目录位于 crates/dbflux_i18n/locales/,每种语言一个 YAML 文件,翻译更新以来自 Weblate 的拉取请求形式送达。贡献翻译涵盖了所有可翻译的界面:应用 UI、文档与网站。
参考
- 图表 — 图表类型、列类型与轴的自动检测
- 仪表盘 — 仪表盘、已保存图表、实例指标与检查器
- 审计 — 审计事件 schema 与脱敏
- 驱动 RPC 协议
- RPC 服务配置
- 发布流程
- 代码风格
- Agent 说明
- Claude 说明
安装
# Linux — 安装到 /usr/local
curl -fsSL https://raw.githubusercontent.com/0xErwin1/dbflux/main/scripts/install.sh | sudo bash
各平台都有对应的安装包 — tarball、AUR、.deb、.rpm、AppImage、Nix、macOS DMG 与 Windows 安装程序 — 都放在 Releases 页面。完整指南(包括未签名的 macOS 与 Windows 构建所需的 Gatekeeper 与 SmartScreen 步骤)见安装 DBFlux。在 macOS 与 Linux 上,也可以通过 Homebrew 安装:brew install --cask 0xErwin1/dbflux/dbflux。
功能
数据库支持
- PostgreSQL,支持 SSL/TLS 模式(Disable、Prefer、Require)
- Amazon Redshift,基于 PostgreSQL 线协议的只读 SQL,支持 SSH 隧道与 TLS / 客户端证书
- MySQL / MariaDB
- SQLite,用于本地数据库文件
- Microsoft SQL Server(TDS),支持 TLS、经 SQL Browser 的命名实例路由与多 Schema 检查
- MongoDB,支持集合浏览、文档增删改查与 shell 查询生成
- Redis,支持全部类型的键浏览(String、Hash、List、Set、Sorted Set、Stream)
- DynamoDB,支持表浏览、条目增删改查与 AWS 身份验证
- InfluxDB v1 与 v2(v1 为 InfluxQL,v2 为 InfluxQL + Flux)
- ClickHouse 与 ClickHouse Cloud,基于 HTTP(S),支持数据库 / 表发现、可视化 SELECT 与显式的原始 SQL 执行
- TursoDB 与 libSQL(
sqld),基于 HTTP,支持 Schema 发现、类型化增删改查以及按编辑器标签页隔离的交互式事务 - DuckDB 文件与内存数据库,连接时可挂载 DuckLake 目录
- CloudWatch Logs,支持日志组 / 流浏览与事件流
- Amazon S3,支持存储桶浏览、对象预览 / 编辑、完整增删改查与预签名 URL,并兼容 S3 端点(Cloudflare R2、MinIO)
- AWS Secrets Manager 与 Parameter Store,支持分页列表、参数路径浏览、密钥详情,以及仅在显式请求时进行并经过审计的值读取
- 基于 RPC 的外部驱动(通过驱动 RPC 协议注册进程外驱动)
完整能力矩阵与各驱动限制参见 docs/DRIVERS.md。
用户界面
- 基于文档的工作区,支持多个结果标签页(类似 DBeaver / VS Code)
- 可折叠、可调整大小的侧边栏,配合 ToggleSidebar 命令(Ctrl+B)
- Schema 树浏览器,针对大型数据库采用延迟加载
- Schema 级元数据:索引、外键、约束、自定义类型(PostgreSQL)
- 每个 Schema 下的存储过程 / 例程文件夹(取决于驱动是否暴露)
- 多标签页 SQL 编辑器,支持语法高亮与多语句执行(驱动支持时,每条语句一个结果集)
- 虚拟化数据表,支持列宽调整、横向滚动与排序
- 表浏览器,支持
WHERE筛选、自定义LIMIT与分页 - 工作区检查器侧栏,用于查看行 / 文档详情
- 「复制为查询」上下文菜单,可将 INSERT / UPDATE / DELETE 复制为 SQL、MongoDB shell 或 Redis 命令
- 查询预览模态框,按语言提供语法高亮
- 命令面板,支持模糊搜索
- 自定义 Toast 提示,支持自动消失
- 后台任务面板
- 会话恢复:启动时恢复已打开的标签页,恢复出的草稿若与文件内容不同,绝不会覆盖该文件
可视化查询构建器
- 右侧栏 SELECT 构建器:投影、连接、可嵌套的
WHERE谓词树、ORDER BY与LIMIT/OFFSET,并带实时参数化 SQL 预览 GROUP BY与聚合(COUNT、SUM、AVG、MIN、MAX)及HAVING- 可视化 UPDATE / DELETE 构建器,带变更策略(只读 / 需要审批)与可分块、可取消的执行
- 构建器输入框与结果
WHERE筛选框均提供 Schema 感知自动补全 - 结果筛选栏支持关系型筛选:通过点分外键路径(例如
created_by.email LIKE '%@acme.com') - 当构建器生成的结果与单一表 1:1 映射时,支持内联编辑单元格与删除行
- 按连接保存可视化查询
- 仅支持 SQL 驱动(SQLite、PostgreSQL、MySQL/MariaDB、SQL Server);架构上与驱动无关
图表与可视化
- 可为任意查询或集合结果绘制图表:Line(折线图)、Bar(柱状图)、Scatter(散点图)、Area(面积图)、Stacked Bar(堆叠图)与 Pie(饼图)
- 依据列类型自动检测轴(时间列作 X 轴,数值列作 Y 序列)— 不依赖任何按驱动定制的启发式规则
- 已保存的图表会作为独立的文档标签页重新打开
- 仪表盘:在 12 列网格上排布已保存图表、分隔线与检查器面板,共享同一时间范围
- 每个连接的只读实例概览 — 实时服务器指标与表格化检查器,支持「另存为可编辑」;PostgreSQL、MySQL/MariaDB、MongoDB、Redis 与 SQL Server 均随附实例目录
- 浏览并导入上游提供商的仪表盘(CloudWatch)
- 详见 docs/CHARTS.md 与 docs/DASHBOARDS.md
连接与访问
- SSH 隧道支持密钥、密码与 agent 认证;SSH 隧道配置可复用
- SOCKS5 / HTTP CONNECT 代理隧道,代理配置可复用
- 托管访问提供程序(AWS SSM),无需暴露端口即可连接
- 由提供程序驱动的认证配置文件(例如 AWS SSO / shared / static),支持从
~/.aws/config导入 - 在连接前(PreConnect)、连接后(PostConnect)、断开前(PreDisconnect)与断开后(PostDisconnect)阶段执行的连接 Hook,可作为命令、脚本或进程内 Lua 执行
AI 与 MCP 集成
- 内置 Model Context Protocol(MCP)服务器(
dbflux mcp),供 AI 客户端使用 - 治理层:操作分类、角色 / 策略引擎、受信客户端,以及对写入 / 破坏性操作的人工审批流程
- 参见 docs/MCP_AI_INTEGRATION.md
审计与脚本
- 基于 SQLite 的审计日志,记录查询、连接、Hook、脚本、MCP、治理与配置事件,支持脱敏与查询指纹 — 参见 docs/AUDIT.md
- 集中式的用户错误上报:失败以 Toast 提示呈现,附带关联 ID 与「在审计中查看」操作,驱动状态栏的错误徽标,并与对应的审计记录相关联
- Lua、Python 与 Bash 脚本以文档形式执行,输出实时流式呈现 — 参见 docs/LUA.md
键盘导航
- 全局采用 Vim 风格导航(
j/k/h/l) - 随上下文变化的快捷键(文档、侧边栏、后台任务)
- 文档聚焦,可在编辑器 / 结果之间导航
- 结果工具栏:
f聚焦,h/l导航,Enter编辑 / 执行,Esc退出 Ctrl+B切换侧边栏Ctrl+Tab/Ctrl+Shift+Tab按最近使用顺序切换标签页
查询管理
- 带时间戳的查询历史
- 已保存的查询与收藏
- 在历史与已保存查询中搜索
导出
- 按结果形态导出:CSV、JSON(美化 / 紧凑)、文本、二进制(原始 / Hex / Base64)
- 导出格式由结果类型决定(表格、JSON、文本、二进制)
开发
前置条件
在 Linux 上,本地构建必须安装 mold 链接器:仓库的 .cargo/config.toml 为 x86_64-unknown-linux-gnu 目标指定了 -fuse-ld=mold,以降低 60 多个 workspace crate 的链接时间与内存占用。Nix 开发 Shell 会自动提供它;非 Nix 环境请用包管理器安装(下方已包含)。Windows 与 macOS 使用各自的默认链接器,不受影响。
Ubuntu/Debian:
sudo apt install pkg-config libssl-dev libdbus-1-dev libxkbcommon-dev mold
Fedora:
sudo dnf install pkg-config openssl-devel dbus-devel libxkbcommon-devel mold
Arch:
sudo pacman -S pkg-config openssl dbus libxkbcommon mold
macOS:
# Xcode Command Line Tools(必需)
xcode-select --install
Windows:
# Visual Studio Build Tools 的 C++ 工作负载(必需)
# 下载地址:https://visualstudio.microsoft.com/visual-cpp-build-tools/
构建
cargo build -p dbflux --release
运行
cargo run -p dbflux
命令
cargo check --workspace # 类型检查
python3 scripts/lint.py clippy # Lint
python3 scripts/lint.py fmt # 格式化
cargo test --workspace # 测试
用 nextest 加速测试
cargo-nextest 是本 workspace 推荐的测试运行器:它让每个测试在自己的进程中运行,并统一调度到全局进程池,在这个体量的 workspace 上明显快于 cargo test。Nix 开发 Shell 已内置;否则请从 https://nexte.st/docs/installation 安装。
cargo nextest run --workspace # 单元测试 + 集成测试
cargo test --doc --workspace # 文档测试(nextest 不运行这些)
实时集成测试(通常带 #[ignore])在 nextest 下使用另一个开关:
cargo nextest run -p dbflux_driver_sqlite --run-ignored all
网站
web/ 下的站点是 Astro 静态构建。它从 git 中读取 docs/、各驱动的 README、ARCHITECTURE.md 与 CONTRIBUTING.md,每个已发布版本各读一套,因此只要编辑文档,站点展示的内容就会随之改变。
cd web
pnpm install
pnpm dev # 本地服务器
pnpm build # 静态产物输出到 web/dist
pnpm check # 类型检查
pnpm format # prettier
发布哪些版本在 web/versions.json 中声明。每个条目指定一个 git ref,展示的产品版本号从该 ref 的 Cargo.toml 读取。
DOCS_MODE 决定文档从哪里提供:embedded(默认值,全部内容位于同一源站下的 /docs/),或者 site 与 docs(拆分部署到两个主机)。本地开发使用默认值,因此一条命令即可启动整个站点。
Nix 开发 Shell
如果你使用 Nix,可以进入包含全部依赖的开发 Shell:
# 使用 flakes
nix develop
# 传统方式
nix-shell
许可证
MIT 与 Apache-2.0
星标历史
贡献者
探索相关项目
Asabeneh/30-Days-Of-Python
30 Days of Python 编程挑战是一份循序渐进的指南,用于在 30 天内学习 Python 编程语言。这项挑战可能需要超过 100 天。请按自己的节奏进行。这些视频或许也有帮助:https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw
78,560 星标grafana/grafana
开放且可组合的可观测性与数据可视化平台。可对来自 Prometheus、Loki、Elasticsearch、InfluxDB、Postgres 等众多数据源的指标、日志和追踪进行可视化。
77,830 星标redis/redis
对于正在构建实时数据驱动应用的开发者而言,Redis 是首选、速度最快且功能最丰富的缓存、数据结构服务器和文档与向量查询引擎。
77,395 星标apache/superset
Apache Superset 是一个数据可视化与数据探索平台
75,473 星标