Syngnat/GoNavi · 上手攻略

  • 仓库:Syngnat/GoNavi
  • 链接:https://github.com/Syngnat/GoNavi
  • 分类:database-client / mcp-ready
  • 作者:Tom
  • 更新:2026-08-10

是什么 / 解决什么问题

GoNavi 是一款高性能跨平台数据库工作台,核心理念:一套客户端打通全部数据源——原生性能、Agent 就绪、告别 Electron 膨胀。

传统数据库 GUI 多为 Electron 壳:体积动辄数百 MB、启动慢、内存占用高、AI/Agent 支持外挂或缺失。GoNavi 换了一条路:用 Go + Wails(原生 WebView) 构建,约 30MB 量级的二进制包,冷启动秒开,内存基线极低。同时把 MCP(Model Context Protocol)多模型 AI 助手 作为一等公民内置,让编码 Agent 可以安全调用数据库工具而不泄露密码。

支持数据源覆盖:SQL(RDBMS)、缓存、向量库、消息队列、搜索引擎、时序数据库、国产数据库,共 40+ 数据源


快速安装

下载二进制(推荐)

前往:https://github.com/Syngnat/GoNavi/releases

支持平台: - macOS AMD64 / ARM64(Apple Silicon) - Windows AMD64 - Linux WebKitGTK 4.0 / 4.1

下载对应架构的压缩包,解压即用,无需安装。

源码构建(需 Go 1.21+ / Node.js 18+ / Wails CLI)

# 安装 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

# 或快速热重载(Go 导出签名未变时)
node tools/wails-fast-dev.mjs

# 发布构建
wails build -clean
# 产物位于 build/bin/

Docker 部署(Web Server 模式)

cp docker.web-server.env.example docker.web-server.env
# 编辑 env:设置 GONAVI_HOST_DATA_ROOT 为绝对路径
# 可选:GONAVI_WEB_PASSWORD(至少 6 位)

docker compose --env-file docker.web-server.env \
  -f docker-compose.web-server.yml up -d

# 访问(首次访问 /setup 设置管理员密码)
open http://127.0.0.1:34116

⚠️ 不要将未加固的 Web 入口直接暴露公网;生产环境配合反向代理 + HTTPS。


核心用法

1. 连接管理

GoNavi 支持两种连接模式: - 桌面端直连:连接配置留在本地 - MCP Server 模式(推荐 Agent 场景):远端 Agent 通过 MCP 调用,密码不离开主机

内置驱动(开箱即用)

类别 数据源
关系型 MySQL、PostgreSQL、Oracle
国产 GoldenDB
缓存 Redis
向量库 Chroma、Qdrant、Milvus
消息队列 RocketMQ、MQTT、Kafka、RabbitMQ

可选驱动(Driver Manager 安装):MariaDB、Doris、StarRocks、ClickHouse、OceanBase、达梦、人大金仓、瀚高、GaussDB、TDengine、IoTDB、Elasticsearch、MongoDB 等。

2. AI 助手 + MCP(核心卖点)

# 启动 MCP Server(Docker 方式)
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

MCP Server 支持: - Claude Code / Codex:一键安装到本地 Claude Code - Streamable HTTP:供远端 Agent 调用

安全设计:远端只传递 schema,不暴露 execute_sql;变更类 SQL 需显式 allowMutating=true

AI 助手功能: - 自动注入当前库表结构为对话上下文 - 快捷指令:生成 SQL、解释执行计划、优化建议、表设计评审 - 支持 OpenAI / Gemini / Claude / 自定义 OpenAI 兼容 API

3. SQL 编辑与执行

  • Monaco 编辑器:带库/表/字段上下文补全
  • 虚拟滚动 DataGrid:大结果集不卡顿
  • 事务支持:提交 / 回滚
  • 批量编辑:单元格 in-place 编辑 + 批量 CRUD
  • 导出:CSV、XLSX、JSON、Markdown

4. ES 控制台(特色功能)

Elasticsearch 连接提供 Dev Tools 风格控制台: - 支持 _bulk_msearch(NDJSON 格式) - 请求模板自动适配 ES 6/7/8 版本 - 删除等危险操作有时效性一次性确认 - 写操作仅允许明确的物理索引,并要求 view_index_metadata 权限

5. 审计中心

  • SQL 执行日志(含耗时)
  • 审计中心默认脱敏,支持保留策略配置和导出

典型适用场景

场景 推荐理由
数据库日常管理(MySQL/PG/Redis) 30MB 秒开,比 Navicat 轻 10 倍
编码 Agent 安全调用数据库 MCP 模式密码不外流,Agent 只拿 schema
国产数据库统一管理 内置 GoldenDB,可选达梦/人大金仓/GaussDB 等
向量数据库管理 内置 Chroma/Qdrant/Milvus 支持
大结果集导出 虚拟滚动不卡顿,支持多格式导出
混合多数据源查询 Trino 联邦查询跨 catalog SQL
企业内网数据库安全访问 SSH 隧道 + 代理 + 审计日志

坑与注意

  1. ES 控制台限制:不承诺兼容 OpenSearch;未开放 reindex、安全、快照、节点、集群设置等高权限 API。这是安全设计,不是 bug。

  2. Web Server 安全:实验性功能,不要直接暴露公网;首次访问 /setup 必须设管理员密码。

  3. Docker env 修改后重建docker restart 不会重新加载 env 文件,必须 docker compose up -d --force-recreate

  4. 可选驱动按需安装:内置驱动已覆盖大多数场景,可选驱动通过 Driver Manager 按需安装,减少体积。

  5. macOS ARM64:Apple Silicon Mac 下载 ARM64 版本,性能最佳。

  6. Wails 版本:README 标注 Wails v2.11.0(⚠️ 未验证 v2.11.0 是否为最新稳定版,实际安装建议确认 GitHub Releases 最新版本号)。

  7. 国产数据库兼容性:GoldenDB 为内置支持(MySQL 兼容),其他国产库(达梦、GaussDB 等)为可选驱动,首次连接如遇问题参考 Driver Manager 里的具体驱动版本。


与同类对比

维度 GoNavi DBeaver Navicat TablePlus
技术栈 Go + Wails Java/Eclipse 原生+Electron 原生 Swift
体积 ~30MB 数百 MB 数百 MB 数十 MB
启动速度 秒开 较慢
MCP/Agent 支持 ✅ MCP 原生
AI 助手 ✅ 多模型内置
内置国产 DB ✅ GoldenDB 需插件
向量库 ✅ Chroma/Qdrant/Milvus 有限
消息队列 ✅ 全套内置 有限 部分
Web Server 模式 ✅ 实验性
开源 Community 免费

核心差异:GoNavi 是目前唯一把 MCP + AI 助手 作为一等公民的跨平台数据库客户端,且对国产数据库和消息队列覆盖最全;对比 Electron GUI(Navicat/DBeaver)体积小一个数量级。


一句话推荐结论

需要管理 MySQL + Redis + 向量库 + 国产 DB,又想给 Claude Code 安全装个数据库工具——GoNavi 是目前最小、最快、MCP 支持最原生的选择。


来源:GitHub README(https://github.com/Syngnat/GoNavi)、README.zh-CN.md、Web Search 补充(MCP 协议生态信息)