• 请不要在回答技术问题时复制粘贴 AI 生成的内容
yisier
V2EX  ›  程序员

用 Rust 重写一切,这次是 navicat

  •  1
     
  •   yisier ·
    PRO
    · 1 day ago · 13400 views

    背景

    公司前阵子收到了律师函,于是通知全员删除 navicat ,个人版也不行,要求用开源的 DBeaver ,由于常年习惯了 navicat 的布局和操作习惯,实在适应不了其他工具,都 AI 时代了,索性自己撸一个吧。

    技术栈 & 进度

    Rust + GPUI ,gpui-kit 组件库 , shadcn 风格。无 WebView ,全部 UI 都用 Rust 写

    适配了 ODBC 驱动,理论上只要有 ODBC 驱动,都能连接

    数据库 状态
    MySQL / MariaDB ✅
    SQLite ✅
    SQL Server ✅
    PostgreSQL ✅
    Oracle ✅
    DB2, Redis, ... 接入中

    截图

    image.png image.png image.png image.png

    结尾

    github:https://github.com/yisier/rustgrid

    常用功能基本上 “可以用了”,像是 用户/角色/权限/模型/图表/自动运行 这些的功能,navicat 还是太权威了,每家数据库的操作体系都不一样,还有很多坑要踩。

    AI 时代传统软件公司的天真的塌了,放在两年前都完全不敢想象,我一个从来没接触过 Rust 的人,不到一个月居然可以做出这么多功能。

    123 replies  •  2026-10-14 15:22:47 +08:00
    1  2  
    ❮ ❯
    lllllliiii
        1
    lllllliiii  
       1 day ago   ❤️ 14
    doraemonki
        2
    doraemonki  
       1 day ago   ❤️ 2
    看见 gpui 立马支持一下
    LoveXJP
        3
    LoveXJP  
       1 day ago   ❤️ 2
    你这是直接把 UI 都抄了吗,shadcn 风格没有这么丑啊😂
    yisier
        4
    yisier  
    OP
    PRO
       1 day ago
    @LoveXJP 丑是丑了点,布局和交互方式没有学习成本了。ui 可以慢慢调嘛
    signalas1
        5
    signalas1  
       1 day ago
    反编译出来什么边界问题都能解决
    lolo1
        6
    lolo1  
       1 day ago
    可以可以,非常强
    awesomePower
        7
    awesomePower  
       1 day ago
    厉害,支持下
    novaline
        8
    novaline  
       1 day ago   ❤️ 1
    逆向一切
    vone
        9
    vone  
       1 day ago
    哥,你真硬。
    GaGaGood
        10
    GaGaGood  
       1 day ago
    牛逼,支持一下
    yisier
        11
    yisier  
    OP
    PRO
       1 day ago
    @signalas1 商业软件,反编译要吃官司吧
    SilencerL
        12
    SilencerL  
       1 day ago   ❤️ 20
    ganxj
        13
    ganxj  
       1 day ago
    我们公司也收到了 navicat 的律师函,但是没有收到 jetbrains 的呀,datagrip 用习惯了之后也是很香的
    tangping
        14
    tangping  
       1 day ago
    可以把 navicat 导出的链接 导入进去吗?
    jaylengao
        15
    jaylengao  
       1 day ago
    支持了,现在用 dbx ,内存占用有点大了
    humanity
        16
    humanity  
       1 day ago
    dbx 也可以,就是交互需要学习成本
    413420
        17
    413420  
       1 day ago via iPhone
    这个必须支持
    chenluo0429
        18
    chenluo0429  
       1 day ago via Android
    厉害厉害
    按照最近很火的那些 rust 重写的项目,还可以叫 datacraft 或者 dbcraft
    MASAILA
        19
    MASAILA  
       1 day ago   ❤️ 1
    叫 navicraft 吧
    yisier
        20
    yisier  
    OP
    PRO
       1 day ago
    @tangping 当然可以,已经排上日程了
    wuhunyu
        21
    wuhunyu  
       1 day ago
    这种商业闭源的软件, 除了 ui 这种直接能看到的, 很多不可见的逻辑功能是怎么给提示词的, 反编译?
    zsyevan
        22
    zsyevan  
       1 day ago
    navicat 很多时候是为了审计采用,要么很多免费的 sql client 也够。
    bbroot
        23
    bbroot  
       1 day ago
    收藏下 lz 加油
    yidinghe
        24
    yidinghe  
    PRO
       1 day ago
    @wuhunyu 很简单,只做自己需要的看得见的不就好了。
    hingle
        25
    hingle  
       1 day ago
    tableplus 也不错,在用 Linux 版的, 貌似没有只能开两个 tab 的限制。
    BearCookie
        26
    BearCookie  
       1 day ago
    table plus 啥都好,就是太贵了
    wsseo
        27
    wsseo  
       1 day ago
    这东西怎么变现,能长期维护吗,有 bug 会及时修复吗?
    flyxl
        28
    flyxl  
       1 day ago via Android
    作为 DataZen 的作者,我表示数据库管理客户端没有看起来那么简单,不同数据库驱动差异,连接管理,会话管理还是有好多坑。
    NO9527
        29
    NO9527  
       1 day ago
    这个界面不错,有那味了
    yisier
        30
    yisier  
    OP
    PRO
       1 day ago
    @wuhunyu 也就外观和操作逻辑能借鉴,你可以看下仓库里 AGENTS.md 文件
    imherer
        31
    imherer  
       1 day ago
    @yisier #30 好奇问下 AGENTS.md 内容是怎么来的?和 AI 讨论方案最后形成的吗?
    Wao
        32
    Wao  
       1 day ago
    关键是 Navicat 自带的那些数据传输/同步/数据字典等实用功能/定时任务
    zhhqiang
        33
    zhhqiang  
       1 day ago
    很强,最近换到 dbx 了
    wuhunyu
        34
    wuhunyu  
       1 day ago   ❤️ 2
    Navicat 最好用的是它比 datagrip 轻量, 然后它的迁移功能真的巨好用, datagrip 的迁移约等于没有, 但智能提示 datagrip 比 Navicat 好太多了
    如果不能保留 Navicat 的迁移功能, 那灵魂就没了
    kkadmin
        35
    kkadmin  
       1 day ago
    我能进来一起干吗
    yisier
        36
    yisier  
    OP
    PRO
       1 day ago
    @imherer 可以这么理解
    yisier
        37
    yisier  
    OP
    PRO
       1 day ago
    @Wao
    @wuhunyu

    看来是时候把 数据同步 传输 功能搞出来了
    yisier
        38
    yisier  
    OP
    PRO
       1 day ago
    @kkadmin AI 时代,我觉得与人的沟通成本 > 与 AI 沟通成本。但是欢迎 PR
    yiyiwa
        39
    yiyiwa  
       1 day ago
    rust 有点大,喜欢用 zig 。
    iorilu
        40
    iorilu  
       1 day ago   ❤️ 1
    dbx 不是很火吗

    这几个月数据库工具和 shell 工具,抵以前 10 年还多
    hesetiema
        41
    hesetiema  
       1 day ago
    有咩有谁逆向下 todesk
    ATKLLL
        42
    ATKLLL  
       1 day ago
    这个赛道估计会被 DBX 统治
    ala2008
        43
    ala2008  
       1 day ago
    all in ai !支持,多造轮子
    yisier
        44
    yisier  
    OP
    PRO
       1 day ago
    @wsseo 不知道怎么变现,我另一个项目 3k star ,维护了 5 年,收入只靠仓库挂了俩 aff 链接。 不管有没有收入吧,先干了再说
    ala2008
        45
    ala2008  
       1 day ago
    @iorilu dbx 操作需要摸索,有点成本
    ala2008
        46
    ala2008  
       1 day ago
    @yisier #44 看 dbx ,那么多广告支持。Sponsors ,应该赞助不少
    shuqin2333
        47
    shuqin2333  
       1 day ago
    导入导出、数据库对比功能有了没。我只对这个有需求
    xeneizes
        48
    xeneizes  
       1 day ago
    @ATKLLL dbx 是 webkit2gtk 吧,开的时间长了,会白屏卡死之类的
    yisier
        49
    yisier  
    OP
    PRO
       1 day ago
    @shuqin2333 导入导出有了,数据库对比还没有
    jonty
        50
    jonty  
       1 day ago
    @yisier #11 rea 搞一搞,rust 再重写一遍
    yacolinqi
        51
    yacolinqi  
       1 day ago
    @jaylengao tauri 嘛! 底层还是用的 webview 无非就是换汤不换药
    skills
        52
    skills  
       1 day ago
    @yisier #49 #49 啥时候能加上啊, 已经 star
    weixiangzhe
        53
    weixiangzhe  
       1 day ago via Android
    dbx 加一
    kairosbladejiuji
        54
    kairosbladejiuji  
       1 day ago
    哥,我不白用,我给你点 star
    XProxyAi
        55
    XProxyAi  
       1 day ago
    @yisier #11 混淆一下,谁知道你代码是哪里抄写的,不商用 基本上没事情
    d119
        56
    d119  
       1 day ago
    没有上报账号密码吧
    s8702623
        57
    s8702623  
       1 day ago
    哇!厉害了
    wuzhewuyou
        58
    wuzhewuyou  
       1 day ago   ❤️ 3
    牛逼,天下苦 navicat 久矣
    babhbsbx
        59
    babhbsbx  
       1 day ago   ❤️ 1
    @yisier #37 数据同步 和 数据传输真是灵魂
    burymme11
        60
    burymme11  
       1 day ago
    可惜才看到,已经转到 dbx 了,给你点下 star 。
    yyysuo
        61
    yyysuo  
       1 day ago
    @wsseo 软件行业已经完蛋了,变啥现啊,谁都可以自己随便写一个。
    children009
        62
    children009  
       1 day ago
    逆向一切,是不是可以增加一下可以远程保存 sql
    i7eo
        63
    i7eo  
       1 day ago
    我最近换了 dbflux ,好像也是 gpui
    fengzigg9527
        64
    fengzigg9527  
       1 day ago
    今天公司刚收到通知。。。
    wersero
        65
    wersero  
       1 day ago
    牛逼,现在有 ai 后,全都复刻了
    iorilu
        66
    iorilu  
       1 day ago
    @yyysuo 单机软件工具基本确定都玩完

    除非是云端得

    一个公司几十年积累

    现在个人一个月就能基本复刻, 这啥概念, 只能说时代淘汰得时候从来不打招呼
    bowencool
        67
    bowencool  
       1 day ago
    @BearCookie 开源平替 table pro
    @hingle
    11ssss
        68
    11ssss  
       1 day ago
    包含查询构造器吗,在功能介绍里没看到?
    alsas
        69
    alsas  
       1 day ago
    牛逼
    yisier
        70
    yisier  
    OP
    PRO
       1 day ago
    @11ssss 这个功能太复杂了,我都是手写 sql ,从来没用过这功能。先实现常用功能,后面再补这类小工具
    workspace
        71
    workspace  
       1 day ago
    传统软件厂商的日子不好过了。
    yisier
        72
    yisier  
    OP
    PRO
       1 day ago
    @d119 源码就在 github 上,release 是 action 构建的,除非你从第三方下载的软件。
    bytewalk
        73
    bytewalk  
       1 day ago via iPhone
    @LoveXJP #3 我也想说,这哪里是 shadcn 啊。。。不过佩服 op 的执行力
    dcdlove
        74
    dcdlove  
       1 day ago
    别写了 dbx 已经非常好了
    yisier
        75
    yisier  
    OP
    PRO
       1 day ago
    @fengzigg9527 赶紧换上 RustGrid 😉
    vopsoft
        76
    vopsoft  
       1 day ago   ❤️ 1
    大佬 等你用 Rust 重写 nps
    dz5362
        77
    dz5362  
       1 day ago
    AI 圆了我想在 3DS 上开发游戏的梦,当然这个是国产二梯队模型花了 100 分钟写出来的,用的 Rust ,我很满意了哈哈
    antipro
        78
    antipro  
       1 day ago via Android
    抄 UI 也一样侵权的,有外观专利的。小心点吧。
    antipro
        79
    antipro  
       1 day ago via Android
    说不定更严重,造成广泛损害了。
    yisier
        80
    yisier  
    OP
    PRO
       1 day ago
    @antipro #78 你有查过吗,外观专利
    boringwheat
        81
    boringwheat  
       1 day ago
    牛逼,能不能把 DataGrip 也重写一个
    holystrike
        82
    holystrike  
       1 day ago
    没人用 HeidiSQL 吗?
    antipro
        83
    antipro  
       1 day ago
    @yisier 我更正一下,的确没有外观专利,但是真有这种事,我忘记是哪个了。你这个不只是界面近似了,操作习惯都一模一样,极易引起混淆。
    panlatent
        84
    panlatent  
       1 day ago
    现在重新是很方便,但细节修复太消耗精力和 token 了。0.99 -> 1 >> 0 -> 0.99
    zedpass
        85
    zedpass  
       1 day ago
    @hesetiema todesk 这种没啥逆向的必要性吧?开源的远程软件挺多不错的,像 rustdesk 之类的;这种远程软件主要还是服务器和线路优化吧
    leegradyllljjjj
        86
    leegradyllljjjj  
       1 day ago
    nb ,之前看到国外一个程序员把 Photoshop 地主要功能复现出来了,这些传统软件大厂估计得哭了
    hesetiema
        87
    hesetiema  
       1 day ago
    @zedpass todesk 用起来真是恶心,用多了要充值。其他远程软件网易的 uu 倒是不错,但实际生产环境还是 todesk 用的多
    huieh
        88
    huieh  
       1 day ago
    前几天刚看到有 adobe 系列,进化速度很快啊这就有 navicat 了
    diudiuu
        89
    diudiuu  
       1 day ago   ❤️ 1
    @MASAILA 叫 navdog
    diudiuu
        90
    diudiuu  
       1 day ago
    有没有人抄 mobaxterm
    1103409364
        91
    1103409364  
       1 day ago
    牛逼牛逼
    genesislive
        92
    genesislive  
       1 day ago
    什么时候有人重写 MATLAB
    659746321
        93
    659746321  
       1 day ago
    我自己的小公司用 claude 写了两个 4s 的软件来代替,一年省 5000 多欧订阅费用,代码一个月就搞定了。顺带写了 ios app ,按照自己操作习惯优化了 ui 。
    ASHYWHISPER
        94
    ASHYWHISPER  
       1 day ago via iPhone   ❤️ 1
    @jaylengao #15 dbx 其实也还可以,内存占用比 navicat 小。主要是 mac 上 navicat 运行时间长了一定会崩溃
    itnoob
        95
    itnoob  
       1 day ago
    iorilu
        96
    iorilu  
       1 day ago
    说句实话, 我现在好像没有要用 db 客户端需求了

    有啥东西都让 ai 直接连 db 干活啊, 要啥工具

    就算建表建库都是 ai,别说查询了
    1340976576
        97
    1340976576  
       1 day ago
    @iorilu #96 ai 直接连 db ,你写的玩具吧
    eben
        98
    eben  
       1 day ago
    @wuhunyu 现在很多 ai 智能体的反编译能力很强的,我今天就从一个古老的 delphi 日志探测 exe 中导出了全部的数据表结构
    yjxjn
        99
    yjxjn  
       1 day ago
    @iorilu #96 AI 连接生产环境操作 DB ??
    moefishtang
        100
    moefishtang  
       1 day ago
    @SilencerL 我累个机械神教
    1  2  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2740 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 269ms · UTC 15:41 · PVG 23:41 · LAX 08:41 · JFK 11:41
    ♥ Do have faith in what you're doing.