GoForum🌐 V2EX

写了个不到 10MB 的开源数据库客户端,把 AI、图表、工作流都塞进去了

flyxl · 2026-08-07 22:42 · 0 次点赞 · 3 条回复

断断续续写了几个月,DataZen 终于到了 v0.0.8 。起因很朴素:日常要连 PostgreSQL 、MySQL ,偶尔还要看两眼 Redis ,商业客户端要订阅,DBeaver 功能全但启动和内存都偏重。于是自己动手,用 Tauri v2 + Rust + React 搓了一个桌面客户端,安装包不到 10MB ,GPLv3 开源,macOS 和 Windows 都支持。

本来只想做个「够用」的工具,结果做着做着就刹不住了。这版一口气把 AI 、图表可视化、工作流三条线都做了,分享一下现在能干什么:

🤖 AI 这块

  • 自然语言直接生成 SQL ,流式输出,点一下就能执行
  • SQL 写错了不用自己去翻文档,报错后 AI 定位原因,修正后的 SQL 一键应用
  • EXPLAIN 执行计划可视化,AI 帮你解读瓶颈在哪、怎么优化
  • 右侧栏 AI 对话,自动带上当前库的表结构做上下文,也能用 @ 引用本地文件
  • 表格筛选可以直接输入自然语言,比如「金额大于 1000 且状态是已发货」
  • 顺便还能生成 Schema 文档、排查连接失败原因、总结查询历史
  • Provider 支持 OpenAI / Anthropic / DeepSeek / 自定义端点,模型列表动态拉取,prompt 也可以按驱动或按用户覆盖

📊 图表这块

  • 查询结果一键从表格切到图表,自动推断字段类型并推荐合适的图
  • 折线、柱状、饼图、散点、面积五种,轴、聚合、分组都能配
  • 支持导出 PNG / SVG ,工作流里跑出来的结果也能直接画图

⚙️ 工作流这块

  • 用 YAML 定义自动化流程:查询 → AI 分析 → 条件分支 → 循环
  • 支持跨库编排,比如从 PG 订单库查出订单,再去 MySQL 物流库补物流信息,最后让 AI 汇总
  • 错误策略可以选 abort / skip / fallback ,超时可配
  • 运行入口很灵活:连接窗口里跑、独立窗口跑、MCP 里调,甚至直接让 AI 生成一份工作流

其他值得一提的:PG / MySQL / MariaDB 支持单连接浏览多个数据库;驱动做成插件机制,kiwi 、OLAP ( Presto / Trino )、Superset 可以按需编译进去;内置 MCP Server (--mcp-stdio 无头模式,可以接到别的 AI 工具里),也能作为 MCP Client 接外部服务; 10 种语言界面;连接密码走系统钥匙串,SSH 凭据加密存储,导入备份有 ZIP 炸弹防护。

下载在这里: https://github.com/flyxl/datazen/releases 仓库: https://github.com/flyxl/datazen

macOS 用户注意,应用还没做公证,首次打开如果提示「已损坏」,跑一下:

xattr -cr /Applications/DataZen.app

作为一个个人开源项目,功能边界和稳定性肯定还有很多不足,欢迎 star 、提 issue ,或者直接上手改。下一步打算把文档站和插件生态弄起来,有兴趣一起玩的可以来仓库聊聊。

3 条回复
ajaxfunction · 2026-08-08 00:17
#1

我用了一下,非常简洁 很棒。 不过缺点是少了 想 Navicat 核心的,sql 导入,sql 导出,按表、按库、按结构导入导出

flyxl · 2026-08-08 00:27
#2

@ajaxfunction 首页有备份数据库,恢复数据库的入口。导出单个表的数据确实没有,欢迎多提意见建议,我会尽快实现相关功能。另外这是刚做完的官网,可以看看 https://github.com/flyxl/datazen

flyxl · 2026-08-08 00:27
#3

@ajaxfunction 不好意思官网贴错了,正确的是这个 https://flyxl.github.io/datazen/

添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: flyxl
发布: 2026-08-07
点赞: 0
回复: 0