Minimal macOS database client built with Wails, Go, and React. It focuses on fast database debugging without Electron.
- Stored connection dashboard
- PostgreSQL, MySQL, MongoDB, Redis, and Elasticsearch connection forms
- Execute SQL, MongoDB JSON commands, and Redis commands
- Save and reopen query snippets per connection
- CodeMirror query editor with autocomplete
- Customizable shortcuts stored in local storage
- Table browser with row preview
- First-glance table diagnostics: columns, indexes, create table SQL, sample rows
EXPLAIN ANALYZEpanel- MySQL binlog trace viewer
The MySQL binlog trace viewer requires the mysqlbinlog client:
brew install mysql-client| dbVibe | DBeaver | MySQL Workbench | |
|---|---|---|---|
| Runtime | Native Go binary (Wails), no bundled JVM/Electron | Bundles a JVM | Qt-based, MySQL-only |
| App size | ~21 MB (~15 MB portable zip) | Several hundred MB with JRE | ~300 MB |
| Config storage | Single local store.json file |
Embedded workspace metadata DB | Local XML/SQLite workspace |
| Engines | Postgres, MySQL, MongoDB, Redis, Elasticsearch | Many (via JDBC plugins) | MySQL only |
| Query plan | Animated, interactive optimizer with per-step I/O and CPU cost formulas | Static EXPLAIN text/tree |
Static EXPLAIN visual (non-interactive) |
| Binlog trace viewer | Built in (mysqlbinlog) |
Not built in | Not built in |
dbVibe trades broad feature coverage for a small, fast, native client focused on the debugging loop: connect, run a query, see why it's slow, fix it.
The Query Optimizer Lab walks a real EXPLAIN ANALYZE through parse, rewrite, cost-based optimization, and execution — at the optimize step it shows the exact candidates the planner priced (e.g. Seq Scan vs. Index Scan vs. Bitmap Heap Scan) with their I/O and CPU cost formulas, not just the winning plan.
Clone or download this repo, then run:
./install.shThis unzips build/portable/dbVibe-macos.zip, clears the Gatekeeper quarantine
flag (the build is unsigned), installs dbVibe.app to /Applications, and
launches it. Re-running it updates an existing install.
If you only have the zip (no repo checkout), pass its path:
./install.sh /path/to/dbVibe-macos.zipPrefer to do it by hand instead of running a script?
- Download
build/portable/dbVibe-macos.zip. - Unzip it.
- Drag
dbVibe.appto/Applications. - If macOS blocks the app on first launch, clear quarantine:
xattr -dr com.apple.quarantine /Applications/dbVibe.app
Install the Wails CLI if it is not already available:
go install github.com/wailsapp/wails/v2/cmd/[email protected]Run the app:
cd sql-gui
env -u GOROOT wails devBuild the macOS app:
cd sql-gui
env -u GOROOT wails buildBuild a portable macOS zip (shareable without installation):
cd sql-gui
make build-portableThe zip is created at build/portable/dbVibe-macos.zip. Recipients can unzip and run dbVibe.app.
If your shell has GVM variables loaded, env -u GOROOT avoids mixing Homebrew Go 1.25 with a Go 1.24 GVM root.
The React UI has demo fallback data when it is opened outside Wails:
cd sql-gui/frontend
pnpm run dev