告别 Electron 臃肿!30MB 的原生数据库客户端 GoNavi:AI + MCP 加持,还支持达梦、OceanBase 等国产库
告别 Electron 臃肿!30MB 的原生数据库客户端 GoNavi:AI + MCP 加持,还支持达梦、OceanBase 等国产库
一套客户端,航行全部数据源 —— 原生性能 · Agent 就绪 · 告别 Electron 膨胀。
项目地址:https://github.com/Syngnat/GoNavi
一、为什么要关注 GoNavi?
用过 DBeaver、Navicat 或各种 Electron 系数据库 GUI 的同学应该都有体会:安装包动辄几百 MB、启动慢、内存占用高。本质原因是它们大多背着一个完整的 Chromium + Node 运行时。
GoNavi 换了一条技术路线:Go + Wails v2 + 系统 WebView,直接砍掉了 Chromium,二进制体积只有 约 30MB,启动快、内存轻。
| 常见 Electron 客户端 | GoNavi | |
|---|---|---|
| 运行时 | Chromium + Node | Go + 系统 WebView |
| 体积 | 动辄数百 MB | 约 30MB |
| 启动 | 偏重 | 更快 |
| 内存 | 基线高 | 更轻 |
| AI / Agent | 外挂或缺失 | MCP + 多模型一等公民 |
| 数据源 | 以 RDBMS 为主 | SQL · 缓存 · 向量 · 消息 · 国产库 |
更难得的是,它不只是"又一个 SQL 客户端",而是把 AI 和 MCP(Model Context Protocol)做成了一等公民,天然适配现在的 AI 编程工作流。
项目热度(截至 2026-07)
- ⭐ Star:1,793,Fork:185
- 📝 提交数:1,752+(dev 分支),几乎每天都在更新
- 📅 2026 年 1 月底创建,半年时间快速成长
- 📜 许可证:Apache-2.0,可放心商用
二、技术栈与整体架构
技术栈:Go 1.24 · Wails v2 · React 18 · TypeScript · Vite · Ant Design 5 · Zustand · Monaco
整体架构一张图看懂:
┌──────────────────────────────────────────────────────────────────────┐
│ GoNavi 工作台 │
│ ┌─────────────┐ ┌──────────────────┐ ┌─────────────────────────┐ │
│ │ 连接管理 │ │ Monaco SQL + AI │ │ 虚拟滚动 DataGrid │ │
│ │ SSH / 代理 │ │ 表结构上下文 │ │ 批量编辑 · 导出 │ │
│ │ 驱动代理 │ │ 快捷指令 │ │ 事务提交 / 回滚 │ │
│ └─────────────┘ └────────┬─────────┘ └─────────────────────────┘ │
│ │ │
│ ┌─────────────▼─────────────┐ │
│ │ Go 核心 · 审计 · 同步 │ │
│ │ MCP HTTP · Web Server │ │
│ └───────────────────────────┘ │
└──────────────────────────────────────────────────────────────────────┘
它提供 三种运行形态:
- 桌面端(主打):Wails 打包,跨 macOS(AMD64/ARM64)、Windows、Linux(WebKitGTK 4.0/4.1)
- Web Server(实验性):同一套 Go 后端 + React 前端,通过浏览器访问,支持 Docker / K8s / Helm / Podman 部署
- MCP Server:独立容器化部署,把数据库结构工具交给 AI Agent
三、核心亮点逐个看
3.1 懂表结构的 AI 助手 🤖
这是 GoNavi 和传统数据库客户端最大的差异点:
- 支持 OpenAI、Gemini、Claude 及任意 OpenAI 兼容 API
- 自动把当前库表结构注入对话上下文,AI 不再"瞎猜"字段名
- 快捷指令:生成 SQL、解释 SQL、优化 SQL、表设计评审
- 关键安全设计:连接信息和密码始终留在本机,不会发给模型
3.2 MCP 原生支持,Agent 就绪 🔌
现在大家都在用 Claude Code、Codex 这类编码 Agent 写代码,但 Agent 拿不到数据库结构就只能靠猜。GoNavi 的解法是:
- 一键把 MCP Server 装到 Claude Code / Codex
- 或以 Streamable HTTP 方式提供给远端 Agent
- 安全默认值做得很好:远端默认
schema-only,不暴露execute_sql;变更类 SQL 必须显式设置allowMutating=true
一句话总结它的理念:把结构工具交给 Agent,而不是把密钥交出去。
# MCP Server 容器化部署
cp docker.mcp-server.env.example docker.mcp-server.env
docker compose --env-file docker.mcp-server.env -f docker-compose.mcp-server.yml up -d
3.3 数据源覆盖面极广,国产库是杀手锏 🗄
内置 12 种(开箱即用):
MySQL · GoldenDB · PostgreSQL · Oracle · Redis · Chroma · Qdrant · Milvus · RocketMQ · MQTT · Kafka · RabbitMQ
可选驱动代理 20+ 种(在驱动管理中按需安装):
MariaDB · Doris · StarRocks · SQL Server · SQLite · DuckDB · MongoDB · ClickHouse · Trino · Elasticsearch · TDengine · IoTDB · 达梦 · 人大金仓 · 瀚高 · 海量 · openGauss · GaussDB · OceanBase 等,还支持 Custom Driver + DSN 自定义扩展
注意看加粗部分——国产数据库支持矩阵相当完整,对做信创、政企项目的同学来说,这可能是目前开源客户端里最省心的选择之一。关系型、缓存、向量库、消息队列、时序库全部在一个工作台里打通。
3.4 大数据量下依然流畅 ⚡
- 虚拟滚动 DataGrid,大结果集不卡顿
- 单元格编辑、批量增删改、事务提交/回滚
- 大字段弹窗查看、按查询智能切换读写
- 导出:CSV / XLSX / JSON / Markdown
- Monaco 编辑器 + 库/表/字段上下文补全
3.5 可观测与企业级交付 🛡
- SQL 执行日志(含耗时)
- 审计中心:默认脱敏、保留策略、可导出
- 连接支持 SSH 隧道、代理、JSON 导入导出
- 推 Tag 自动触发 GitHub Actions 多架构构建发布
四、快速上手
方式一:直接下载(推荐)
前往 Releases 下载对应平台的安装包(macOS AMD64/ARM64 · Windows AMD64 · Linux WebKitGTK 4.0/4.1)。
方式二:源码构建
前置要求:Go 1.21+、Node.js 18+、Wails CLI
go install github.com/wailsapp/wails/v2/cmd/wails@v2.11.0
git clone https://github.com/Syngnat/GoNavi.git
cd GoNavi
wails dev # 开发模式,完整热重载
wails build # 构建,产物在 build/bin
方式三:Web Server 模式(实验性)
cp docker.web-server.env.example docker.web-server.env
# 设置 GONAVI_HOST_DATA_ROOT 为绝对路径
docker compose --env-file docker.web-server.env -f docker-compose.web-server.yml up -d
# 浏览器打开 http://127.0.0.1:34116
首次访问会进入 /setup 设置管理员密码,支持 Google Authenticator 二次验证、登录限流。
⚠️ 官方明确提醒:不要把未加固的 Web 入口直接暴露到公网,生产环境请配合反向代理 + HTTPS。
常见坑
- Windows:依赖 Microsoft Edge WebView2 运行时,内网/精简系统/LTSC 可能未预装,会白屏或闪退,需手动安装 Evergreen Standalone Installer
- macOS:提示"应用已损坏"时执行
sudo xattr -rd com.apple.quarantine /Applications/GoNavi.app - Linux:需安装 WebKitGTK(
libwebkit2gtk-4.1-0或4.0-37)
五、客观评价
👍 优势
- 定位精准:Electron 客户端的体积/性能痛点真实存在
- AI + MCP 集成走在同类工具前面,且安全设计克制(schema-only 默认、密钥不出本机)
- 国产数据库支持矩阵完整,信创场景友好
- 迭代速度惊人:半年 1700+ 提交,文档中英双语齐全
👀 需要注意
- 主要由个人开发者维护,长期维护性有待观察(不过社区共建计划已经启动)
- Web Server 模式仍是实验性,近期修复过登录锁定绕过等安全问题,生产环境暴露需谨慎
- Windows 桌面端依赖 WebView2 运行时,离线内网环境需额外准备安装包
🎯 适合人群
- 受够了几百 MB 数据库客户端的开发者
- 想让 Claude Code / Codex 等编码 Agent 安全读取库表结构的 AI 工作流用户
- 有达梦、OceanBase、openGauss 等国产数据库管理需求的信创项目团队
- 需要同时管理 SQL、Redis、Kafka、Milvus 等多类数据源的全栈/运维同学
六、总结
GoNavi 用 Go + Wails 证明了数据库客户端不必是"套壳浏览器":30MB 的体积做到了主流工具的核心功能,还前瞻性地押注了 AI + MCP 这条路线。如果你正在寻找一个轻快、现代、对国产库友好的数据库工作台,值得一试。
- 项目地址:https://github.com/Syngnat/GoNavi
- 下载地址:https://github.com/Syngnat/GoNavi/releases
- 开源协议:Apache-2.0
如果觉得项目不错,别忘了给作者点个 Star ⭐
浙公网安备 33010602011771号