DBGuree is a desktop SQL workbench with a built-in AI assistant. It writes the SQL, shows you the query, and lets you edit and run it — connections, schema, chat, and results in one window.
The model runs on your machine by default. No API key, no account, no network. Works on a plane.
Everything a query session needs, without leaving the window — and without handing your data to anyone.
Ask a question, get a query plus a plain-language explanation of what it does before you run anything.
On connect, your tables and columns are indexed on-device — so generated SQL uses names that actually exist.
Drop in data dictionaries and glossaries. The assistant uses them when generating, so it speaks your team's language.
Monaco with syntax highlighting, query tabs, and a virtualised results grid. Edit anything before it executes.
Chat sessions are stored locally and resume where you left them. Full-text search across everything you've asked.
Run Qwen2.5-Coder on-device, or bring your own Anthropic, OpenAI, or Google key for harder queries. Switch anytime.
There's no signed release yet, so you build it from source. One script packages the Python backend, bundles the frontend, and produces an installable .dmg. Takes about five minutes.
macOS 12 or later on Apple Silicon, plus Node.js 18+ and Python 3.10+.
node --version # v18.0.0 or higher python3 --version # 3.10 or higher
git clone https://github.com/saurovpaul16/dbguree.git cd dbguree
The build script picks up .venv automatically if it exists.
python3 -m venv .venv source .venv/bin/activate pip install -r backend/requirements.txt
PyInstaller packages the backend, webpack bundles the UI, electron-builder assembles the disk image.
chmod +x build-mac.command ./build-mac.command
Your disk image lands in electron/dist/ — roughly 230 MB. Open it and drag DBGuree to Applications.
electron/dist/DBGuree-0.1.0-arm64.dmg
python dev-server.py runs the backend and serves the UI at localhost:8080 in your browser. That's the fastest loop for contributing, too.
Whichever backend you pick, the LLM holds no database connection. It cannot execute queries, run EXPLAIN, or read schema from a live connection. Every piece of database context reaches it through the local index — and queries execute only when you press run.
Credentials and API keys live in the OS credential store — Keychain on macOS, Credential Manager on Windows, libsecret on Linux. Never in the application database, never in plaintext.
DBGuree works today, but the interesting problems are all still open. If you've ever wanted to work on local inference, retrieval quality, or developer tooling that people actually keep open all day — there's room here.
The macOS build ships now. Windows packaging, the bundled Python runtime, and llama.cpp builds are the most valuable thing anyone could pick up next.
Accuracy drops on complex joins, window functions, and nested subqueries. Better prompting and retrieval move that needle directly.
Databases with hundreds of tables aren't handled well yet. Chunking and ranking strategy is wide open.
8 GB machines get tight with the model and app both loaded. Memory work here helps the people who need local inference most.
An Electron shell talks to a Python backend over local HTTP. The backend handles orchestration, retrieval, and database access. Inference runs through llama.cpp in the same process.
| Layer | Component |
|---|---|
| Desktop shell | Electron |
| Editor and grid | Monaco Editor, AG Grid Community |
| Backend | Python, FastAPI |
| Orchestration | LangChain |
| Inference | llama.cpp |
| Models | Qwen2.5-Coder, nomic-embed-text |
| Vector store | ChromaDB |
| SQL parsing | sqlglot |
| DB connectivity | SQLAlchemy |
| App storage | SQLite |
Stated plainly, because you'll find them in the first hour anyway.