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

flyxl 2026-08-28 23:55 1

DataZen 主界面


写代码十几年了。之前也给孩子们做过几个 Android 小应用,背单词、练口算那种,他们用得还行。


但那些说到底还是「给别人用」。DataZen 是我第一次想只为自己做一个软件。


起因很现实:公司合规不让装 Navicat 了。DBeaver 能用,但日常用起来总觉得差点意思。正好赶上 vibe coding 这股风,心想不如自己试一把,看能不能做出一个真正工业级、能天天拿来干活的数据库客户端。


不是玩票,也不是 demo 。就是给自己用。




两个具体痛点


1. 查线上问题,经常要串好几张表,还跨库


处理投诉、排查线上问题,流程大概是这样:



  • 先查表 A ,拿到某个 ID 或状态

  • 用这个值去查表 B

  • 再查 C 、D……

  • 更麻烦的是,这些表往往不在同一个库,没法直接 JOIN

  • 只能等上一条 SQL 跑完,把结果里的字段复制出来,填到下一条 SQL 的 WHERE 里


一条链路下来,复制粘贴十几次是常态。烦,还容易填错。


所以做了 Workflow:用 YAML 把多步查询串起来,上一步的结果可以直接传给下一步,不同步骤还可以连不同的库。查一次,整条链路跑完。


Workflow 编辑器


跨数据库 Workflow


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 和自定义接口


AI 自然语言生成 SQL


AI SQL 错误诊断


AI EXPLAIN 分析


查询结果转图表



  • 查完直接看图,折线、柱状、饼图等,可导出 PNG/SVG


多种图表类型


MCP



  • 可以作为 MCP Server ,把数据库能力暴露给 Cursor 等外部工具

  • 也可以接外部 MCP Server 到 AI Chat

  • 支持无头 stdio 模式


Driver 插件



  • 数据库能力通过 Driver API 扩展,社区可以贡献新数据库支持


还有 ER 图、Schema Diff 、数据同步、导出等,文档里都有。


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


也想听听大家:你平时用数据库客户端,最烦的一件事是什么? 这个对我比任何功能清单都有用。

