Connect SQLite databases to a local LLM. Ask questions in plain English, get SQL queries and results.
Built for offline forensic analysis on a single workstation — no cloud, no telemetry, nothing leaves your machine.
yourSQLfriend is for analysts, investigators, and developers who need to interrogate SQLite databases without sending data anywhere. Load a .db, .sqlite, .csv, or .sql file, ask questions in plain English, and get parameterised read-only SQL with full results — air-gap safe, forensic-grade.
| 🔒 100% Offline | Runs on a local LLM via Ollama or LM Studio. Zero telemetry, air-gap safe |
| 💬 Natural Language | Ask "show me the top 5 customers" and get results + the exact SQL query |
| 🔍 Search All Tables | Find a value across your entire database (⌘K / Ctrl+K) |
| 🪟 Three-Pane Workbench | Schema browser · conversation · Row Inspector |
| 🔎 Row Inspector | Click any result row to expand it; foreign keys become clickable links |
| 🕘 Query History | Per-session panel of every question asked; click to jump back to that turn |
| 📋 Interactive Tables | Sort, filter, paginate results with dark/light theme |
| 💾 Export Sessions | Save your entire chat session as a formatted HTML file with hashes + timestamps |
| 🖥️ Install as App | PWA support — install as a standalone desktop app from Chrome/Edge/Brave |
Ask a question in plain English — the LLM writes parameterised read-only SQL, runs it, and returns results you can sort, filter, and export.
Schema browser & query history
Browse all tables, columns, types, and row counts in the left pane. Query history lives at the bottom — click any entry to jump back.
Row Inspector
Click any result row to expand it. Foreign key references become navigable links — follow relationships without writing another query.
yourSQLfriend requires a local LLM running before you launch. Set one up first:
ollama pull gemma4:26b
ollama serve- Download LM Studio
- Load a model
- Start local server on port 1234
Once connected, the provider indicator in the top bar turns green.
Context window: The system prompt is token-heavy by design. A 16K context window is the minimum; 32K or more is strongly recommended for complex schemas.
LLM model sizes: Smallest → 4B | Mid → 8-9B | Large → 14B | Largest → 26-30B
Recommended LLM families: Qwen | Gemma | Mistral / Devstral
Prerequisite: Python 3.10+ must be installed, and your LLM must be running (see above).
curl -fsSL https://raw.githubusercontent.com/reisset/yourSQLfriend/main/install.sh | shirm https://raw.githubusercontent.com/reisset/yourSQLfriend/main/install.ps1 | iexThen launch from any terminal: yoursqlfriend
Options: yoursqlfriend --port 8080, --no-browser, --host 0.0.0.0
Note: The Flask server must be running for the app to work.
yoursqlfriendstarts it automatically — do not close the terminal.
Install with pipx (manual)
pipx install yoursqlfriendFrom source (developers)
git clone https://github.com/reisset/yourSQLfriend.git
cd yourSQLfriend
./run.sh # Linux/macOS
run.bat # Windows| Read-only guaranteed | SQL validation + SQLite mode=ro block all writes |
| Chain of custody | SHA256 hashes logged, timestamped exports |
| Audit logs | All queries logged to logs/ with daily rotation |
| Air-gap safe | Zero telemetry, works fully offline |
WAL files: The upload process excludes
.db-waland.db-shmfiles. Checkpoint your database first to ensure recent transactions are included.
- Model quality matters. Smaller models will produce incorrect or incomplete SQL on complex schemas. If results look wrong, the query is the first thing to check.
- SQLite only. No support for Postgres, MySQL, or other engines.
- Single database per session. You can replace the loaded database mid-session, but results from different databases are not cross-queryable.
- Complex queries may fail. Heavily nested subqueries, window functions, and non-standard SQLite extensions may exceed what the LLM generates reliably.
All data lives in your home directory:
| Platform | Path |
|---|---|
| Linux / macOS | ~/.yourSQLfriend/ |
| Windows | %APPDATA%\.yourSQLfriend\ |
Contains uploads/, logs/, and sessions/.