用一个约 30MB 的客户端统一管理多种数据源(GoNavi)

GoNavi 是一个用 Go 与 TypeScript 写的跨平台数据库客户端,安装包约 20~26MB,支持 MySQL、PostgreSQL、Redis、Kafka、MongoDB 等多种数据源,并把 MCP 与多供应商 AI 作为内建能力。本文把它与 huginnDB、solnari、5ire 等同类工具放在一起对照,帮读者判断它在数据源广度、体积与 AI 集成上的位置,以及哪些场景不适合选它。

数据库客户端这个品类长期被 Electron 占据,安装包动辄几百 MB,启动和常驻内存也跟着走高。GoNavi 选了另一条路:用 Wails 把 Go 后端与系统 WebView 拼在一起,前端仍是 React 18。README 把安装包体积标为约 20~26MB 级别,同时单独强调「安装包大小不等于内存占用」,并给出一份 Linux WebKit 构建空工作台的采样数据,主进程约 429MB,含 WebKit 辅助进程约 765MB,明确说明这是带标签的样本而不是排行榜分数。

GoNavi 是用 Go 与 TypeScript 写的跨平台数据库客户端,安装包约 20~26MB,连接数据源后可查询、编辑、审计,并通过 MCP 把库结构交给 AI 助手。

输入是一组连接信息,包括主机、端口、账号,以及 SSH 或代理通道;输出是查询结果表格、可导出的数据、审计记录,还有在 web-server 或 mcp-server 模式下暴露的 HTTP 接口。用它的主要是三类人:需要在同一界面里来回切换多种数据库的开发与运维,要跑数据同步与对账任务的团队,以及希望把库结构喂给编码助手又不想把口令传出本机的工程师。项目地址在 github.com/Syngnat/GoNavi,许可证为 Apache License 2.0,主要语言是 TypeScript(占 51.0%,Go 占 43.7%)。

GoNavi 数据库客户端的工作台界面

这几个项目分别在解决什么

GoNavi 的 Topics 里同时出现 mysql、redis、kafka、mqtt、mongodb、oracle-database 和 model-context-protocol,这基本圈定了它的边界:把关系库、缓存、消息队列、向量库、时序库和搜索引擎收进一个工作台,再在同一个壳里提供 AI 与 MCP 出口。数据同步、对账、慢 SQL 诊断、SQL 审计这些偏运维的能力是内建的,不靠插件补齐。按仓库里的发布说明和文档,它的功能大致可以分成这几块:

  • 多数据源连接:覆盖 MySQL、PostgreSQL、Redis、Kafka、MongoDB、Milvus、OceanBase、ClickHouse、MQTT、Elasticsearch、Oracle,以及达梦这类国产数据库和 InterSystems Caché。连接支持分组导入,连接工具带独立设置。
  • SQL 编辑器:基于 Monaco,配合 schema 上下文与 AI 生成 SQL,生成结果可以插入、运行或先预览。
  • 数据表格:虚拟化 DataGrid,支持批量编辑、导出,以及事务的提交与回滚;数值与日期时间列有靠右显示的开关。
  • 数据同步与对账:选择结构内容时允许自动建表,对账任务支持可选的自动补字段;备份目录支持调用本机选择器,并按日期分层存放。
  • SQL 诊断与审计:慢 SQL 与 SQL 诊断页面重做过并跟随主题色,SQL 审计中心按连接汇总脱敏后的 SQL 证据。
  • AI 助手:支持多供应商,聊天框内可切换供应商,会回传推理摘要与 Token 用量,另有 AI 可观测面板展示分析与请求事件。
  • MCP 服务:提供 MCP HTTP 出口,可与 Claude、Codex 这类编码助手对接;web-server 模式下可以直接用浏览器访问。
  • 多种部署形态:除了桌面安装包,仓库里还有 web-server、mcp-server、cli 三套 Docker 构建与对应的 compose 配置。

