<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Mirinai Dev Notes]]></title><description><![CDATA[Mirinai Dev Notes]]></description><link>https://mirinai.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Sat, 07 Nov 2026 11:02:30 GMT</lastBuildDate><atom:link href="https://mirinai.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[I built a Windows SQL client where an LLM drafts the query and you stay in control]]></title><description><![CDATA[A Windows SQL client where an LLM drafts the query and nothing runs until you read it. What leaves your machine and what guards run before SQL.]]></description><link>https://mirinai.hashnode.dev/i-built-a-windows-sql-client-where-an-llm-drafts-the-query-and-you-stay-in-control</link><guid isPermaLink="true">https://mirinai.hashnode.dev/i-built-a-windows-sql-client-where-an-llm-drafts-the-query-and-you-stay-in-control</guid><category><![CDATA[SQL]]></category><category><![CDATA[database]]></category><category><![CDATA[showdev]]></category><dc:creator><![CDATA[Mirinai]]></dc:creator><pubDate>Tue, 03 Nov 2026 06:40:20 GMT</pubDate><content:encoded><![CDATA[<p><em>Disclosure: I work at Mirinai and built this app. This post was drafted with the help of AI and reviewed by me. It was first published on <a href="https://dev.to/mirinai_ai/i-built-a-windows-sql-client-where-an-llm-drafts-the-query-and-you-stay-in-control-1j3i">DEV</a>.</em></p>
<p>Letting an LLM near a database worries me in two ways: what leaves my machine, and what happens if the generated SQL is wrong. I built Chat DB Manager, a Windows desktop database client, around those two questions.</p>
<p>You ask a question in plain language and the app fills the editor with SQL for the connected DBMS. Nothing runs until you read it and press Run.</p>
<p><img src="https://dev-to-uploads.s3.us-east-2.amazonaws.com/uploads/articles/f1rm836qhbyofw5dmvsd.png" alt="Chat DB Manager main screen: chat, SQL card, editor and result grid" /></p>
<h2>What goes to the LLM</h2>
<ul>
<li><strong>Default mode (SQL Helper)</strong> sends the schema in a compact notation (tables, columns, types, keys, comments, indexes), not table rows. Conversation history, files you attach, and the DB error text on auto-repair are also sent. Asking for an execution plan explanation sends the SQL and the plan. Sample values of code-like columns are sent only if you turn that on (off by default).</li>
<li><strong>Agent mode</strong> runs read queries itself and reads the rows, so it needs explicit consent per recipient company. Switching provider resets it to SQL Helper.</li>
<li>With a local model behind an OpenAI-compatible URL (Ollama, LM Studio, vLLM), LLM requests go only to that URL.</li>
<li>No telemetry. The app only contacts your LLM provider and our server for update checks.</li>
</ul>
<h2>What happens before SQL runs</h2>
<ul>
<li>Risk is decided by the app parsing the SQL, not by the model's label. A script is judged by its worst statement, so <code>SELECT 1; DROP TABLE t</code> is not a SELECT.</li>
<li>Read-only connections refuse anything but SELECT.</li>
<li>Writes run in an open transaction. You see the affected row count and commit or roll back. No answer in 2 minutes means rollback.</li>
<li>DDL and UPDATE/DELETE without WHERE need an extra confirmation, plus a checkbox on connections tagged prod.</li>
<li>Agent reads run in a read-only transaction and are rolled back (SQL Server and SAP HANA get rollback only).</li>
</ul>
<p>Read-only is an app-level guard. It cannot catch <code>SELECT some_writing_function()</code>, so please use a read-only DB account for production.</p>
<h2>Supported</h2>
<ul>
<li>DBMS: PostgreSQL, MySQL, MariaDB, SQLite, MS SQL Server, Oracle, SAP HANA</li>
<li>LLMs: Anthropic Claude, OpenAI, Google Gemini, OpenRouter, any OpenAI-compatible endpoint (Ollama, LM Studio, vLLM, Azure)</li>
</ul>
<h2>Limits</h2>
<ul>
<li>Windows x64 only (Electron). No macOS or Linux build. I tested it on Windows 11 Home 26H2.</li>
<li>The installer (~143 MB) is not code-signed, so SmartScreen will likely warn you. It installs per user without admin rights, and the SHA-256 is on the download page.</li>
<li>No account or sign-up. Bring your own LLM API key or a local endpoint.</li>
<li>Free for now. The source code is not public.</li>
</ul>
<p>If you have no test database, a single SQLite file is enough to try the main flow.</p>
<h2>Feedback I would like</h2>
<ul>
<li>Which databases would you want next?</li>
<li>Is the line between "schema only" and "schema plus rows with consent" in the right place?</li>
<li>What other guard would you need before letting a tool like this near a production database?</li>
</ul>
<p>Download and details: <a href="https://www.mirinai.com/chatdbmanager/">https://www.mirinai.com/chatdbmanager/</a>
Contact: <a href="mailto:mirinai.help@mirinai.com">mirinai.help@mirinai.com</a></p>
]]></content:encoded></item></channel></rss>