Linux 构建前需先装 GTK3 与 WebKitGTK 开发包,且 4.0/4.1 版本不同。 CLI 未发布到 npm,需从 Release 下载归档并校验 checksum。 Web Server 首次访问要走 /setup 令牌初始化,默认监听 127.0.0.1:34116。
GoNavi
SyngnatApache-2.0活跃维护约 30MB 的轻量级多数据源数据库客户端,支持 MongoDB、Kafka、MQTT 等,内置 AI 与 MCP 能力,替代 Electron 桌面工具的臃肿方案。
High-performance multi-data-source database client — ~30MB, AI & MCP ready, zero Electron bloat. | 高性能多数据源数据库客户端:约 30MB,AI 与 MCP 就绪,告别 Electron 膨胀。
wails build
wails build -cleanREADME 未给出显存或 GPU 要求;桌面端依赖系统 WebView,Linux 需 WebKitGTK 4.0 或 4.1。构建前端时内存峰值约 3GB。
基于 Go+Wails 的轻量多数据源数据库客户端,内置 AI 与 MCP,告别 Electron 体积膨胀
约 30MB 的轻量级多数据源数据库客户端,支持 MongoDB、Kafka、MQTT 等,内置 AI 与 MCP 能力,替代 Electron 桌面工具的臃肿方案。
核心能力
- 用 Go + 系统 WebView(Wails)替代 Chromium 运行时
- 安装包约 20–26MB 级别,覆盖 Win/macOS/Linux
- 统一接入 SQL、缓存、向量、MQ、搜索、时序与国产数据库
- 内置多供应商 AI 助手,结合 schema 上下文生成 SQL
- 提供 MCP 与无头 CLI,可把结构化上下文交给编码 Agent
容易踩的坑
- dev-latest🧪 Dev Build (dev-470999f)pre-release2026-11-09 · 2026-11-09 15:50 UTC
查看更新说明
🧪 测试版本 (Dev Build)
版本:
dev-470999f分支:dev提交:470999f647735cdd7f0312c24f414fc74a30fef9构建时间: 2026-11-09 23:11:11⚠️ 这是开发测试版本,仅供内部测试使用,不建议用于生产环境。 每次 push 到
dev分支会自动覆盖此 release。更新日志(相对上一测试版)
💖 赞助商 · 華龍AI算力:双十一充值狂欢(11.11 当天限时)——充 $100 送 $11.11,充 $1000 送 $111.1,每位用户限 1 次。 🎁 当天群内抽 4 台 GatewaySentry VPS(2 核 / 4G 内存 / 40G 硬盘 / 1T 月流量,有效期 1 个月)。 📩 微信私聊客服 zqhaic 办理充值,11 月 11 日全天有效。
🐛 问题修复
- 🐛 fix(plugin-market): 修正只读仓库地址基线偏移
完整变更: 528d88e0b65794518d0145f6c062176265a4ff51...470999f647735cdd7f0312c24f414fc74a30fef9
- v1.2.2最新正式版2026-11-06 · 2026-11-06 09:20 UTC
💖 赞助商 · 華龍AI算力:最新活动 国模百亿补贴,DeepSeek、GLM 等模型只需 0.8 折(不足一折)。 🎁 注册链接
✨ 新功能
- ✨ feat(web-server): 同步连接变更并增加版本冲突保护
- ✨ feat(web-audit): 审计记录操作者并异步批量落盘
- ✨ feat(web-auth): 支持多用户、只读角色与账号级 TOTP
- ✨ feat(data-grid): 长文本单元格补 title,标明总字符数
- ✨ feat(mcp): 外部客户端检测同时识别桌面客户端,Claude Desktop 写入自己的配置
- ✨ feat(plugin): 沙箱页面可加载包内资源与页面 UI Kit,CSP 仅放行宿主源
- ✨ feat(plugin): 页面桥参数上限提升到 1 MiB,支持较大文件内容写入
- ✨ feat(plugin): 新增 events.publish 与 xterm 交互式终端入口
- ✨ feat(plugins): 新增 sidebar/views/keybindings 示例插件
- ✨ feat(plugin): 新增 dialog.confirm 与能力目录版本 3
- ✨ feat(plugin): 新增 progress.report,插件任务进度以宿主通知展示
- ✨ feat(plugin): 新增快捷键贡献点,插件可注册全局快捷键打开页面或窗口
- ✨ feat(plugin): UI Kit 新增图表独立入口,按需加载 recharts
- ✨ feat(plugin): UI Kit 新增 Monaco 编辑器独立入口,按需加载
- ✨ feat(plugin): UI Kit 新增受控表设计器,仅生成 DDL 不执行
- ✨ feat(plugin): UI Kit 新增只读连接树适配器
- ✨ feat(plugin): UI Kit 新增表格、查询工作台与连接选择适配器
- ✨ feat(plugin): UI Kit 新增终端与文件树组件
- ✨ feat(plugin): navigation 支持命令面板入口,面板外观由插件自渲染
- ✨ feat(plugin): views 支持底部停靠,插件页面可挂底部面板
- ✨ feat(plugin): 新增 views 面板视图,页面可停靠右侧工作台
- ✨ feat(plugin): navigation 支持状态栏位置,插件入口可挂到底部状态栏
- ✨ feat(plugin): 新增事件订阅长轮询与剪贴板能力
- ✨ feat(plugin): 新增 files.pick/files.save,页面可获得原生文件对话框
- ✨ feat(plugin): 新增侧边栏节点贡献点,插件可向连接树挂分组
🐛 问题修复
- 🐛 fix(data-export): 批量删除模式改用删除语义文案
- 🐛 fix(data-export): 批量删除数据库显示任务进度
- 🐛 fix(data-export): 批量截断/清空同步显示任务进度
- 🐛 fix(data-export): 批量删表在任务面板显示实时进度
- 🐛 fix(query-editor): 建对象页签保存统一执行建对象 DDL
- 🐛 fix(query-editor): 创建存储过程页签保存改为执行建对象 DDL
- 🐛 fix(query-editor/table-designer): 修复默认值引号、结果页签与 Monaco 排版约束
- 🐛 fix(data-grid/query-editor): 修复长文本查看器与写操作误报
- 🐛 fix(plugin): 页面 CSP 放行 wails:// 宿主源,并允许 blob 与宿主字体
- 🐛 fix(plugin): 侧边栏容忍未知字段与非法节点,新增节点右键动作并提示窗口错误
- 🐛 fix(plugin-sdk): 解析器补上 sidebar / views / keybindings 三个新字段
- 🐛 fix(i18n): 重新生成 catalog.zip,修复 dev 上的 TestCatalogZipInSyncWithJSON
- 🐛 fix(kingbase): 列定义查询改用不带 jsonb 取值的写法,修复结果集丢注释与类型
- 🐛 fix(plugin): 插件窗口入口直接返回 HTML,修复白屏重定向
⚡ 性能优化
- ⚡️ perf(web-server): 增加并发准入、压缩缓存与运维指标
🔧 其他变更
- 🔧 chore(release): 准备 v1.2.2 发布
- ✅ test(syncjob): 放宽关闭超时避免 CI 负载下误报
- 📝 docs(web-server): 移除 Web Server 实验性标注
- 📝 docs(web-server): 补充多用户、多副本与运维说明
- ✅ test(ai-provider): 放宽 Grok CLI keepalive 用例的空闲超时余量
- ✅ test(mcp): 桌面端配置路径改为可替换钩子,修复 Linux CI 失败
- ✅ test(mcp): 桌面端配置路径改为可替换钩子,修复 Linux CI 失败
- 🧪 test(plugins): 示例清单计数同步新增 sidebar 示例
完整变更: v1.2.1...v1.2.2
macOS 安装提示
此版本的 macOS DMG 使用 ad-hoc 签名,未进行 Apple 公证。首次打开可能被 Gatekeeper 拦截;请确认来源后,在 Finder 中按住 Control 点击应用并选择“打开”。
- v1.2.12026-11-03 · 2026-11-03 15:40 UTC
查看更新说明
💖 赞助商 · 華龍AI算力:最新活动 国模百亿补贴,DeepSeek、GLM 等模型只需 0.8 折(不足一折)。 🎁 注册链接
✨ 新功能
- ✨ feat(tabs): 溢出菜单改为可搜索列表并修双行标签
- ✨ feat(update): 更新下载支持取消并可立即重来 (contributed by @AutumnNazi)
- ✨ feat(tabs): 增加「固定数量 / 水平滚动」两种溢出模式,恢复标签底色与三种外观
- ✨ feat(tabs): 标签固定宽度不压缩、溢出横向滚动、收纳只列放不下的
- ✨ feat(tabs): 标签条改为自绘可见性,溢出收进紧凑单行「更多」菜单
- ✨ feat(sidebar): 数据库右键支持整库复制(结构 + 数据)
- ✨ feat(data-grid): 表格数据支持快捷键刷新(Windows F5 / macOS ⌘⇧R)
- ✨ feat(table-designer): 表概览显示字符集,编辑已有表可改字符集与排序规则
- ✨ feat(data-sync): 修复 SQL 带完整列定义与索引语句,新增迁移脚本区
- ✨ feat(plugin): 顶栏按钮支持打开插件窗口
🐛 问题修复
- 🐛 fix(tabs): 溢出菜单测试补齐 TabData.connectionId
- 🐛 fix(docker): go mod download 前拷贝 sdk/go 模块
- 🐛 fix(tabs): 标签标题字号收小,第二行内容不再被逐个截断
- 🐛 fix(tabs): 双行标签不再被压扁,行末标签不再被裁
- 🐛 fix(tabs): 修复自绘标签条里标签互相重叠
- 🐛 fix(plugin-market): 版本页单条清单不合法不再拖垮整页
- 🐛 fix(monaco): 统一查看与编辑的字号与关键字分词 (contributed by @AutumnNazi)
- 🐛 fix(i18n): 重新生成 catalog.zip,修复 dev 上 Backend Tests 失败
- 🐛 fix(plugin): 清单不兼容的已装插件不再拖垮整个插件列表
- 🐛 fix(iris): 修复 DelimitedIds 关闭时表预览报 LITERAL 错误
- 🐛 fix(query-editor): 日志开关改为控制「日志」标签显隐并挪到查询工具条 (contributed by @virgosgod-maker)
- 🐛 fix(sidebar): 虚拟树高度补上内容容器的上下内边距
- 🐛 fix(query-editor): 避免常量投影借用实体列信息 (contributed by @AutumnNazi)
- 🐛 fix(query-editor): 修复列注释投影与选词兜底 (contributed by @AutumnNazi)
- 🐛 fix(sidebar): 展开大库后树下方留白,滚动一下才渲染
- 🐛 fix(ai): 修复 CodeBuddy 认证识别与聊天本地化 (contributed by @AutumnNazi)
- 🐛 fix(query-editor): 批量脚本结果汇总,DDL 不再显示影响行数 0
- 🐛 fix(query-editor): 按投影顺序精确判定裸列注释归属 (contributed by @AutumnNazi)
- 🐛 fix(query-editor): 收紧最后一行兜底命中判据并避免跨表借注释 (contributed by @AutumnNazi)
- 🐛 fix(ai): CodeBuddy 流式路径同样识别未登录并统一 stderr 摘要 (contributed by @AutumnNazi)
- 🐛 fix(query-editor): 修复结果列注释回填与最后一行选词 (contributed by @AutumnNazi)
- 🐛 fix(ai): CodeBuddy CLI 未登录时返回本地化提示 (contributed by @AutumnNazi)
- 🐛 fix(hive): 取消测试的超时窗口不再与初始提交撞车
- 🐛 fix(data-grid): 刷新快捷键真正生效——补传 isActive 与 shortcutOptions
- 🐛 fix(ci): SFX 模块改为随仓库提交,构建不再依赖 7-zip.org
- 🐛 fix(ci): Windows 便携版下载 7-Zip 失败不再拖垮整条打包流水线
- 🐛 fix(plugin): 安装时拒绝当前宿主跑不了的包
- 🐛 fix(data-sync): 细滚动条、筛选行定宽、修复 SQL 补齐遗漏的差异类型
- 🐛 fix(plugin): 过期持久化清单只隔离自身,不再拖垮插件运行时 (contributed by @AutumnNazi)
- 🐛 fix(plugin): 消除生命周期通知测试的空文件竞态
- 🐛 fix(release): drivers_only 模式跳过依赖 CLI 资产的列表步骤
- 🐛 fix(release): 阻止复用与当前 tag 不一致的驱动资产
- 🐛 fix(plugin): 收敛能力面契约并修复 P2 边界问题
- 🐛 fix(plugin): 收紧插件能力边界并修复审查发现的正确性缺口
♻️ 重构
- ♻️ refactor(plugin): 清单契约收敛到 SDK 单一实现,市场不再各自抄规则
- ♻️ refactor(plugin): 移除未消费的 configSchema 并收紧窗口权限
🔧 其他变更
- 🔧 chore(release): 准备 v1.2.1 发布
- ⏪ revert(tabs): 标签条回退到 v1.2.0 的实现
- 💄 style(tabs): 标签第二行的分隔符两侧不留间距
- 🔥 revert(sidebar): 移除临时诊断块
- ✅ test(plugin): datasource disable 不等待的阈值放宽到 1s
- 🔧 chore(sidebar): 临时诊断块,把虚拟树的关键尺寸画在侧边栏底部
- ✅ test(plugin): 等插件进入 running 的上限从 3s 放宽到 30s
- ✅ test(ai): 覆盖 CodeBuddy 流式的 stderr 摘要与静默结束分支 (contributed by @AutumnNazi)
- ✅ test(plugin): disable 不等待的阈值放宽到 1s,避免 Windows CI 抖动误报
- ✅ test(database-copy): 表清单失败用例不再依赖具体文案
- ✅ test(query-editor): kingbase 聚合结果用例不再断言「从不查列元数据」
- 🔧 chore(release): 驱动 provenance 检查显式使用驱动发布令牌
- 🔧 chore(i18n): 重新生成 catalog.zip 修复 dev 基线
- 🔧 chore(i18n): 重新生成 catalog.zip 同步权限文案
完整变更: v1.2.0...v1.2.1
macOS 安装提示
此版本的 macOS DMG 使用 ad-hoc 签名,未进行 Apple 公证。首次打开可能被 Gatekeeper 拦截;请确认来源后,在 Finder 中按住 Control 点击应用并选择“打开”。
- v1.2.02026-10-31 · 2026-10-31 11:49 UTC
查看更新说明
💖 赞助商 · 華龍AI算力:最新活动 国模百亿补贴,DeepSeek、GLM 等模型只需 0.8 折(不足一折)。 🎁 注册链接
✨ 新功能
- ✨ feat(plugin): 插件图标上限从 64 KiB 放宽到 5 MiB
- ✨ feat(data-sync): 对比报告补齐库名与本地时间,导出后自动打开
- ✨ feat(plugin-sdk): 清单类型补上顶层 icon 字段
- ✨ feat(data-sync): 对比结果改为仪表盘视图并支持导出 HTML 报告
- ✨ feat(plugin): 新增 system.open-external 外开能力
- ✨ feat(plugin): 插件页面复用宿主 SSH 隧道
- ✨ feat(ai): 测试模型按当前密钥可用模型校验
- ✨ feat(ai): 插件供应商模型区接入 models.dev 公共目录
- ✨ feat(ai): 密钥胶囊选择、模型扫描气泡与上下文档位
- ✨ feat(ai): 插件供应商账号面板与密钥增删改
- ✨ feat(datagrid): 查询结果按列名与别名回填字段类型注释
- ✨ feat(datagrid): 宽松解析 SQL 源表支撑结果列元数据回填
- ✨ feat(table-select): 表多选、批量右键操作与表名就地改名 (contributed by @2582547412)
- ✨ feat(ai): AI 设置内嵌插件供应商账号面板
- ✨ feat(plugin): 已安装插件卡片支持 Logo、单一启用状态与可读体积
- ✨ feat(sidebar): 在 V2 右键菜单接入插件动作
- ✨ feat(plugin): 允许插件页调用本插件已声明命令
- ✨ feat(plugin-window): 增加受控原生文件与目录选择 (contributed by @AutumnNazi)
- ✨ feat(plugin): 增加受控 DDL 预览与确认执行
- ✨ feat(plugin): 完成 v3 只读能力与插件直连下载
- ✨ feat(plugin): 开放连接右键动作与窗口/工作台能力
- ✨ feat(market): 允许发布者删除自有插件并支持受控清理
- ✨ feat(hive): 支持参数绑定并规范语句与列注释
- ✨ feat(ui): 适配 Hive 连接 URI 解析、SQL 错误诊断语义与多语言文案 (contributed by @lska367)
- ✨ feat(datasource): 注册 Hive 数据源规范、能力契约与 SQL 导出方言适配 (contributed by @lska367)
- ✨ feat(db): 新增 Apache Hive (HiveServer2 Thrift) 驱动实现与单元测试 (contributed by @lska367)
- ✨ feat(session-agent): 会话内搜索改为命中高亮与上下跳转 (contributed by @kunghim)
- ✨ feat(market): 支持 GitHub Release 直发插件
- ✨ feat(market): 市场认证改为网站 OAuth 与运维会话令牌
- ✨ feat(market): 补回市场 v2 网站会话与发布者接口
- ✨ feat(plugin): 支持为插件 AI 供应商配置品牌图标
- ✨ feat(ai): 将插件 AI 供应商并入添加供应商列表
- ✨ feat(plugin-ui): 插件页面接入标题栏与工作台
- ✨ feat(plugin): 新增插件页面宿主能力网关
- ✨ feat(plugin): 新增插件页面与导航清单契约
- ✨ feat(hive): 新增 Hive 连接支持并贯通查询、导入导出与同步
- ✨ feat(session-agent): 会话按具体日期分组并移除冗余的智能体徽标 (contributed by @kunghim)
- ✨ feat(session-agent): 会话浏览改版为任务索引与沉浸式详情 (contributed by @kunghim)
- ✨ feat(plugin-market): 完善多源筛选与匿名消费体验
- ✨ feat(plugin-market): 完善插件自助发布与 Release 自动同步
- ✨ feat(session-agent): 选型卡片给 ChatGPT / Claude Code 用上品牌图标 (contributed by @kunghim)
- ✨ feat(session-agent): 结构化结论在解析侧拆解,浏览端只负责渲染 (contributed by @kunghim)
- ✨ feat(session-agent): 子 Agent 的结构化结论按对话正文展示 (contributed by @kunghim)
- ✨ feat(plugins): 插件入口迁移至标题栏并独立为工作台 Tab
- ✨ feat(plugins): 支持 github:/npm 包名与 GitHub 链接远程安装
- ✨ feat(deeplink): 支持 gonavi://plugin/install 市场安装深链
- ✨ feat(sidebar): 智能体节点与右键菜单 (contributed by @kunghim)
- ✨ feat(session-agent): 会话管理界面——分组列表与聊天式详情 (contributed by @kunghim)
- ✨ feat(session-agent): 修复会话扫描解析并新增本机图片读取 (contributed by @kunghim)
- ✨ feat(session-agent): 新建连接弹窗智能体分类与添加式接入前端 (contributed by @kunghim)
- ✨ feat(session-agent): 智能体添加式接入后端(检测/持久化/绑定) (contributed by @kunghim)
- ✨ feat(session-agent): 会话管理界面按新设计重构并修复审查问题 (contributed by @kunghim)
- ✨ feat(session-agent): 会话管理工作台前端与 i18n (contributed by @kunghim)
- ✨ feat(app): 会话管理 Wails 绑定 (contributed by @kunghim)
- ✨ feat(sessionagent): Claude 适配器、双层缓存与扫描调度 (contributed by @kunghim)
- ✨ feat(sessionagent): 会话浏览领域模型与 Codex 解析器 (contributed by @kunghim)
- ✨ feat(session-assets): Codex 更名 ChatGPT 并采用 OpenAI 官方图标 (contributed by @kunghim)
- ✨ feat(session-assets): 列表行展示最后用户输入并重排行结构 (contributed by @kunghim)
- ✨ feat(session-assets): 来源重定位、导出校验测试与对话框安全防护(M6 补强) (contributed by @kunghim)
- ✨ feat(session-assets): 携带历史新建两阶段面板与范围化交接(M5 收尾) (contributed by @kunghim)
- ✨ feat(session-assets): 会话查找阅读导出删除与交接(M4+M5) (contributed by @kunghim)
- ✨ feat(session-assets): 归档捕获规则基于状态转变与材料版本(V-09/V-15/V-16) (contributed by @kunghim)
- ✨ feat(session-assets): 启动/启用后来源补核对接入与 M3 检查点 (contributed by @kunghim)
- ✨ feat(session-assets): 智能体接入、检测启用与来源发现观察(M2+M3 前半) (contributed by @kunghim)
- ✨ feat(session-assets): 智能体会话资产领域包:独立存储、材料提交事务与启动核对 (contributed by @kunghim)
🐛 问题修复
- 🐛 fix(plugin): 放宽 Windows 状态文件替换的重试预算
- 🐛 fix(data-sync): 统一行错误索引并保留失败错误身份
- 🐛 fix(data-sync): 收紧同步分页与作业状态的正确性缺口
- 🐛 fix(plugin): 消除 AI 看门狗测试的时序竞态
- v1.1.52026-10-23 · 2026-10-23 16:57 UTC
查看更新说明
💖 赞助商 · 華龍AI算力:最新活动 国模百亿补贴,DeepSeek、GLM 等模型只需 0.8 折(不足一折)。 🎁 注册链接
✨ 新功能
- ✨ feat(ai): 添加 API Route 服务商预设 (contributed by @DennyHo0917)
- ✨ feat(font-gallery): 字体库改为与选择器一致的单选框布局并支持选中即预览
- ✨ feat(font-gallery): 推荐名单新增思源宋体与枫叶等宽
- ✨ feat(deploy): 发布工具分级压缩预览字体并新增批次 2026-10-23.2
- ✨ feat(settings): 插件入口提级为设置中心顶层入口
- ✨ feat(font-gallery): 字体画廊默认展开
- ✨ feat(font-gallery): 推荐名单新增霞鹜文楷两款
- ✨ feat(deploy): 发布工具按字体名候选族校验
- ✨ feat(deploy): 新增字体画廊发布工具与离线回归测试
- ✨ feat(font-gallery): 推荐名单新增四个界面字体
- ✨ feat(font-gallery): 字体下拉内置浏览更多字体入口
- ✨ feat(font-gallery): 字体资产上限提升到 32MiB
- ✨ feat(font-gallery): 下载字体支持设为界面字体或代码字体
- ✨ feat(plugin): 完善插件管理与运行时能力
- ✨ feat(message-queue): Kafka 列表只取元数据,详情按需加载 payload (contributed by @AutumnNazi)
- ✨ feat(plugin): 落地可独立开发分发安装运行的开放插件体系
- ✨ feat(ai-chat): 将模型菜单改为供应商子菜单并加入推理滑块
- ✨ feat(nacos): 配置编辑器支持 JSON 解析器 (contributed by @virgosgod-maker)
- ✨ feat(xxljob): 调度配置新增可视化 Cron 构建器 (contributed by @kunghim)
- feat(ai): add Cheaper Inference provider preset (contributed by @aiapienthusiast)
- ✨ feat(xxljob): 日志面板补调度/执行备注列与超时语义 (contributed by @kunghim)
- ✨ feat(xxljob): 执行器面板支持新增/编辑/删除 (contributed by @kunghim)
- ✨ feat(xxljob): 任务面板对齐官方列表并支持新增/编辑/删除 (contributed by @kunghim)
- ✨ feat(app): 新增 XXL-JOB 任务/执行器/GLUE 变更绑定 (contributed by @kunghim)
- ✨ feat(xxljob): 领域层新增任务/执行器 CRUD 与 GLUE 源码保存 (contributed by @kunghim)
- ✨ feat(xxljob): 终止按钮仅在可终止时显示 (contributed by @kunghim)
- ✨ feat(xxljob): 新增侧边栏三入口与调度中心工作台面板 (contributed by @kunghim)
- ✨ feat(xxljob): 新建连接新增任务调度分组与 XXL-JOB 卡片 (contributed by @kunghim)
- ✨ feat(xxljob): 新增 XXL-JOB App 绑定、描述表类型与全局接线 (contributed by @kunghim)
- ✨ feat(xxljob): 新增 XXL-JOB 调度领域包与双协议栈客户端 (contributed by @kunghim)
🐛 问题修复
- 🐛 fix(driver-manager): 可选更新文案不再声称不影响使用
- 🐛 fix(kingbase): 维护库全失败报错附填写库名自助引导
- 🐛 fix(kingbase): 调度作业源探测改为验证关系可解析
- 🐛 fix(datasource-registry): 无 agent 的数据源描述视为合法并跳过驱动代理构建
- 🐛 fix(xxljob): 描述表补全 agent 声明修复 Dev Build 与 Docker 构建
- 🐛 fix(query-editor): 修复查询页输入时光标逐步右偏 (contributed by @virgosgod-maker)
- 🐛 fix(font-gallery): 打开字体面板即拉取远程目录
- 🐛 fix(message-queue): 修复 Kafka 预览截断、详情加载与发布不可用 (contributed by @AutumnNazi)
- 🐛 fix(driver-agent): 超大响应只让当前请求失败,不再终止连接 (contributed by @AutumnNazi)
- 🐛 fix(settings): 收窄工作台页签样式作用域,修复设置中心嵌套页签布局
- 🐛 fix(plugin): 隔离记录在 generation 并发移动后重试落盘
- 🐛 fix(xxljob): 按上游真实契约修正分页总数、版本探测与变更路由 (contributed by @kunghim)
- ✅ test(plugin): fixture 等待 host 响应时容忍交错的通知与请求
- 🐛 fix(plugin): 修复崩溃进程退出原因被诊断流关闭竞态覆盖
- 🐛 test(ci): 移除聚合门禁后同步后端工作流断言
- 🐛 fix(ai): 修内置 AI 刷新响应丢失导致强制重新登录
- 🐛 fix(ci): 授权Star History触发自动PR检查
- 🐛 fix(ci): 修复Star History自动PR检查触发
- 🐛 fix(ci): 显式触发Star History自动PR检查
- 🐛 fix(ci): 修复Star History受保护分支更新
- 🐛 test(ci): 修复前端类型与Windows进程测试
- 🐛 fix(database): 修复数据库加载失败后的重试
- 🐛 test(db): 放宽插件数据源禁用耗时上界到 1s
- 🐛 fix(plugin): 插件进程退出原因不再被管道关闭掩盖
- 🐛 test(plugin): 用 fd 探测统计句柄数,修复 darwin 上 /dev/fd 枚举失败
- 🐛 fix(plugin): 先发布运行时就绪再落盘运行态,消除 running 与 ErrDisabled 的竞态
- 🐛 fix(ci): 修正后端工作流守卫与插件测试命令不一致
- 🐛 fix(table-overview): 修复消息队列与 Redis 表概览回落到 information_schema 导致报错 (contributed by @AutumnNazi)
- 🐛 fix(table-overview): 补齐向量库、时序库与搜索引擎的表名列表路径 (contributed by @AutumnNazi)
- 🐛 fix(chroma): 修复部分版本 v2 无 databases 列表端点导致连接打不开 (contributed by @AutumnNazi)
- 🐛 fix(table-overview): 修复 MongoDB 表概览回落到 information_schema 导致加载失败 (contributed by @AutumnNazi)
- 🐛 fix(mongodb): 修复 SSH 隧道连接因 channel 不支持 deadline 一直超时
- 🐛 fix(query-editor): 修复自动补全括号后重复输入右括号
- 🐛 fix(xxljob): 无驱动类型的服务端版本探测返回空版本而非必然失败 (contributed by @kunghim)
- 🐛 fix(test): 修正 DML 快照测试的定时炸弹基准时间 (contributed by @kunghim)
- 🐛 fix(xxljob): 账号或密码错误不再误报为登录已失效 (contributed by @kunghim)
- 🐛 fix(xxljob): 2.x 的 ISO-8601 时间戳归一为本地时间 (contributed by @kunghim)
- 🐛 fix(xxljob): 执行器详情改用 id 参数,修复 3.3+ 返回 400 (contributed by @kunghim)
- 🐛 fix(app): 避免数据快照测试因固定日期超过保留期被裁空
- 🐛 fix(xxljob): 统一任务行操作为图标按钮
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Why GoNavi?
Most database GUIs are Electron shells with megabytes of tax. GoNavi takes a different path — and “lightweight” only makes sense if you separate three numbers:
| Number | What it means | GoNavi (v0.9.8) |
|---|---|---|
| Installer size | What you download | ~20–26 MB class (Win / macOS / Linux release assets) |
| Steady-state RSS | What RAM the running UI holds | Linux WebKit build, idle empty workbench: main ≈ 429 MB; with WebKit helpers ≈ 765 MB (method below) |
| UI stack | Chromium tax or not | Go + system WebView (Wails) — not Electron |
| Typical Electron client | GoNavi | |
|---|---|---|
| Runtime | Chromium + Node | Go + native WebView |
| Installer | Hundreds of MB common | ~20–26 MB class |
| Startup | Heavy | Fast |
| Memory claim | Often mixed with installer size | Measure RSS separately (see note) |
| AI / Agents | Bolt-on or absent | First-class MCP + multi-provider AI (draft SQL; GUI still owns schema / edits / EXPLAIN) |
| Data sources | Mostly RDBMS | SQL · Cache · Vector · MQ · Search · Time-series · Domestic DBs |
Installer MB ≠ RAM. The RSS figures above are one Linux cloud run of the v0.9.8 WebKit41 build (empty workbench, no DB connections, remote display, ~30–40 s steady). Do not compare them to installer size, or to unverified “native ~80 MB” marketing. Windows / macOS laptop numbers may differ — treat them as a labeled sample, not a leaderboard score.
One cockpit for MySQL, Postgres, Redis, Kafka, Milvus, OceanBase, ClickHouse…
Query, edit, audit, sync — and hand structured context to coding agents without leaking passwords off-host.
At a Glance
┌──────────────────────────────────────────────────────────────────────┐
│ GoNavi Workbench │
│ ┌─────────────┐ ┌──────────────────┐ ┌─────────────────────────┐ │
│ │ Connections │ │ Monaco SQL + AI │ │ Virtualized DataGrid │ │
│ │ SSH / Proxy │ │ Schema context │ │ Batch edit · Export │ │
│ │ Drivers │ │ Slash commands │ │ Txn submit / rollback │ │
│ └─────────────┘ └────────┬─────────┘ └─────────────────────────┘ │
│ │ │
│ ┌─────────────▼─────────────┐ │
│ │ Go core · Audit · Sync │ │
│ │ MCP HTTP · Web Server │ │
│ └───────────────────────────┘ │
└──────────────────────────────────────────────────────────────────────┘
Product screenshots
Each image is a full GoNavi application window (1440×900) captured from the latest dev build, scaled proportionally for README display.
💖 Sponsors
Want to sponsor GoNavi? We welcome sponsorships and partnerships that help sustain its open-source development. Contact the maintainer on WeChat:
ygf1140302783(note “GoNavi”) to start a conversation.
Special thanks to APISmart and HuaLongAI for sponsoring GoNavi open-source development.
| Sponsor | What they offer | Why it fits GoNavi |
|---|---|---|
| APISmart | APISmart provides unified access to leading AI models through a single API. Developers can connect to LLM, image, and video models using one API key and an OpenAI-compatible interface. This eliminates the need to manage multiple providers separately. Intelligent routing and automatic failover help improve reliability, while centralized billing makes usage easier to manage. With APISmart, developers can build and scale AI applications faster through one streamlined platform. | Lets developers and agent workflows use multiple AI capabilities without separately integrating each provider. |
| HuaLongAI | HuaLongAI is a premium model API relay provider for power AI developers, focused on official direct connectivity. It primarily offers Codex-series models supplied directly from official sources, with no substitutions or dilution, and invites verification. Billing is transparent, with token-level itemized records available for review. It supports enterprise-grade high concurrency and provides enterprise customers with a professional management platform, formal contracts, and invoices; visit the website for contact details. GPT-series models start at a 0.08 rate, with a stable Pro group at 0.15, two-way referral gifts, and uncapped referral rewards. | Stable model access is core infrastructure for GoNavi's schema-aware assistants, MCP, and day-to-day development. |
- APISmart: https://www.apismart.ai/ — unified AI model API with an OpenAI-compatible interface.
- HuaLongAI: https://gonavi.hualong.online/ — console, docs, and the domestic high-speed endpoint.
HuaLongAI also sponsored a shared 50B token pool for GoNavi co-maintainers, used via API Key (not 50B per person). Rules and how to apply: Issue #671.
✨ Key Features
🤖 AI that knows your schema
- OpenAI · Gemini · Claude · custom OpenAI-compatible APIs
- Attach live table schemas as context
- Slash commands: generate SQL, explain, optimize, review
- MCP: after detecting a locally installed CLI, one-click connect Claude Code / Codex / OpenCode / ZCode / DeepSeek Harness / Kimi Code / Grok Build, or use Streamable HTTP for remote agents
- Secrets stay on the GoNavi host — agents get tools, not raw passwords
⚡ Built for large data
- Virtualized DataGrid for heavy result sets
- In-place cell edit · batch CRUD · transaction submit/rollback
- Large-field popup editor · smart read/write modes
- Export: CSV · XLSX · JSON · Markdown
- Monaco editor with context-aware completion
🔌 Connectivity without drama
- URI generate / parse
- SSH tunnel · proxy
- Connection JSON import / export
- On-demand optional driver agents
- Custom Driver + DSN extensibility
🛡️ Observable & shippable
- SQL execution logs with timing
- Audit center (redacted by default, retention, export)
- Desktop + Web Server mode
- Docker / K8s / Helm / Podman packaging
- Auto update checks · multi-arch releases
To connect a custom OpenAI-compatible model service, add a provider in GoNavi's AI settings with its documented base URL (for example, https://api.example.com/v1), API key, and an available model ID. Match the selected model and API format to the GoNavi feature you intend to use.
🧩 Stack
Go 1.26 · Wails v3 · React 18 · TypeScript · Vite · Ant Design 5 · Zustand · Monaco
🗄 Supported Data Sources
Built-in — ready out of the box · Optional agent — install via Driver Manager
| Built-in | MySQL · GoldenDB · PostgreSQL · Oracle · Redis · Chroma · Qdrant · Milvus · RocketMQ · MQTT · Kafka · RabbitMQ |
| Optional | MariaDB · Doris · StarRocks · Sphinx · SQL Server · SQLite · DuckDB · OceanBase · Dameng · Kingbase · HighGo · Vastbase · OpenGauss · GaussDB · IRIS · Caché · MongoDB · TDengine · IoTDB · ClickHouse · Hive · Trino · Elasticsearch · TiDB · CockroachDB · KWDB · TimescaleDB · GBase 8a · GBase 8c · GBase 8s · YashanDB · Firebird · QuestDB · GreptimeDB · InfluxDB · Presto · OpenSearch · Weaviate · Meilisearch · Typesense · etcd · ZooKeeper · Custom Driver/DSN |
| Category | Data Source | Driver Mode | Typical Capabilities |
|---|---|---|---|
| Relational | MySQL | Built-in | Schema browsing, SQL query, data editing, export/backup |
| Domestic DB | GoldenDB | Built-in | MySQL-compatible query workflow and distributed transaction scenarios |
| Relational | PostgreSQL | Built-in | Schema browsing, SQL query, data editing, object management |
| Relational | Oracle | Built-in | Query execution, object browsing, data editing |
| Cache | Redis | Built-in | Key browsing, command execution, encoding/view switch |
| Vector Database | Chroma | Built-in | Collection browsing, vector retrieval, metadata filtering |
| Vector Database | Qdrant | Built-in | Collection browsing, vector search, payload filtering |
| Vector Database | Milvus | Built-in | Collection browsing, vector search, scalar filtering |
| Message Queue | RocketMQ | Built-in | Topic browsing, consumer-group inspection, message-oriented workflow |
| Message Queue | MQTT | Built-in | Broker and topic-filter workflow with QoS-aware connection settings |
| Message Queue | Kafka | Built-in | Topic browsing, broker metadata, consumer-group workflow |
| Message Queue | RabbitMQ | Built-in | Queue/exchange browsing, virtual host inspection, management API workflow |
| Relational | MariaDB | Optional driver agent | Querying, object management, data editing |
| Relational | Doris | Optional driver agent | Querying, object browsing, SQL execution |
| Columnar Analytics | StarRocks | Optional driver agent | Querying, object browsing, SQL execution |
| Search | Sphinx | Optional driver agent | SphinxQL querying and object browsing |
| Relational | SQL Server | Optional driver agent | Schema browsing, SQL query, object management |
| File-based | SQLite | Optional driver agent | Local DB browsing, editing, export |
| File-based | DuckDB | Optional driver agent | Large-table query, pagination, file-DB workflow |
| Domestic DB | OceanBase | Optional driver agent | MySQL / Oracle tenant access, object browsing, query workflow |
| Domestic DB | Dameng | Optional driver agent | Querying, object browsing, data editing |
| Domestic DB | Kingbase | Optional driver agent | Querying, object browsing, data editing |
| Domestic DB | HighGo | Optional driver agent | Querying, object browsing, data editing |
| Domestic DB | Vastbase | Optional driver agent | Querying, object browsing, data editing |
| Domestic DB | OpenGauss | Optional driver agent | PostgreSQL-like schema browsing, SQL query, object management |
| Domestic DB | GaussDB | Optional driver agent | PostgreSQL-like schema browsing, SQL query, object management |
| Multi-model | InterSystems IRIS | Optional driver agent | Namespace browsing, SQL query, object management |
| Multi-model | InterSystems Caché | Optional driver agent | Namespace browsing, Caché SQL query, object management |
| Document | MongoDB | Optional driver agent | Document query, collection browsing, connection management |
| Time-series | TDengine | Optional driver agent | Time-series schema browsing and querying |
| Time-series | Apache IoTDB | Optional driver agent | Storage group / device / timeseries browsing and querying |
| Columnar Analytics | ClickHouse | Optional driver agent | Analytical query, object browsing, SQL execution |
| Data Warehouse | Hive / HiveServer2 | Optional driver agent | Apache Hive / Spark Thrift / Impala, partitions and complex values, import/export, bidirectional sync, Kerberos |
| Federated Query | Trino | Optional driver agent | Cross-source SQL via multiple catalogs, catalog.schema browsing, SQL execution |
| Search | Elasticsearch | Optional driver agent | Index browsing, mapping inspection, guarded REST console, JSON DSL / query_string search |
| Relational | TiDB | Optional driver agent | MySQL-compatible querying, TiDB execution plans, data editing, sync / migration |
| Relational | CockroachDB | Optional driver agent | PostgreSQL-wire querying, SHOW CREATE DDL, data editing, sync / migration |
| Time-series | KWDB | Optional driver agent | Relational and time-series databases over the PostgreSQL wire, data editing, sync / migration |
| Time-series | TimescaleDB | Optional driver agent | Hypertables and continuous aggregates, chunk statistics, PostgreSQL workflow, sync / migration |
| Domestic DB | GBase 8a | Optional driver agent | MySQL-protocol MPP querying, HASH indexes, single-kind grid commits, sync / migration |
| Domestic DB | GBase 8c | Optional driver agent | openGauss kernel (A / B / PG modes), sha256 authentication, object management, sync / migration |
| Domestic DB | GBase 8s | Optional driver agent | Informix SQLI via your GBase 8s CSDK, object browsing, data editing, SQL backup / restore |
| Domestic DB | YashanDB | Optional driver agent | Oracle-compatible querying via your YashanDB client, PL/SQL objects, execution plans, sync / migration |
| Relational | Firebird | Optional driver agent | Firebird 2.5 / 3.0 / 4-5, procedures / triggers / packages, data editing, SQL backup / restore |
| Time-series | QuestDB | Optional driver agent | Partitioned time-series tables, SQL querying, execution plans, append-only import |
| Time-series | GreptimeDB | Optional driver agent | MySQL-protocol querying, TIME INDEX / tag metadata, append-only import |
| Time-series | InfluxDB | Optional driver agent | InfluxDB 1.x (InfluxQL) / 2.x (Flux) / 3.x (SQL), line-protocol writes, grid editing |
| Federated Query | Presto | Optional driver agent | PrestoDB / PrestoSQL catalogs, SQL execution, cancellation, migration source |
| Search | OpenSearch | Optional driver agent | OpenSearch 1.x / 2.x / 3.x indices, guarded REST console, SQL / PPL |
| Vector Database | Weaviate | Optional driver agent | Classes and tenants, GraphQL-backed grid browsing and editing, vector columns |
| Search | Meilisearch | Optional driver agent | Indexes as tables, filter / sort push-down, document editing, REST console |
| Search | Typesense | Optional driver agent | Collections as tables, filter_by push-down, document editing, REST console |
| Key-Value | etcd | Optional driver agent | Prefix tree browsing, key / lease editing, etcdctl-style console (v2 / v3 APIs) |
| Coordination | ZooKeeper | Optional driver agent | Znode tree browsing, data and ACL inspection, node editing, zkCli-style console |
| Extensibility | Custom Driver/DSN | Custom | Extend to more data sources via Driver + DSN |
Elasticsearch REST console
Elasticsearch connections reuse the query workspace as a version-aware REST console:
- Write Dev Tools-style
METHOD /pathrequests with JSON bodies, or NDJSON for_bulkand_msearch; run the request at the cursor, the exact selection, or a batch in editor order. - Search hits can be viewed as a table while the complete HTTP response remains available as raw JSON or text.
- A server-side allowlist accepts supported search, document, index, mapping, settings, alias, health, and limited CAT operations. Unknown and high-privilege endpoints are rejected by default.
- Destructive operations require an expiring one-time confirmation. Connection protection still takes precedence and blocks writes as well as script-bearing reads.
- Writes are limited to concrete indices and require Elasticsearch
view_index_metadata(ormanage) permission so GoNavi can verify the target before sending data; aliases and data streams are not accepted as write targets. - Request templates adapt document, mapping, and Bulk paths for Elasticsearch 6, 7, and 8.
This console targets Elasticsearch 6/7/8. It does not claim OpenSearch compatibility, and intentionally excludes reindex, security, snapshot, node, cluster-settings, template, pipeline, lifecycle, and other unrestricted administration APIs.
🚀 Quick Start
Prerequisites
- Go 1.26.10+
- Node.js 18+
- Wails v2 CLI (fallback / packaging) and Wails v3 CLI
- Linux only: a C compiler, pkg-config, and the GTK3 / WebKitGTK development packages
go install github.com/wailsapp/wails/v2/cmd/[email protected]
go install github.com/wailsapp/wails/v3/cmd/[email protected]
Develop
git clone https://github.com/Syngnat/GoNavi.git
cd GoNavi
wails dev # full hot reload
node tools/wails-fast-dev.mjs # faster when Go exports unchanged
node tools/wails-fast-dev.mjs --refresh-bindings # after Go export signature changes
Develop (Wails v3)
The v3 desktop entry point lives in cmd/wails3app and runs through the native
Wails v3 CLI. wails3 dev starts Vite and restarts Go on changes; the asset
handler proxies the Vite server, so HMR works for the main window and detached
windows.
wails3 task dev # Vite (port 9245) + Go hot restart
wails3 task build DEV=true # fast development build into bin/
wails3 task build # platform artifact in build/bin (release layout)
wails3 task package # the same artifact the release workflow packages
node scripts/build-wails3.mjs # frontend build + platform artifact
The v2 commands below remain available as the fallback path
(GONAVI_WAILS3=0 in CI); see WAILS3_MIGRATION.md for the migration status.
Build
wails build
wails build -clean # clean build before release
Artifacts → build/bin.
On Linux, install the build dependencies first (pick one):
# Debian 12+ / Ubuntu 22.04+
sudo apt-get install -y build-essential pkg-config libgtk-3-dev libwebkit2gtk-4.1-dev
# Fedora / OpenCloudOS 9
sudo dnf install -y gcc pkgconf-pkg-config gtk3-devel webkit2gtk4.1-devel
# RHEL / Rocky / AlmaLinux 9 (WebKitGTK 4.0 only)
sudo dnf install -y gcc pkgconf-pkg-config gtk3-devel webkit2gtk3-devel
# Arch Linux
sudo pacman -S --needed base-devel gtk3 webkit2gtk-4.1
The build detects whether WebKitGTK 4.1 or 4.0 is installed. The frontend build peaks at about 3 GB of memory.
Prefer a binary?
Grab the latest build from Releases
(macOS AMD64/ARM64 · Windows AMD64 · Linux WebKitGTK 4.0/4.1).
Standalone CLI
Stable and dev builds carry headless gonavi archives under the
gonavi-cli_${VERSION}_${GOOS}_${GOARCH} namespace with a matching
gonavi-cli_${VERSION}_checksums.txt file. Download the matching archive from
the GitHub Release, verify its checksum, extract it, then run:
gonavi list-connections
gonavi query --conn CONNECTION_ID --sql 'SELECT * FROM orders LIMIT 10'
gonavi export --conn CONNECTION_ID --output orders.csv --sql 'SELECT * FROM orders'
gonavi batch --conn CONNECTION_ID --file migration.sql --allow-write
The project does not currently publish the CLI to npm. Install it directly from the verified release archive instead.
The stable workflow also generates and retains a checksum-driven WinGet
manifest artifact for Syngnat.GoNavi.CLI; it must be accepted by the WinGet
community repository before the package is available there. The existing
desktop GoNavi package is separate. After acceptance, install with:
winget install --id Syngnat.GoNavi.CLI -e
The CLI shares the active data root with the desktop application:
GONAVI_DATA_ROOT first, then ~/.gonavi/storage_root.json, then ~/.gonavi.
Use a 0600 owner-only --connection-file for transient credentials; secrets
are never accepted as command-line flags. Query output defaults to JSONL, while
diagnostics go to stderr. Mutating SQL also requires the stored AI safety level,
connection protections, and --allow-write.
For Linux containers, copy docker.cli.env.example, set the host data root and
your host UID/GID, then run the CLI against the same mounted /data directory:
cp docker.cli.env.example docker.cli.env
docker compose --env-file docker.cli.env -f docker-compose.cli.yml run --rm gonavi-cli list-connections
🌐 Web Server
Same Go backend + React UI over HTTP — not a containerized Wails window.
go build .
.\GoNavi-Wails.exe web-server --addr 127.0.0.1:34116
- First visit →
/setup?setup=<token>(the token is printed in the startup log; or setGONAVI_WEB_SETUP_TOKEN/GONAVI_WEB_PASSWORD) - Accounts:
admin(full access) andviewer(read-only; its connections are forced read-only). Viewers can be restricted to specific saved connections. TOTP and recovery codes are per account - Sessions persist across restarts (
web_sessions.json); login limits apply per IP and per account - Bridge:
window.go.*/window.runtime.*→ HTTP / SSE - Plugins: read-only by default; set
GONAVI_WEB_PLUGIN_MANAGEMENT=1on the server to let authenticated sessions install and enable plugins (this executes plugin code on the host) - Ops:
GET /__gonavi/healthz,GET /__gonavi/readyz(data-root writability), authenticatedGET /__gonavi/metrics(JSON; add?format=prometheusfor text); tuneGONAVI_WEB_MAX_INFLIGHT[_PER_USER],GONAVI_DB_MAX_OPEN_CONNS,GONAVI_SHUTDOWN_GRACE_SECONDS,GONAVI_WEB_ASSET_DIR - Single instance: state lives in local files; a second server on the same data root logs a warning. Run one replica behind the reverse proxy
- Multi-replica:
GONAVI_WEB_MULTI_REPLICA=1lets several servers share one data root. Requirements: session affinity (ip_hash/ sticky cookie) at the proxy, a flock-capable shared filesystem (local volume or NFSv4), and the sameweb_auth.json/web_sessions.jsonfor every replica. Query/SSE events stay on the replica that served the request, so sticky sessions are mandatory; the SQLite audit store expects a filesystem with working POSIX locks
Docker / Podman
cp docker.web-server.env.example docker.web-server.env
# set GONAVI_HOST_DATA_ROOT (absolute path)
# optional: GONAVI_WEB_PASSWORD (min 6 chars)
docker compose --env-file docker.web-server.env -f docker-compose.web-server.yml up -d
Open http://127.0.0.1:34116. Mount the active data root at /data
(connections.json, daily_secrets.json, optional drivers/).
Auth state → web_auth.json.
Do not expose an unhardened web entry to the public internet. Use reverse proxy + HTTPS in production.
Health: GET /__gonavi/healthz
Local source build: add -f docker-compose.web-server.local.yml --build.
After changing env passwords:
docker compose --env-file docker.web-server.env -f docker-compose.web-server.yml up -d --force-recreate
(docker restart does not reload env files.)
🤖 MCP & Agents
Ship schema tools to agents without shipping your vault:
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
| Surface | Entry |
|---|---|
| MCP container | docker-compose.mcp-server.yml → ghcr.io/syngnat/gonavi-mcp-server |
| Web UI container | docker-compose.web-server.yml → ghcr.io/syngnat/gonavi-web-server |
| Podman / Quadlet | deploy/podman/gonavi-mcp-server |
| Kubernetes | deploy/k8s/gonavi-mcp-server |
| Helm | deploy/helm/gonavi-mcp-server |
| Build-only image | Dockerfile.build-env → ghcr.io/syngnat/gonavi-build-env |
Image tags (all four images follow the same scheme):
| Tag | Meaning |
|---|---|
latest | Newest stable release |
0.9.8 / v0.9.8 | Exact release, e.g. ghcr.io/syngnat/gonavi-web-server:0.9.8 |
0.9 / v0.9 | Newest patch of a minor line |
dev-latest | Rolling dev branch build, moves on every push |
Pin an exact release when a cluster should not drift; dev-latest is a moving
pointer and is not a stable anchor. Release tags are published both with and
without a v prefix (v0.9.8 and 0.9.8) pointing at the same digest, so use
whichever your tooling expects.
Safety defaults: remote schema-only omits execute_sql; when enabled it follows the same AI safety controls as the built-in assistant, and calling execute_sql is the confirmation.
Details: cmd/gonavi-mcp-server/README.md.
Linux build environment only
docker build -f Dockerfile.build-env -t gonavi-build-env:local .
docker run --rm -it -v "$PWD:/workspace" -w /workspace gonavi-build-env:local bash
📦 Release Pipeline
Push a v* tag → GitHub Actions builds multi-arch releases.
Notes auto-generated from merged PRs via .github/release.yaml.
🛠 Troubleshooting
The GoNavi desktop app on Windows depends on the Microsoft Edge WebView2 Runtime (a system component, not full Chrome).
Some intranet / thin / Server / LTSC images ship without it. Symptoms:
- Process exits immediately, blank/white window
- Errors about missing WebView2 / WebView2 Runtime
- Installer blocked by AV or group policy
1. Check whether Runtime is installed
In PowerShell:
# Common Evergreen install path (64-bit Windows)
Test-Path "${env:ProgramFiles(x86)}\Microsoft\EdgeWebView\Application"
# Registry (a `pv` version usually means installed)
Get-ItemProperty -Path "HKLM:\SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}" `
-ErrorAction SilentlyContinue |
Select-Object pv, name
If the path is missing and registry has no pv, install the Runtime.
2. Online install (simplest)
- Open the official download page:
Microsoft Edge WebView2 - Download the Evergreen Bootstrapper (small; needs network during install)
- Run as Administrator, then restart GoNavi
3. Offline / intranet: Standalone installer (recommended for IT)
The Bootstrapper fails on fully air-gapped machines. Use the Evergreen Standalone Installer instead:
- On a machine with internet, download the matching architecture package, e.g.:
MicrosoftEdgeWebView2RuntimeInstallerX64.exe(most 64-bit PCs)…X86.exe/…ARM64.exeas needed
- Copy the installer into the intranet (USB, software center, share)
- Install as Administrator on the target PC:
# Interactive
.\MicrosoftEdgeWebView2RuntimeInstallerX64.exe
# Silent (batch / SCCM friendly)
.\MicrosoftEdgeWebView2RuntimeInstallerX64.exe /silent /install
- Start GoNavi again. If it still fails, sign out or reboot Windows once.
4. Group policy / locked-down PCs
- Needs local admin, or IT push via SCCM / software center
- Ensure policies do not block Edge/WebView2 install or updates
- Enterprises may pin a Fixed Version Runtime (most users should prefer Evergreen)
5. Temporary workaround: Web Server mode
If the desktop WebView cannot be installed yet, run the Web Server and use a normal browser:
.\GoNavi.exe web-server --addr 127.0.0.1:34116
Open http://127.0.0.1:34116. See the Web Server section above.
Do not expose an unhardened Web endpoint to the public internet.
Tracker / discussion: #672.
The next stable macOS release is gated on Developer ID signing and Apple notarization. Download the DMG from the matching GitHub Release, move GoNavi to Applications, and open it normally. Do not remove Gatekeeper quarantine metadata.
# 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
Artifacts with -WebKit41 prefer Debian 13 / Ubuntu 24.04+.
sudo apt-get update
sudo apt-get install -y fonts-noto-cjk fonts-wqy-microhei
fc-cache -fv
🤝 Contributing
Issues and PRs welcome. Branch from dev, PR against dev.
- CONTRIBUTING.md
- Call for contributors (incl. sponsored token pool): Issue #671
🤝 Contributors
💬 Contact & Feedback
| Channel | Notes |
|---|---|
| GitHub Issues | Preferred for bugs, feature requests, and docs — easier to track and reproduce |
ygf1140302783 (note “GoNavi”) — maintainer can invite you to the community group for discussion |
For technical reports, include version, OS, and repro steps when possible. Windows blank/crash on intranet images: WebView2 guide.
⭐ Star History
Links
- APISmart — Unified AI model API (GoNavi sponsor)
- HuaLongAI — AI API Gateway (GoNavi sponsor)
- linux.do
- AIBook