返回 AI 资讯
社区讨论V2EX 程序员

公司不让装 Navicat 了,就自己写了一个数据库客户端

写代码十几年了。之前也给孩子们做过几个 Android 小应用,背单词、练口算那种,他们用得还行。 但那些说到底还是「给别人用」。 DataZen 是我第一次想只为自己做一个软件。 起因很现实:公司合规不让装 Navicat 了。DBeaver 能用,但日常用起来总觉得差点意思。正好赶上 vibe coding 这股风,心想不如自己试一把,看能不能做出一个 真正工业级、能天天拿来干活 的数据库客户端。 不是玩票,也不是 demo 。就是给自己用。 两个具体痛点 1. 查线上问题,经常要串好几张表,还跨库 处理投诉…

内容摘要

写代码十几年了。之前也给孩子们做过几个 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 也想听听大家: 你平时用数据库客户端,最烦的一件事是什么? 这个对我比任何功能清单都有用。

资讯来源

V2EX

原文链接

打开原文
公司不让装 Navicat 了,就自己写了一个数据库客户端 · AI 资讯 · AIGOOD - AIGOOD