huginnDB 是另一路思路,它把自己定位成桌面数据库管理器,覆盖 PostgreSQL、MySQL、SQLite、MongoDB 和 SQL Server 五类关系与文档库。solnari 走的是 macOS 原生路线,支持 PostgreSQL、MySQL、SQLite,还能接 Cloud SQL、SSH 和 Kubernetes。这两个项目的共同点是把常见关系库管好,数据源覆盖面比 GoNavi 窄,也不含消息队列、向量库或时序库。

5ire 是跨平台桌面 AI 助理兼 MCP 客户端,XiaoDuoYa/codex-with-chatgpt 是把 ChatGPT 当规划层、Codex 当执行层的组合。它们与 GoNavi 的重叠在 MCP 和 AI 交互这一侧,本身并不承担数据库客户端职责。pascalorg/editor 是带本地 CLI 与 MCP 工具的 3D 建筑编辑器,holaOS 是面向企业的开源代理工作区,两者与数据库 GUI 只是部分交叠,放在一起看是为了说明 MCP 这个入口正在被各类工具分别接入。

逐项对照

项目主要用途上手成本明显短板项目地址
GoNavi多数据源数据库客户端,AI 与 MCP 就绪下载安装包即用;另有 web-server / mcp-server / cli 三套 Docker 部署桌面端有一段安装后窗口不显示的报错历史;Star 数低于同组 AI 客户端https://github.com/Syngnat/GoNavi
Kodemaru/huginnDB桌面数据库管理器,覆盖 PostgreSQL、MySQL、SQLite、MongoDB、SQL Server仓库未给出说明数据源限于上述五类,不含消息队列、向量与时序库https://github.com/Kodemaru/huginnDB
dreamyoungs/solnarimacOS 原生开源数据库工具,支持 PostgreSQL、MySQL、SQLite、Cloud SQL、SSH、Kubernetes仓库未给出说明仅面向 macOS 原生环境https://github.com/dreamyoungs/solnari
nanbingxyz/5ire跨平台桌面 AI 助理,兼作 MCP 客户端仓库未给出说明定位是 AI 助理,不提供数据库查询与编辑界面https://github.com/nanbingxyz/5ire
XiaoDuoYa/codex-with-chatgpt用 ChatGPT 做规划、Codex 执行仓库未给出说明与数据库客户端不重叠https://github.com/XiaoDuoYa/codex-with-chatgpt
holaboss-ai/holaOS开源代理工作区,连接企业系统仓库未给出说明面向代理工作区,不提供数据库 GUIhttps://github.com/holaboss-ai/holaOS

差距出现在哪

真正拉开距离的是数据源广度和 MCP 的位置。huginnDB 与 solnari 覆盖的是关系库与文档库,GoNavi 把 Redis、Kafka、MQTT、Milvus 这类非关系数据源也纳入同一个工作台,并且把 MCP HTTP 与多供应商 AI 做成内建项而不是事后外挂。对需要在一次排查里从 MySQL 跳到 Redis、再去看 Kafka 消费情况的人,这个差别很实际。

GoNavi 不如同类的地方同样明显。它的 Star 数是 2049,Fork 221,放在这一组里不算高,5ire 有 5369,holaOS 有 11454。社区规模小意味着第三方教程、插件和踩坑记录都少,遇到冷门数据源的问题时,能搜到的现成答案有限。桌面端还有一段不短的稳定性问题历史,写在后文。

另一个结构性差距是版本节奏。仓库默认分支是 dev,最近一次提交在 2026-10-03,同时发布的 dev-latest 明确写着仅供内部测试、不建议用于生产,而且每次 push 到 dev 分支都会覆盖该 release。想要稳定版本的人只能盯 v1.0.1 这类正式 tag,不能跟着 dev 分支走。

什么情况下选它

