Files
MyGoNavi/README.zh-CN.md
Syngnat 4f7ac7149a 📝 docs(readme): 新增项目 Star 增长趋势图与动态状态徽章
- 状态徽章:顶部引入 Shields.io 徽章,实时展示当前总 Star 数与全资源累计下载量
- 增长趋势:底部区域新增 Star History 的动态增长曲线图表
- 兼容性修复:将 HTML `<picture>` 语法回退为标准 Markdown 图片格式,解决部分本地开发工具的预览问题
- 国际化同步:中美双语(README.md 与 README.zh-CN.md)同步部署展示更新
2026-04-01 13:52:57 +08:00

7.9 KiB
Raw Blame History

GoNavi - 现代化轻量级数据库客户端

Go Version Wails Version React Version License Build Status Stars Downloads

语言: English | 简体中文

GoNavi 是基于 Wails (Go)React 构建的跨平台数据库管理工具,强调原生性能、低资源占用与多数据源统一工作流。

相比常见 Electron 客户端GoNavi 在体积、启动速度和内存占用上更轻量。


项目简介

GoNavi 面向开发者与 DBA核心目标是让数据库操作在桌面端做到“快、稳、统一”。

  • 原生性能架构WailsGo + WebView降低运行时开销。
  • 大数据可用性:虚拟滚动 + DataGrid 交互优化,提升大结果集可操作性。
  • 统一连接能力:支持 URI 生成/解析、SSH 隧道、代理、驱动按需安装。
  • 工程化能力完整:覆盖 SQL 编辑、对象管理、批量导出/备份、数据同步、执行日志、在线更新。

支持的数据源

内置:主程序开箱即用。
可选驱动代理:需在驱动管理中安装启用后可用。

类别 数据源 驱动模式 典型能力
关系型 MySQL 内置 库表浏览、SQL 查询、数据编辑、导出/备份
关系型 PostgreSQL 内置 库表浏览、SQL 查询、数据编辑、对象管理
关系型 Oracle 内置 连接查询、对象浏览、数据编辑
缓存 Redis 内置 Key 浏览、命令执行、编码/视图切换
关系型 MariaDB 可选驱动代理 连接查询、对象管理、数据编辑
关系型 Doris 可选驱动代理 连接查询、对象浏览、SQL 执行
搜索 Sphinx 可选驱动代理 SphinxQL 查询与对象浏览
关系型 SQL Server 可选驱动代理 库表浏览、SQL 查询、对象管理
文件型 SQLite 可选驱动代理 本地文件库浏览、编辑、导出
文件型 DuckDB 可选驱动代理 大表查询、分页浏览、文件库管理
国产数据库 Dameng 可选驱动代理 连接查询、对象浏览、数据编辑
国产数据库 Kingbase 可选驱动代理 连接查询、对象浏览、数据编辑
国产数据库 HighGo 可选驱动代理 连接查询、对象浏览、数据编辑
国产数据库 Vastbase 可选驱动代理 连接查询、对象浏览、数据编辑
文档型 MongoDB 可选驱动代理 文档查询、集合浏览、连接管理
时序 TDengine 可选驱动代理 时序库表浏览、查询分析
列式分析 ClickHouse 可选驱动代理 分析查询、对象浏览、SQL 执行
扩展接入 Custom Driver/DSN 自定义 通过 Driver + DSN 接入更多数据源

📸 项目截图

image image image
image image image

核心特性

AI 智能助手 (New)

  • 多模型服务商支持:内置跨平台接入 OpenAI, Google Gemini, Anthropic Claude同时支持任意自定义兼容 OpenAI 格式的 API。
  • 关联表结构上下文:原生支持将当前数据库表结构直接提取作为上下文发送给 AI让 SQL 生成、分析变得更精准。
  • 快捷指令:内置多种快捷对话指(如一键生成 SQL、解释执行逻辑、分析性能优化、表字段代码评审等

性能与交互

  • 大数据场景下保持流畅交互(含 DataGrid 列宽拖拽、批量编辑流程优化)。
  • 虚拟滚动渲染,降低大结果集卡顿风险。

数据管理DataGrid

  • 单元格所见即所得编辑。
  • 批量新增/修改/删除,支持事务提交与回滚。
  • 大字段弹窗编辑。
  • 右键上下文操作NULL、复制、导出等
  • 根据查询上下文智能切换读写模式。
  • 支持 CSV / XLSX / JSON / Markdown 导出。

SQL 编辑器

  • 基于 Monaco Editor。
  • 上下文补全(数据库/表/字段)。
  • 多标签查询工作流。

连接与驱动

  • URI 生成与解析。
  • SSH 隧道、代理支持。
  • 连接配置 JSON 导入/导出。
  • 可选驱动安装与启用管理。

Redis 工具

  • 自动/原始文本/UTF-8/十六进制等视图模式。
  • 内置命令执行面板。

可观测性与更新

  • SQL 执行日志(含耗时)。
  • 启动/定时/手动更新检查。

UI 体验

  • Ant Design 5 体系。
  • 深色/浅色主题切换。
  • 灵活布局与侧边栏行为。

技术栈

  • 后端: Go 1.24 + Wails v2
  • 前端: React 18 + TypeScript + Vite
  • UI 框架: Ant Design 5
  • 状态管理: Zustand
  • 编辑器: Monaco Editor

安装与运行

前置要求

  • Go 1.21+
  • Node.js 18+
  • Wails CLI: go install github.com/wailsapp/wails/v2/cmd/wails@latest

开发模式

# 克隆项目
git clone https://github.com/Syngnat/GoNavi.git
cd GoNavi

# 启动开发(热重载)
wails dev

编译构建

# 构建当前平台
wails build

# 清理后构建(发布前推荐)
wails build -clean

构建产物位于 build/bin

跨平台发布GitHub Actions

仓库内置发布流水线,推送 v* Tag 可自动构建并发布 Release。 Release 更新说明会基于已合并 Pull Request 自动生成,并按 .github/release.yaml 分类。

支持目标:

  • macOS (AMD64 / ARM64)
  • Windows (AMD64)
  • Linux (AMD64含 WebKitGTK 4.0 / 4.1 变体)

常见问题

macOS 提示“应用已损坏,无法打开”

在未进行 Apple Notarization 时Gatekeeper 可能拦截应用。

sudo xattr -rd com.apple.quarantine /Applications/GoNavi.app

Linux 缺少 libwebkit2gtk / libjavascriptcoregtk

# Debian 13 / Ubuntu 24.04+
sudo apt-get update
sudo apt-get install -y libgtk-3-0 libwebkit2gtk-4.1-0 libjavascriptcoregtk-4.1-0

# Ubuntu 22.04 / Debian 12
sudo apt-get update
sudo apt-get install -y libgtk-3-0 libwebkit2gtk-4.0-37 libjavascriptcoregtk-4.0-18

贡献指南

欢迎提交 Issue 与 Pull Request。

完整流程、分支模型与维护者同步规则请查看:

外部贡献者统一直接向 main 发起 Pull Request。

Star History (Star 增长趋势)

Star History Chart

友情链接

开源协议

本项目采用 Apache-2.0 协议