#datazen
连续肝了好几周, tauri 开发的轻量级数据库管理软件 DataZen v0.2.0 版本终于发布了
## 前言 之前在 V2EX 上发了两篇关于 DataZen 的帖子,尤其是上一篇发完之后有很多朋友到 github 上给了 star ,特别感谢大家的支持,同时也有很多朋友提出了宝贵的意见,让我意识到这个赛道的竞争到底有多激烈。重量级传统选手有 Navicat/DataGrip/DBeaver/TablePlus 等等,最近的 DBX 也很火功能也很强大。既然这个赛道竞争这么激烈,我为啥还要继续做 v0.2.0 版本呢,实事求是的说,一个是 vibe coding 极大的降低了开发成本,另一个也是寻求一个技术人的最后尊严吧:还想在这个代码急剧贬值的时代证明自己的价值,我可以不写代码了,但是我依然可以做出一个架构良好的软件,我做的软件依然比绝大部分零编程基础的人用 vibe coding 出来的软件要好。接下来就给大家简单介绍一下 DataZen 的大体架构。 ## DataZen 的大体架构 总体上来说,DataZen 采用的是 Host + 插件的架构。插件又包括运行时插件、编译期插件以及外观主题插件、Workspace App 。 ### 一、编译期插件(驱动插件) 编译期主要是用来支持不同的数据库 driver ,这个方案的灵感来自 Caddy 的 xcaddy 方案:在编译前选择我需要使用到的功能模块,通过编译脚本将所需模块写入 main.go 中的 import 部分,编译后就自然带上了选择好的功能模块。那为啥用这个方案呢?主要是 rust 的 ABI 兼容做得不咋地,如果做成 DDL 会存在不可控的二进制兼容性问题。当然也可以考虑将驱动做成独立的进程,host 和驱动插件之间通过进程间通信来控制数据库操作,但这个方案相对比较复杂,暂时不考虑。 Driver 插件有几个要考虑的点: * 既然是走插件架构,那就要做到插件相关的逻辑不能污染侵入到 host 中,比如不能在 host 中有 `if driver == 'postgre'` 这种代码,必须保证 host 对具体 driver 的内部实现逻辑是无感知的。要做到这一点,就要设计好一套 driver api 接口规范,各个 driver 插件按照这个 api 接口规范来实现,driver 通过 host 提供的注册机制将自己注册到 host 的 supported drivers 中,host 只会调用 driver api 接口中定义好的方法,不会直接显式调用某个 driver 的方法。用 java 的话来说就是:面向接口编程。 * 不同的 driver 所需要的前端页面也会存在一些差异,比如 redis 这类 NoSQL 数据库就不适用 SQL 编辑器。为了解决这个问题,在 driver 包里除了和数据库打交道的 rust 代码,还引入了展现层需要的前端 react ui 代码。当然并不是每个驱动都需要实现自己的前端 UI 代码,host 默认提供了一套面向 SQL 的 UI 界面,只有像 redis/mongodb 这样的数据库才需要自己重新实现一遍前端页面。 * 驱动测试代码也不能写到 host 中,因为 host 不知道最终会有哪些驱动是需要加入到最终的编译过程的。 * 编译流程怎么办?怎么做到类似 xcaddy 的按需编译?这一块是通过开发一套编译脚本,在编译时指定 `--drivers=mysql,postgresql,redis,xxx` 来选择要打包进可执行程序的驱动来实现的。 ### 二、运行时插件 这部分主要是为了解决 UI 增强问题,实现时参考了 VSCode 中 Extension Point 的做法:在 host 中定义好可以通过 extension 来进行扩展的扩展点,由 extension 覆盖注册扩展点挂载函数,运行时 host 会调用 extension 的挂载函数,然后由 extension 接管相关功能。这部分是在 v0.2.0 版本中引入的,主要是做了 SQLEditor 的编辑体验增强。 ### 三、主题插件 这个就比较简单,主要是通过定义 css 变量等方式对主题进行覆盖 ### 四、Workspace App 从产品形态上来看,Workspace app 更像是 chrome 的 extension:允许插件编写完整的 html 页面,可在页面内执行内嵌/本地 JS ,通过 postMessage 和 host 进行通信。host 也会暴露自身的一些能力给 workspace app ,比如查询连接列表、执行 SQL 等。 #### 1. Workspace App 能干什么? 举个例子:我有个应用,应用内配置保存在数据库中,配置比较复杂,我想比较生产环境和测试环境的配置差异。针对这类需求,做法可能有几种: * 写复杂 SQL 分别从测试环境和生产环境获取到配置内容,然后再裸眼比较 * 写个 脚本/小程序 分别从测试环境和生产环境获取到配置内容,再用脚本获取差异 * 做得更好一点,在某个 console 里做个页面,分别拉取数据进行比较 * 用 DataZen 的 Workspace App 来实现可视化比较 #### 2. 为什么要用 Workspace App 来做? 用 Workspace App 来做是因为 vibe coding 时代,写代码已经成本极低,AI 在短时间内完全可以做出一个专业的差异对比页面(当然你也可以 vibe coding 一个页面+本地 server 实现相同效果,但使用 Workspace App 的好处是能统一管理数据库凭证等信息)。 ##### 3. 怎么做? 丢一个 Workspace App 开发规范和示例给编码 agent ,再描述请求需求,让 AI 给你打工。喝喝咖啡上个 V2EX 摸一下鱼,一会赛博打工人就给你整好了。 ## 说说为什么要选插件架构 先说个题外话:这个项目其实从去年就开始做了,之前选型用的是 tauri + sevlte ,当时选 sevlte 主要是看重它没有虚拟 dom 带来的高性能。但开发过程中一直没有解决 macos 上的焦点以及事件在父子组件之间传递的问题,进展缓慢。大概两个月前,决定重写,这次让 AI 参与技术选型决策,AI 选了 React😂。但确实换成 React 之后,很多之前一直没解决的问题一下子就容易解决起来了(当然也有模型能力提升的原因)。 趁着重写的契机,重新思考了软件架构,最终决定采用插件架构,主要考虑点有几个: * 不是所有人都需要同时支持那么多类型数据库,可能大多数人只需要 mysql+redis ,需要给这类人一个自己 DIY 的机会。 * 我们公司内部访问线上数据库是有专门的 web 平台,只能提供 http 接口,而且也不合适在开源软件里直接包含调用公司内部平台的代码。 * 对哪些像我一样需要用到一些特殊驱动但是又不想开源的人来说,需要给他们一条实现自己需求的路径。 * 后续可以扩展插件商店,支持付费驱动或者增强功能体验。我始终认为有付费可能的生态才会是一个健康的生态:有人愿意付费就会有人愿意开发对应的需求。 ## 最后,说点开发过程中的体会 * 现在的顶尖模型真的很强,但我大部分时候都是用的二线模型和免费模型,能做到这个程度很大因素是会经常回头看架构是否合理,是否有需要调整的地方,并且经常整理系统架构文档,开发规范文档等,这一步确实比较重要,让 AI 绝大部分时间都是在正确的方向上。 * 有时候担心自己对某个问题描述不明确,这时我会跟简单描述我的问题,然后让 AI 开 subagent 去解决问题,parent agent 在向 subagent 派发任务的时候会把问题描述得更清楚。我不确定这是否是最佳实践,但从结果来看效果还不错。 * 测试过程真的很痛苦。功能不是开发完了直接丢出来就好了,发布之前仍然需要做很多的测试,作为一个桌面端应用,很多时候仍然免不了手工测试。虽然在项目中做了很多自动化测试,但仍免不了手动测试。作为一个后台开发,这真的很痛苦。 * 随着开发过程不断的深入,发现 DataZen 和竞品差距仍然很大,有好几次都想放弃,但是还是坚持了下来。在这里要真心的感谢 V2EX 的网友们,是你们给的 github star 带个了我很大的动力。 ## 最最后,打个广告 ### v0.2.0 新功能 <video src="https://flyxl.github.io/datazen/assets/video/demo-recording.mp4" controls width="100%" poster="https://flyxl.github.io/datazen/assets/video/demo-poster.png"></video> 1. **首次运行引导向导** :3 步快速上手(连接示例库 → 探索 AI → 开始使用),8 种语言,状态可恢复。 2. **4 模式执行策略** :Run Current / Run All / Run Selection / Ask ,工具栏一键切换。 3. **SQL Snippets 管理** :设置页自定义代码片段,实时注入编辑器补全。 4. **Paste as IN** :`Cmd+Shift+V` 一键将多行文本转为 `IN ('a', 'b')`。 5. **危险执行拦截** :无 WHERE 的 UPDATE/DELETE 强制红色弹窗二次确认。 6. **占位符防 NULL** :未赋值参数直接拦截,防止隐式全表更新。 7. **Schema Diff DAG 拓扑排序** :按外键依赖顺序生成 DDL ,避免引用目标缺失报错。 8. **Extension Points 热插拔** :运行时加载 SQL Editor Pro 扩展,CodeMirror Compartment 动态重组。 9. **EP 签名验证** :扩展包防篡改校验。 10. **暗色主题全面刷新** + 亮色主题微调。 11. **i18n 领域包架构** :14 个领域包按需惰性加载,首屏更小。 12. **四维扩展体系** :Driver / Theme / EP / Wapp ,为插件商店生态奠基。 13. **E2E 并行化** :分组并行 + 每 worker 独立数据库,CI 更快更稳。 14. **官网重塑** :去 AI 味、Hero 重写、场景卡片、SEO 结构化数据。 * * * **一句话总结 DataZen 的定位** : DataZen 适合作为日常开发、排查问题、本地调试时的一个**轻快、顺手、不占内存的开源替代品** 。如果你的业务重度依赖复杂的数据库端存储过程编写或大型商业库,DataGrip 依然是更专业的选择;但如果你受够了厚重和慢,想找一个干净、轻量、平时挂在后台没负担的现代客户端,DataZen 会很适合你。 * * * ### 开源地址与下载 * **GitHub 代码仓库** :https://github.com/flyxl/datazen (如果觉得还过得去,求个 Star 鼓励一下 ⭐) * **v0.2.0 Release 下载** :https://github.com/flyxl/datazen/releases/tag/v0.2.0 业余项目难免有考虑不周或者小 bug ,非常欢迎各位 V 友试用体验。如果遇到任何卡顿、报错,或者有想吐槽的交互,直接在帖子里回复或者提 GitHub Issue ,我都会认真拜读和迭代。 同时也欢迎各位一起来共建 DataZen ,做一款属于我们自己的软件! 谢谢大家!
www.v2ex.com
September 14, 2026 at 10:57 AM
datazen-bin
Lightweight, open-source AI database client
aur.archlinux.org
September 3, 2026 at 4:05 AM
datazen
Lightweight, open-source AI database client
aur.archlinux.org
September 3, 2026 at 4:05 AM
公司不让装 Navicat 了,就自己写了一个数据库客户端
写代码十几年了。之前也给孩子们做过几个 Android 小应用,背单词、练口算那种,他们用得还行。 但那些说到底还是「给别人用」。**DataZen 是我第一次想只为自己做一个软件。** 起因很现实:公司合规不让装 Navicat 了。DBeaver 能用,但日常用起来总觉得差点意思。正好赶上 vibe coding 这股风,心想不如自己试一把,看能不能做出一个**真正工业级、能天天拿来干活** 的数据库客户端。 不是玩票,也不是 demo 。就是给自己用。 * * * ## 两个具体痛点 ### 1. 查线上问题,经常要串好几张表,还跨库 处理投诉、排查线上问题,流程大概是这样: * 先查表 A ,拿到某个 ID 或状态 * 用这个值去查表 B * 再查 C 、D…… * 更麻烦的是,这些表往往不在同一个库,没法直接 JOIN * 只能等上一条 SQL 跑完,把结果里的字段复制出来,填到下一条 SQL 的 WHERE 里 一条链路下来,复制粘贴十几次是常态。烦,还容易填错。 所以做了 **Workflow** :用 YAML 把多步查询串起来,上一步的结果可以直接传给下一步,不同步骤还可以连不同的库。查一次,整条链路跑完。 ### 2. 老板要数据,要报表 做开发的都懂。临时要个数字、要张图,经常就是「帮查一下上周 xxx 」「对比一下这个月和上个月」。每次打开客户端、写 SQL 、导出、贴到 PPT 或飞书里,重复劳动很多。 所以做了 **运营看板( Dashboard )** :把常用 SQL 和图表保存下来,定时刷新,多个指标放在一页。老板要看的时候,打开就行,不用每次重新查。 这两个功能,都是我自己日常真的会用到的东西。不是看竞品有什么就抄什么。 * * * ## 做下来的一些体会 一路做下来,也踩了不少坑。 很多功能远看很简单,真正做深才发现不容易。SQL 编辑器、Schema 浏览、大结果集性能、不同数据库方言差异……每个点都能耗掉不少时间。AI 相关的能力也做了(自然语言生成 SQL 、错误诊断、EXPLAIN 分析),但对我来说,**Workflow 和 Dashboard 才是最先想解决的** 。 以前总觉得自己还算懂产品,至少比纯写后端的同事更关心体验。做着做着才发现,离「优秀的产品经理」还差得远。中间有好几次,差点去做一些「技术上很酷、但日常用不上」的东西。后来慢慢学会问一句:**这个功能,是不是在解决我自己的真实问题?** 产品还是要回到用户的痛点上。对我自己来说,就是上面那两件事。 * * * ## DataZen 是什么 **DataZen** 是一个开源的数据库客户端,Tauri + Rust + React ,macOS / Windows / Linux 都能用。 除了 Workflow 和 Dashboard ,还有这些: ### 日常查库 * SQL 编辑器、Schema 树、结果集查看 * 支持 PostgreSQL 、MySQL 、SQLite 、Redis 等,更多数据库通过 Driver 扩展 * SSH 隧道,连接信息本地加密存储 ### AI 辅助(有,但不是全部) * 自然语言生成 SQL ,会带当前库的 Schema * SQL 报错诊断、EXPLAIN 分析 * 支持 OpenAI 、Anthropic 、DeepSeek 和自定义接口 ### 查询结果转图表 * 查完直接看图,折线、柱状、饼图等,可导出 PNG/SVG ### MCP * 可以作为 MCP Server ,把数据库能力暴露给 Cursor 等外部工具 * 也可以接外部 MCP Server 到 AI Chat * 支持无头 stdio 模式 ### Driver 插件 * 数据库能力通过 Driver API 扩展,社区可以贡献新数据库支持 还有 ER 图、Schema Diff 、数据同步、导出等,文档里都有。 ### 本地优先,开源免费 * 不用注册账号 * 连接和凭据留在本机 * GPLv3 开源 * * * ## 还不完美 说实话,DataZen 离「极致好用」还有距离。 很多功能能用,但还不够顺手。交互细节、边界情况、各数据库的打磨,都需要时间,也需要更多人的使用反馈。 我一个人做,速度有限。所以开源了——不是因为它已经很好,而是希望有人一起把它做好。 如果你也天天和数据库打交道,欢迎: * GitHub 点个 Star: https://github.com/flyxl/datazen * 提 Issue 说 bug 或体验问题 * 讨论功能方向 * 贡献代码、Driver 、文档 * * * ## 最后 做一个「只为自己」的软件,听起来挺理想,过程其实挺磨人的。会怀疑值不值得做,会在细节上卡住,也会在产品方向上走弯路。 但如果有一个你自己每天都会遇到的问题,值得花时间做一个能用的版本出来。先能用,再慢慢改。 **链接** * 项目地址: https://github.com/flyxl/datazen * 下载: https://github.com/flyxl/datazen/releases * 中文文档: https://flyxl.github.io/datazen/zh/manual.html 也想听听大家:**你平时用数据库客户端,最烦的一件事是什么?** 这个对我比任何功能清单都有用。
www.v2ex.com
August 29, 2026 at 7:43 AM
公司不让装 Navicat 了,就自己写了一个数据库客户端
写代码十几年了。之前也给孩子们做过几个 Android 小应用,背单词、练口算那种,他们用得还行。 但那些说到底还是「给别人用」。**DataZen 是我第一次想只为自己做一个软件。** 起因很现实:公司合规不让装 Navicat 了。DBeaver 能用,但日常用起来总觉得差点意思。正好赶上 vibe coding 这股风,心想不如自己试一把,看能不能做出一个**真正工业级、能天天拿来干活** 的数据库客户端。 不是玩票,也不是 demo 。就是给自己用。 * * * ## 两个具体痛点 ### 1. 查线上问题,经常要串好几张表,还跨库 处理投诉、排查线上问题,流程大概是这样: * 先查表 A ,拿到某个 ID 或状态 * 用这个值去查表 B * 再查 C 、D…… * 更麻烦的是,这些表往往不在同一个库,没法直接 JOIN * 只能等上一条 SQL 跑完,把结果里的字段复制出来,填到下一条 SQL 的 WHERE 里 一条链路下来,复制粘贴十几次是常态。烦,还容易填错。 所以做了 **Workflow** :用 YAML 把多步查询串起来,上一步的结果可以直接传给下一步,不同步骤还可以连不同的库。查一次,整条链路跑完。 ### 2. 老板要数据,要报表 做开发的都懂。临时要个数字、要张图,经常就是「帮查一下上周 xxx 」「对比一下这个月和上个月」。每次打开客户端、写 SQL 、导出、贴到 PPT 或飞书里,重复劳动很多。 所以做了 **运营看板( Dashboard )** :把常用 SQL 和图表保存下来,定时刷新,多个指标放在一页。老板要看的时候,打开就行,不用每次重新查。 这两个功能,都是我自己日常真的会用到的东西。不是看竞品有什么就抄什么。 * * * ## 做下来的一些体会 一路做下来,也踩了不少坑。 很多功能远看很简单,真正做深才发现不容易。SQL 编辑器、Schema 浏览、大结果集性能、不同数据库方言差异……每个点都能耗掉不少时间。AI 相关的能力也做了(自然语言生成 SQL 、错误诊断、EXPLAIN 分析),但对我来说,**Workflow 和 Dashboard 才是最先想解决的** 。 以前总觉得自己还算懂产品,至少比纯写后端的同事更关心体验。做着做着才发现,离「优秀的产品经理」还差得远。中间有好几次,差点去做一些「技术上很酷、但日常用不上」的东西。后来慢慢学会问一句:**这个功能,是不是在解决我自己的真实问题?** 产品还是要回到用户的痛点上。对我自己来说,就是上面那两件事。 * * * ## DataZen 是什么 **DataZen** 是一个开源的数据库客户端,Tauri + Rust + React ,macOS / Windows / Linux 都能用。 除了 Workflow 和 Dashboard ,还有这些: ### 日常查库 * SQL 编辑器、Schema 树、结果集查看 * 支持 PostgreSQL 、MySQL 、SQLite 、Redis 等,更多数据库通过 Driver 扩展 * SSH 隧道,连接信息本地加密存储 ### AI 辅助(有,但不是全部) * 自然语言生成 SQL ,会带当前库的 Schema * SQL 报错诊断、EXPLAIN 分析 * 支持 OpenAI 、Anthropic 、DeepSeek 和自定义接口 ### 查询结果转图表 * 查完直接看图,折线、柱状、饼图等,可导出 PNG/SVG ### MCP * 可以作为 MCP Server ,把数据库能力暴露给 Cursor 等外部工具 * 也可以接外部 MCP Server 到 AI Chat * 支持无头 stdio 模式 ### Driver 插件 * 数据库能力通过 Driver API 扩展,社区可以贡献新数据库支持 还有 ER 图、Schema Diff 、数据同步、导出等,文档里都有。 ### 本地优先,开源免费 * 不用注册账号 * 连接和凭据留在本机 * GPLv3 开源 * * * ## 还不完美 说实话,DataZen 离「极致好用」还有距离。 很多功能能用,但还不够顺手。交互细节、边界情况、各数据库的打磨,都需要时间,也需要更多人的使用反馈。 我一个人做,速度有限。所以开源了——不是因为它已经很好,而是希望有人一起把它做好。 如果你也天天和数据库打交道,欢迎: * GitHub 点个 Star: https://github.com/flyxl/datazen * 提 Issue 说 bug 或体验问题 * 讨论功能方向 * 贡献代码、Driver 、文档 * * * ## 最后 做一个「只为自己」的软件,听起来挺理想,过程其实挺磨人的。会怀疑值不值得做,会在细节上卡住,也会在产品方向上走弯路。 但如果有一个你自己每天都会遇到的问题,值得花时间做一个能用的版本出来。先能用,再慢慢改。 **链接** * 项目地址: https://github.com/flyxl/datazen * 下载: https://github.com/flyxl/datazen/releases * 中文文档: https://flyxl.github.io/datazen/zh/manual.html 也想听听大家:**你平时用数据库客户端,最烦的一件事是什么?** 这个对我比任何功能清单都有用。
www.v2ex.com
August 28, 2026 at 8:32 PM
公司不让装 Navicat 了,就自己写了一个数据库客户端
写代码十几年了。之前也给孩子们做过几个 Android 小应用,背单词、练口算那种,他们用得还行。 但那些说到底还是「给别人用」。**DataZen 是我第一次想只为自己做一个软件。** 起因很现实:公司合规不让装 Navicat 了。DBeaver 能用,但日常用起来总觉得差点意思。正好赶上 vibe coding 这股风,心想不如自己试一把,看能不能做出一个**真正工业级、能天天拿来干活** 的数据库客户端。 不是玩票,也不是 demo 。就是给自己用。 * * * ## 两个具体痛点 ### 1. 查线上问题,经常要串好几张表,还跨库 处理投诉、排查线上问题,流程大概是这样: * 先查表 A ,拿到某个 ID 或状态 * 用这个值去查表 B * 再查 C 、D…… * 更麻烦的是,这些表往往不在同一个库,没法直接 JOIN * 只能等上一条 SQL 跑完,把结果里的字段复制出来,填到下一条 SQL 的 WHERE 里 一条链路下来,复制粘贴十几次是常态。烦,还容易填错。 所以做了 **Workflow** :用 YAML 把多步查询串起来,上一步的结果可以直接传给下一步,不同步骤还可以连不同的库。查一次,整条链路跑完。 ### 2. 老板要数据,要报表 做开发的都懂。临时要个数字、要张图,经常就是「帮查一下上周 xxx 」「对比一下这个月和上个月」。每次打开客户端、写 SQL 、导出、贴到 PPT 或飞书里,重复劳动很多。 所以做了 **运营看板( Dashboard )** :把常用 SQL 和图表保存下来,定时刷新,多个指标放在一页。老板要看的时候,打开就行,不用每次重新查。 这两个功能,都是我自己日常真的会用到的东西。不是看竞品有什么就抄什么。 * * * ## 做下来的一些体会 一路做下来,也踩了不少坑。 很多功能远看很简单,真正做深才发现不容易。SQL 编辑器、Schema 浏览、大结果集性能、不同数据库方言差异……每个点都能耗掉不少时间。AI 相关的能力也做了(自然语言生成 SQL 、错误诊断、EXPLAIN 分析),但对我来说,**Workflow 和 Dashboard 才是最先想解决的** 。 以前总觉得自己还算懂产品,至少比纯写后端的同事更关心体验。做着做着才发现,离「优秀的产品经理」还差得远。中间有好几次,差点去做一些「技术上很酷、但日常用不上」的东西。后来慢慢学会问一句:**这个功能,是不是在解决我自己的真实问题?** 产品还是要回到用户的痛点上。对我自己来说,就是上面那两件事。 * * * ## DataZen 是什么 **DataZen** 是一个开源的数据库客户端,Tauri + Rust + React ,macOS / Windows / Linux 都能用。 除了 Workflow 和 Dashboard ,还有这些: ### 日常查库 * SQL 编辑器、Schema 树、结果集查看 * 支持 PostgreSQL 、MySQL 、SQLite 、Redis 等,更多数据库通过 Driver 扩展 * SSH 隧道,连接信息本地加密存储 ### AI 辅助(有,但不是全部) * 自然语言生成 SQL ,会带当前库的 Schema * SQL 报错诊断、EXPLAIN 分析 * 支持 OpenAI 、Anthropic 、DeepSeek 和自定义接口 ### 查询结果转图表 * 查完直接看图,折线、柱状、饼图等,可导出 PNG/SVG ### MCP * 可以作为 MCP Server ,把数据库能力暴露给 Cursor 等外部工具 * 也可以接外部 MCP Server 到 AI Chat * 支持无头 stdio 模式 ### Driver 插件 * 数据库能力通过 Driver API 扩展,社区可以贡献新数据库支持 还有 ER 图、Schema Diff 、数据同步、导出等,文档里都有。 ### 本地优先,开源免费 * 不用注册账号 * 连接和凭据留在本机 * GPLv3 开源 * * * ## 还不完美 说实话,DataZen 离「极致好用」还有距离。 很多功能能用,但还不够顺手。交互细节、边界情况、各数据库的打磨,都需要时间,也需要更多人的使用反馈。 我一个人做,速度有限。所以开源了——不是因为它已经很好,而是希望有人一起把它做好。 如果你也天天和数据库打交道,欢迎: * GitHub 点个 Star: https://github.com/flyxl/datazen * 提 Issue 说 bug 或体验问题 * 讨论功能方向 * 贡献代码、Driver 、文档 * * * ## 最后 做一个「只为自己」的软件,听起来挺理想,过程其实挺磨人的。会怀疑值不值得做,会在细节上卡住,也会在产品方向上走弯路。 但如果有一个你自己每天都会遇到的问题,值得花时间做一个能用的版本出来。先能用,再慢慢改。 **链接** * 项目地址: https://github.com/flyxl/datazen * 下载: https://github.com/flyxl/datazen/releases * 中文文档: https://flyxl.github.io/datazen/zh/manual.html 也想听听大家:**你平时用数据库客户端,最烦的一件事是什么?** 这个对我比任何功能清单都有用。
www.v2ex.com
August 28, 2026 at 5:12 PM
公司不让装 Navicat 了,就自己写了一个数据库客户端
写代码十几年了。之前也给孩子们做过几个 Android 小应用,背单词、练口算那种,他们用得还行。 但那些说到底还是「给别人用」。**DataZen 是我第一次想只为自己做一个软件。** 起因很现实:公司合规不让装 Navicat 了。DBeaver 能用,但日常用起来总觉得差点意思。正好赶上 vibe coding 这股风,心想不如自己试一把,看能不能做出一个**真正工业级、能天天拿来干活** 的数据库客户端。 不是玩票,也不是 demo 。就是给自己用。 * * * ## 两个具体痛点 ### 1. 查线上问题,经常要串好几张表,还跨库 处理投诉、排查线上问题,流程大概是这样: * 先查表 A ,拿到某个 ID 或状态 * 用这个值去查表 B * 再查 C 、D…… * 更麻烦的是,这些表往往不在同一个库,没法直接 JOIN * 只能等上一条 SQL 跑完,把结果里的字段复制出来,填到下一条 SQL 的 WHERE 里 一条链路下来,复制粘贴十几次是常态。烦,还容易填错。 所以做了 **Workflow** :用 YAML 把多步查询串起来,上一步的结果可以直接传给下一步,不同步骤还可以连不同的库。查一次,整条链路跑完。 ### 2. 老板要数据,要报表 做开发的都懂。临时要个数字、要张图,经常就是「帮查一下上周 xxx 」「对比一下这个月和上个月」。每次打开客户端、写 SQL 、导出、贴到 PPT 或飞书里,重复劳动很多。 所以做了 **运营看板( Dashboard )** :把常用 SQL 和图表保存下来,定时刷新,多个指标放在一页。老板要看的时候,打开就行,不用每次重新查。 这两个功能,都是我自己日常真的会用到的东西。不是看竞品有什么就抄什么。 * * * ## 做下来的一些体会 一路做下来,也踩了不少坑。 很多功能远看很简单,真正做深才发现不容易。SQL 编辑器、Schema 浏览、大结果集性能、不同数据库方言差异……每个点都能耗掉不少时间。AI 相关的能力也做了(自然语言生成 SQL 、错误诊断、EXPLAIN 分析),但对我来说,**Workflow 和 Dashboard 才是最先想解决的** 。 以前总觉得自己还算懂产品,至少比纯写后端的同事更关心体验。做着做着才发现,离「优秀的产品经理」还差得远。中间有好几次,差点去做一些「技术上很酷、但日常用不上」的东西。后来慢慢学会问一句:**这个功能,是不是在解决我自己的真实问题?** 产品还是要回到用户的痛点上。对我自己来说,就是上面那两件事。 * * * ## DataZen 是什么 **DataZen** 是一个开源的数据库客户端,Tauri + Rust + React ,macOS / Windows / Linux 都能用。 除了 Workflow 和 Dashboard ,还有这些: ### 日常查库 * SQL 编辑器、Schema 树、结果集查看 * 支持 PostgreSQL 、MySQL 、SQLite 、Redis 等,更多数据库通过 Driver 扩展 * SSH 隧道,连接信息本地加密存储 ### AI 辅助(有,但不是全部) * 自然语言生成 SQL ,会带当前库的 Schema * SQL 报错诊断、EXPLAIN 分析 * 支持 OpenAI 、Anthropic 、DeepSeek 和自定义接口 ### 查询结果转图表 * 查完直接看图,折线、柱状、饼图等,可导出 PNG/SVG ### MCP * 可以作为 MCP Server ,把数据库能力暴露给 Cursor 等外部工具 * 也可以接外部 MCP Server 到 AI Chat * 支持无头 stdio 模式 ### Driver 插件 * 数据库能力通过 Driver API 扩展,社区可以贡献新数据库支持 还有 ER 图、Schema Diff 、数据同步、导出等,文档里都有。 ### 本地优先,开源免费 * 不用注册账号 * 连接和凭据留在本机 * GPLv3 开源 * * * ## 还不完美 说实话,DataZen 离「极致好用」还有距离。 很多功能能用,但还不够顺手。交互细节、边界情况、各数据库的打磨,都需要时间,也需要更多人的使用反馈。 我一个人做,速度有限。所以开源了——不是因为它已经很好,而是希望有人一起把它做好。 如果你也天天和数据库打交道,欢迎: * GitHub 点个 Star: https://github.com/flyxl/datazen * 提 Issue 说 bug 或体验问题 * 讨论功能方向 * 贡献代码、Driver 、文档 * * * ## 最后 做一个「只为自己」的软件,听起来挺理想,过程其实挺磨人的。会怀疑值不值得做,会在细节上卡住,也会在产品方向上走弯路。 但如果有一个你自己每天都会遇到的问题,值得花时间做一个能用的版本出来。先能用,再慢慢改。 **链接** * 项目地址: https://github.com/flyxl/datazen * 下载: https://github.com/flyxl/datazen/releases * 中文文档: https://flyxl.github.io/datazen/zh/manual.html 也想听听大家:**你平时用数据库客户端,最烦的一件事是什么?** 这个对我比任何功能清单都有用。
www.v2ex.com
August 29, 2026 at 1:35 AM
[分享创造] 给数据库客户端装上 AI: NL2SQL、报错诊断、EXPLAIN 解读、跨库工作流,一个不到 10MB 的开源工具
断断续续写了几个月,DataZen 终于到了 v0.0.8 。起因很朴素:日常要连 PostgreSQL 、MySQL ,偶尔还要看 Redis ,商业客户端要订阅,DBeaver 功能全但启动和内存都偏重。于是用 Tauri v2 + Rust + React 自己搓了一个桌面客户端,安装包不到 10MB ,GPLv3 开源,macOS 和 Windows 都支持。 主界面长这样:一个窗口管理所有连接,PostgreSQL / MySQL / SQLite / Redis 混在一起也没问题。 **🤖 AI 这块是重头** 最常用的是自然语言生成 SQL 。想不起来表名或函数?直接说人话,AI 会结合当前库的表结构生成 SQL ,流式输出,点一下就能执行: 写错 SQL 也不用再去搜索引擎了。报错之后点「诊断」,AI 会告诉你错在哪、为什么错,修正后的 SQL 一键应用。比如我把 `SELECT` 拼成 `SELEC`,AI 直接指出少了字母 T: 慢查询怎么优化? EXPLAIN 执行计划可视化,树形展示每一步的代价,再让 AI 解读瓶颈在哪: **📊 图表** 查询结果不用导出到 Excel 了。一键从表格切到图表,自动推断字段类型、智能推荐图表类型,折线、柱状、饼图、散点、面积五种,支持导出 PNG / SVG: **⚙️ Workflow 跨库自动化** 这版我最满意的功能:用 YAML 把「查数 → 分析 → 决策」固化成流程,支持跨库执行。比如从 PG 订单库查出订单,再去 MySQL 物流库补物流信息: 每个步骤可以绑定不同连接,支持条件分支、循环、错误策略( abort / skip / fallback ),还能在界面、MCP 或者 AI 对话里直接跑。 **其他值得一提的** * Redis 专属视图,String / Hash / List / Set / ZSet / Stream 都能看: * 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 或者直接上手改。下一步打算把插件生态和文档站弄起来,感兴趣的可以来仓库聊聊。
www.v2ex.com
August 8, 2026 at 12:25 AM
Installing Datazen today
November 9, 2024 at 10:06 PM
Adding users in Datazen is a pain in the rump.
November 9, 2024 at 9:49 PM
Microsoft adquiere Datazen, especializados en Inteligencia de Negocios y Visualización de Data en Móviles

geeksroom.com/2015/04/micros…
November 27, 2024 at 4:56 PM
December 13, 2024 at 7:33 PM
#datazen supports both DAX and MDX queries to a #ssas server. #msignite
December 5, 2024 at 11:19 PM
#datazen refresh rate is highly granular and customisable #msignite
December 5, 2024 at 11:19 PM
#Datazen dashboard design is incredibly impressive. #msignite
December 5, 2024 at 11:19 PM
Does #datazen mean the beginning of the end for #performancepoint ? I think it does. #msignite
December 5, 2024 at 11:19 PM
#Datazen in #sqlserver2016 has KPIs and sub KPIs. Sounds a lot like a scorecard to me. #msignite #
December 5, 2024 at 11:19 PM
#Datazen to be built in to #SQL server 2016. Rich mobile analytic dashboards #msignite
December 5, 2024 at 11:18 PM