需要在一个客户端里同时处理关系库与消息、缓存、向量、时序数据源时,GoNavi 的覆盖面比同组多数工具更宽。体积要求敏感、又不想装 Electron 客户端的环境也适合它,安装包是约 20~26MB 这个级别。要把库结构交给编码助手、同时坚持口令不出本机的人,可以直接用它的 MCP 服务。

反过来,只连一个 PostgreSQL 或 MySQL、并且要长期稳定运行的生产环境,成熟度更高的老牌 GUI 或纯命令行工具更省心。想要大量第三方插件生态的,GoNavi 眼下给不了。不愿意跟着 dev 分支、也无法接受功能迭代慢半拍的团队,需要先想清楚自己锁定哪个 tag。

使用前有一道边界必须说清。数据库是生产资产,连接行为本身受授权约束,GoNavi 只应指向自己拥有或已获得明确授权的数据库。把连接串、口令和业务数据交给任意一方之前,先确认对方的使用条款;扫描、批量探测未授权目标在多数司法辖区都可能违法,也会触发平台风控。

实际使用中的坑,Issue 列表里有几类反复出现。macOS 26.4 上装 0.6.6 后应用不显示窗口、只有 Dock 栏有图标,回退到 0.6.5 才正常;同类现象在 v0.9.8 又以 Dock 图标空白的形式出现,进入设置触发一次操作后才恢复,两条目前都标记为已解决。MongoDB 有用户从 0.5.6 起持续连不上,同样是已解决状态。国产数据库(例如达梦)曾经没有现成教程,提问后由作者认领处理。Elasticsearch 测试连接正常但打不开、ClickHouse 测试连接报错,都集中在 0.8.6 这一个版本,也已标记解决。

安装方面,最直接的方式是从 GitHub Releases 下载对应平台的安装包。仓库里另外提供了三套 Docker 构建,对应文件是 Dockerfile.web-server、Dockerfile.mcp-server 和 Dockerfile.cli,配套的 compose 文件为 docker-compose.web-server.yml、docker-compose.mcp-server.yml、docker-compose.cli.yml,另有 .env.example 模板可以参考。仓库里没有给出逐步的本地开发构建说明,只有 build-release.sh 与 build-driver-agents.sh 这类脚本。软件最近一次提交在 2026-10-03,正式版本走到 v1.0.1,开放 Issue 剩 3 个。

焚评:这个项目的量化评分

本项目的选题来自 焚.com(一个按公开公式给 GitHub 项目打分的站)。焚评当前总分 9.9 分(满分 10)。下表是各维度的得分:

评分维度得分
热度动量(权重 25%)10.0 / 10
开发活跃(权重 25%)9.5 / 10
社区响应(权重 15%)10.0 / 10
文档质量(权重 15%)10.0 / 10
发布节奏(权重 10%)10.0 / 10
风险控制(权重 10%)10.0 / 10

评分口径、权重与计算方式见焚.com 的评分方法页;数据随 GitHub 指标刷新,具体数值以焚.com 当前页面为准。本文正文为诀.com 独立撰写,评分数据由焚.com 授权引用。

内容核验说明

把数据源广度、安装包体积和 MCP 出口放在一起横向对照,是这篇的实际用处:它讲清了 GoNavi 适合在一个界面里同时处理关系库、缓存、消息队列和向量库的人,也把 Star 数偏低、dev 分支仅供内部测试、生产环境更该考虑老牌 GUI 这些反向信息写了出来。

安装包体积、内存采样、Star/Fork 数、提交时间等来自作者与仓库公开披露,诀.com 未独立验证;其中内存数据原文明确是带标签的样本,不是基准分数。焚评评分由焚.com 授权引用,口径见其方法页。文中的 Issue 现象均为提交者自述,未逐条复现,实际结果不保证在其他环境复现。

项目来源与说明

开源项目:Syngnat(Syngnat)

本文由诀.com 编辑基于该项目的公开信息独立撰写,属原创解读,不是对项目文档的翻译或转载;文中提到的功能与参数以官方仓库为准,代码与文档版权归原作者所有。

查看项目仓库