[分享创造] 给数据库客户端装上 AI: NL2SQL、报错诊断、EXPLAIN 解读、跨库工作流,一个不到 10MB 的开源工具

flyxl 2026-08-08 00:28 1

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


主界面长这样:一个窗口管理所有连接,PostgreSQL / MySQL / SQLite / Redis 混在一起也没问题。


DataZen 主界面


🤖 AI 这块是重头


最常用的是自然语言生成 SQL 。想不起来表名或函数?直接说人话,AI 会结合当前库的表结构生成 SQL ,流式输出,点一下就能执行:


NL2SQL 生成 SQL


写错 SQL 也不用再去搜索引擎了。报错之后点「诊断」,AI 会告诉你错在哪、为什么错,修正后的 SQL 一键应用。比如我把 SELECT 拼成 SELEC,AI 直接指出少了字母 T:


SQL 错误诊断


慢查询怎么优化? EXPLAIN 执行计划可视化,树形展示每一步的代价,再让 AI 解读瓶颈在哪:


EXPLAIN 智能分析


📊 图表


查询结果不用导出到 Excel 了。一键从表格切到图表,自动推断字段类型、智能推荐图表类型,折线、柱状、饼图、散点、面积五种,支持导出 PNG / SVG:


查询结果一键成图


⚙️ Workflow 跨库自动化


这版我最满意的功能:用 YAML 把「查数 → 分析 → 决策」固化成流程,支持跨库执行。比如从 PG 订单库查出订单,再去 MySQL 物流库补物流信息:


跨库工作流执行


每个步骤可以绑定不同连接,支持条件分支、循环、错误策略( abort / skip / fallback ),还能在界面、MCP 或者 AI 对话里直接跑。


其他值得一提的



  • Redis 专属视图,String / Hash / List / Set / ZSet / Stream 都能看:
    Redis 视图

  • Provider 支持 OpenAI / Anthropic / DeepSeek / 自定义端点,模型列表动态拉取

  • 内置 MCP Server (--mcp-stdio 无头模式),也可以作为 MCP Client 接外部服务

  • 连接密码走系统钥匙串,SSH 凭据加密存储

  • 10 种语言界面,首次启动自动跟随系统语言


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


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


xattr -cr /Applications/DataZen.app

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

最新回复 (4)
  • shinelamla 08-08 15:06
    1
    那我建议看看 DBX
  • zengyufei 08-08 15:45
    2
    尴尬,用 AI 创造小工具就是这样,很容易撞车,而且别人的更好
  • flyxl 楼主 08-08 17:21
    3
    @shinelamla datazen 的 workflow 功能还是比较有特色的,对需要经常查询固定语句组合的场景比较有用,比如需要查询多个表的场景,以前是保存一组 sql 语句,每次查询都需要修改 where 参数,第一条 sql 查出来后再拿第一条的结果填第二条 sql 的 where ,现在只需要输入第一条 sql 的参数,后续 sql 会自动根据前面 sql 的结果填充参数继续执行。比较适合定位客诉问题,联调问题,固定测试场景等
  • flyxl 楼主 08-08 17:22
    4
    @zengyufei 不尴尬,至少解决了我们内部不少非标数据库访问问题,还节省了不少测试和线上问题定位时间
* 帖子来源V2EX
返回