Navigate every data source — native speed, agent-ready, zero Electron bloat.
A high-performance cross-platform database client built with Wails (Go) + React. Desktop-first. MCP-ready. ~10MB class binaries.
Language: English · 简体中文 · ⬇ Download · ⚡ Quick Start · ✨ Features · 🤖 MCP
Most database GUIs are Electron shells with megabytes of tax. GoNavi takes a different path:
| Typical Electron client | GoNavi | |
|---|---|---|
| Runtime | Chromium + Node | Go + native WebView |
| Binary size | Hundreds of MB | ~10MB class |
| Startup | Heavy | Fast |
| Memory | High baseline | Lean |
| AI / Agents | Bolt-on or absent | First-class MCP + multi-provider AI |
| Data sources | Mostly RDBMS | SQL · Cache · Vector · MQ · Search · Time-series · Domestic DBs |
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.
┌──────────────────────────────────────────────────────────────────────┐
│ 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 │ │
│ └───────────────────────────┘ │
└──────────────────────────────────────────────────────────────────────┘
Each image is a full GoNavi application window, scaled proportionally for README display.
Real desktop captures · full window · sensitive result cells redacted
|
|
|
|
Go 1.24 · Wails v2 · React 18 · TypeScript · Vite · Ant Design 5 · Zustand · Monaco
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 · MongoDB · TDengine · IoTDB · ClickHouse · Trino · Elasticsearch · Custom Driver/DSN |
Full capability matrix
| 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 |
| 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 |
| 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, JSON DSL / query_string search |
| Extensibility | Custom Driver/DSN | Custom | Extend to more data sources via Driver + DSN |
go install github.com/wailsapp/wails/v2/cmd/[email protected]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 changeswails build
wails build -clean # clean build before releaseArtifacts → build/bin.
Grab the latest build from Releases
(macOS AMD64/ARM64 · Windows AMD64 · Linux WebKitGTK 4.0/4.1).
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(admin password; optional Google Authenticator) - Bridge:
window.go.*/window.runtime.*→ HTTP / SSE - Sessions, recovery codes, login rate limits
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 -dOpen 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.)
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 |
Safety defaults: remote schema-only omits execute_sql; mutating SQL requires explicit allowMutating=true.
Details: cmd/gonavi-mcp-server/README.md.
docker build -f Dockerfile.build-env -t gonavi-build-env:local .
docker run --rm -it -v "$PWD:/workspace" -w /workspace gonavi-build-env:local bashPush a v* tag → GitHub Actions builds multi-arch releases.
Notes auto-generated from merged PRs via .github/release.yaml.
macOS: “App is damaged and can’t be opened”
Without Apple notarization, Gatekeeper may block the app:
sudo xattr -rd com.apple.quarantine /Applications/GoNavi.appOr right-click → Open (Control-click flow). Move the app to Applications first.
Linux: missing WebKitGTK
# 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-18Artifacts with -WebKit41 prefer Debian 13 / Ubuntu 24.04+.
Linux: Chinese glyphs as tofu boxes
sudo apt-get update
sudo apt-get install -y fonts-noto-cjk fonts-wqy-microhei
fc-cache -fvIssues and PRs welcome. Branch from dev, PR against dev.
Built for people who live in SQL, schemas, and agent loops.