最新回复 (40)
  • xooass 08-29 01:09
    1
    最烦公司的数据库限制 IP 又不想整机切公司内网
  • xooass 08-29 01:10
    2
    说的是回家后
  • flyxl 楼主 08-29 01:12
    3
    @xooass 能 ssh 回公司电脑不?
  • zencitta 08-29 01:36
    4
    自己手写还是 AI ?
  • sanhys 08-29 01:46
    5
    @zencitta 原汁原味的 AI
  • ijrou 08-29 02:20
    6
    ![2026-08-29_02-20-03.png]( https://ime-store-cdn.gtimg.com/pc/uploadImage/2026/08/29/1787941229883ac12f_former.png)

    还在一直用
  • wuzhi1234 08-29 03:51
    7
    dbx 很好用
  • Addison2W 08-29 06:12
    8
    我现在开发基本不碰数据库,中间件,代码,K8S ,服务器,各个角落 AI 都能触碰到,一个对话框能解决开发所有的事情。
  • Dispatcher 08-29 07:15
    9
    日本这边好多会社在用 a4 ,竟然是 delphi 写的。
  • flyxl 楼主 08-29 07:42
    10
    @wuzhi1234 确实很强
  • flyxl 楼主 08-29 07:49
    11
    @zencitta 用的是 cursor ,但基本上只能用 opus 4.6 和 composer2.5 ,我比较自豪的是代码质量绝对不差,系统架构可扩展性比较好。整个开发过程走下来,感觉我这个老码农还能在 ai 浪潮下再抗几年,同时也趁着这个项目多积累一些开发 agent 的经验
  • flyxl 楼主 08-29 07:51
    12
    @Addison2W ai 现在确实很强大,但我们有明确要求 ai 不能碰生产数据,避免敏感信息泄露
  • kneo 08-29 08:12
    13
    AI 用多了还真以为是自己写的啊……
  • jkjoy 08-29 08:20
    14
    你这帖子都一股子 AI 味儿
  • vultr 08-29 09:16
    15
    能用 AI 写出好东西也是能力,强。
  • z1154505909 08-29 09:21
    16
    感觉 workflow 有点类似 API 工具的前置操作,后置操作
  • zh3256 08-29 09:26
    17
    @flyxl 数据库前面套一层脱敏 proxy ,AI 连上也能用
    而且怕泄露敏感数据,如果对人不做管理,能直连数据库,也没解决敏感的问题,人可以下载数据。
  • wangweiggsn 08-29 10:02
    18
    如果是我,这需求我肯定就让 AI 写 python 脚本做了。当然,造轮子也值得鼓励,也各有各的乐趣。
  • iexplore123 08-29 10:11
    19
    感觉这俩需求用 n8n 搭配个数据面板也行啊
  • linauror 08-29 11:06
    20
    workflow 功能感觉不错
  • dot2 08-29 11:20
    21
    相比 DBX 有什么优点呢?我现在用 DBX 感觉挺好用的
  • datadump 08-29 11:33
    22
    想问一下用的什么模型,多少 token
  • fstab 08-29 11:36
    23
    可惜了,出来太晚了。

    从社区和公众号看,DBX 现在妥妥的免费榜第一了。。
  • flyxl 楼主 08-29 11:59
    24
    @fstab 对我个人来说,这确实是个小小的遗憾,但更重要的是坚持初心,用自己所学为自己做点东西,同时也欢迎提意见提 pr
  • gdfsjunjun 08-29 11:59
    25
    很早之前用 Navicat ,但是之后转 DataGrip 了,发现更好用,而且界面风格与 IDEA 一致,后端开发无缝切换
  • flyxl 楼主 08-29 12:02
    26
    @datadump 用的 cursor 的年费套餐,每个月 500 次请求,不过今天套餐到期,不能再按年费续期了,中间薅了 openrouter 和 opencode 上的 ox alpha 免费额度,主力模型还是 cursor 上的 opus4.6 和 composer2.5 ,具体 token 消耗没有统计
  • flyxl 楼主 08-29 12:04
    27
    @linauror 我们开发和测试同学也很喜欢这个功能
  • Kimipoker 08-29 12:47
    28
    我用它的功能是各个数据库跨类型之间的数据迁移.好像 Navicat 才好用点
  • flyxl 楼主 08-29 13:22
    29
    @Kimipoker 是的,毕竟老牌玩家,积累深厚。其实我在实现数据迁移的过程中踩了不少坑,尤其是不同数据库方言差异这块
  • caola 08-29 13:55
    30
    win 版没有 portable 的包吗,都是安装包的…
  • jake4545 08-29 14:07
    31
    DBeaver 开源的也还不错啊
  • feidao158 08-29 14:16
    32
    可以看看 dbx
  • liuliuliuliu 08-29 14:24
    33
    这个领域,目前没发现超过 datagrip 的
  • PopRain 08-29 15:27
    34
    AI 时代人手一个 DB TOOLS ,搞得我也蠢蠢欲动,先 star 吧
  • sir283 08-29 16:35
    35
    dbeaver 也可以啊,还是跨平台开源的。不过现在这个时代,基本人手一个 custom tool 了,也没啥了。
  • Greendays 08-29 16:47
    36
    navicat 真挺厉害的,我买了 JetBrains 全家桶,里面有个 DateGrip 也是数据库客户端,但用起来完全和 Navicat 两回事。
  • itechify 08-29 17:00
    37
    @liuliuliuliu datagrip 不知道怎么自动转格式,例如时间戳毫秒,查询出来自动转到某个时区的时间跟格式化出来
  • mackyuqi 08-29 17:00
    38
    @liuliuliuliu #33 这个商用不免费呀,一般公司都不让用😅
  • knktc 08-29 17:00
    39
    @gdfsjunjun 去年还是前年有个免费领订阅的活动来着,领了之后用到现在,基本也不用升级
  • keenkiller 08-29 17:47
    40
    其实我平时都是用命令行,毕竟从 k8s pod 里连数据库肯定要用命令行,其他的方式运维不让连
* 帖子来源V2EX
返回