Local-first · MIT licensed · No account required

Ask your database
in plain English.

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.

Build it onmacOS · one command Coming soon Windows 10 / 11In the works

No prebuilt release yet — you build the .dmg from source in about five minutes.

macOS 12+ (Apple Silicon) · 16 GB RAM recommended, 8 GB supported · ~2 GB disk after model download

DBGuree — analytics_prod
Which customers spent the most last quarter?
↳ retrieved schema for 3 tables · generated locally in 4.2s
SELECT c.name, SUM(o.total) AS revenue FROM customers c JOIN orders o ON o.customer_id = c.id WHERE o.placed_at >= '2026-04-01' GROUP BY c.name ORDER BY revenue DESC LIMIT 10;
↳ syntax validated · review, edit, then run when you're ready
What's inside

A workbench, not a chatbot

Everything a query session needs, without leaving the window — and without handing your data to anyone.

Natural language → SQL

Ask a question, get a query plus a plain-language explanation of what it does before you run anything.

Your real schema, indexed locally

On connect, your tables and columns are indexed on-device — so generated SQL uses names that actually exist.

Business context you upload

Drop in data dictionaries and glossaries. The assistant uses them when generating, so it speaks your team's language.

Real SQL editor

Monaco with syntax highlighting, query tabs, and a virtualised results grid. Edit anything before it executes.

History that persists

Chat sessions are stored locally and resume where you left them. Full-text search across everything you've asked.

Local or cloud, your call

Run Qwen2.5-Coder on-device, or bring your own Anthropic, OpenAI, or Google key for harder queries. Switch anytime.

Get it running

Build the .dmg yourself

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.

1

Check you have the prerequisites

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
2

Clone the repository

git clone https://github.com/saurovpaul16/dbguree.git
cd dbguree
3

Set up the Python environment

The build script picks up .venv automatically if it exists.

python3 -m venv .venv
source .venv/bin/activate
pip install -r backend/requirements.txt
4

Run the build

PyInstaller packages the backend, webpack bundles the UI, electron-builder assembles the disk image.

chmod +x build-mac.command
./build-mac.command
5

Install it

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
First launch: the build is signed ad-hoc rather than with an Apple Developer ID, so Gatekeeper will block a plain double-click. Right-click the app in Applications and choose Open, then confirm once — macOS remembers the choice from then on. Getting a properly signed and notarised release out is on the roadmap.
Just want to poke at it? Skip the packaging entirely — 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.
The hard rule

The model never touches your database

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.

Your question Local index Model SQL you review You run it · Model → Database

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.

Open source · MIT

This is early, and that's the good part

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.

1 Windows needs you

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.

2 Make the small model smarter

Accuracy drops on complex joins, window functions, and nested subqueries. Better prompting and retrieval move that needle directly.

3 Scale the schema index

Databases with hundreds of tables aren't handled well yet. Chunking and ranking strategy is wide open.

4 Shrink the footprint

8 GB machines get tight with the model and app both loaded. Memory work here helps the people who need local inference most.

One constraint before you start: the model does not get direct database access. Pull requests that add it will not be merged — it's the whole point of the project. Otherwise, open an issue before starting anything significant and let's talk it through.
Under the hood

Architecture

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.

LayerComponent
Desktop shellElectron
Editor and gridMonaco Editor, AG Grid Community
BackendPython, FastAPI
OrchestrationLangChain
Inferencellama.cpp
ModelsQwen2.5-Coder, nomic-embed-text
Vector storeChromaDB
SQL parsingsqlglot
DB connectivitySQLAlchemy
App storageSQLite

Known limitations

Stated plainly, because you'll find them in the first hour anyway.

  • Local model accuracy drops on complex joins, window functions, and subquery-heavy queries
  • Schemas with more than a few hundred tables are not handled well
  • Memory is tight on 8 GB machines when the model and application are both loaded
  • Cross-connection queries are not supported