AI 功能需自备 OpenAI、Anthropic、DeepSeek 或 Ollama 的 API Key;从源码构建需先装 Node.js >= 18 和 Rust 工具链,Linux 还要装 GTK/WebKit 等系统依赖;Oracle、DuckDB 等数据库走 JDBC 桥接,可能需要额外后端支持
sqlkit
geek-funApache-2.0活跃维护一款支持 40 多种数据库的桌面 SQL 客户端,覆盖 PostgreSQL、MySQL、ClickHouse、DuckDB 等,轻量、跨平台且注重隐私,内置 AI 辅助查询。
Agentic SQL database manager for 40+ databases — PostgreSQL, MySQL, SQL Server, SQLite, DuckDB, ClickHouse, Oracle and more. Lightweight, privacy-first, AI-powered, cross-platform. Built with Tauri (Rust).
npm install
npm run tauri devREADME 未说明显存或 GPU 要求;这是 Tauri 桌面应用,支持 macOS(Apple Silicon 与 Intel)、Windows、Linux。
基于 Tauri 的跨平台 SQL 客户端,用自然语言让 AI 代理帮你写查询、优化 SQL、管理 70+ 数据库
一款支持 40 多种数据库的桌面 SQL 客户端,覆盖 PostgreSQL、MySQL、ClickHouse、DuckDB 等,轻量、跨平台且注重隐私,内置 AI 辅助查询。
核心能力
- 自然语言生成 SQL,自动读取 schema 作为上下文
- AI 重写慢查询并可视化执行计划
- 代理自动诊断并修复 SQL 报错
- Monaco 编辑器支持高亮、补全和多标签
- 跨引擎直接迁移数据,无需中间文件
容易踩的坑
- v1.0.1SqlKit v1.0.1最新正式版2026-10-28 · 2026-10-28 09:59 UTC
✨ Added
- AI permissions use one policy across Data Studio and MCP clients: a per-connection access level overrides the system default, and individual actions can be tuned in Custom. Editing permissions requires Ultimate.
- Blocked agent actions can be recovered in place — the denial names the connection, required action, and source, with Review permissions and Retry request that starts a fresh turn without replaying earlier work.
- Layered agent prompts: a global system prompt in AI settings plus an optional prompt per connection give the agent business context wherever it runs (#187).
- Query results and table views are paginated — choose rows per page, jump to the first or last page, or show all returned rows. Sorting applies to the visible page.
- Table and result footers show the active database, affected rows, execution time, and per-tab counts for columns, indexes, foreign keys, and triggers.
- Table context menus lead with View Data and open View Structure directly on the schema sub-page; each tab remembers the sub-page you last viewed.
- Database menus gain Create Script, which opens a new query tab for that database.
- Cheaper Inference provider preset in AI settings (OpenAI compatible, base URL
https://api.cheaperinference.com/v1)
🔧 Changed
- The workspace uses a graphite dark theme with consistent semantic colors, while keeping existing data, status, and database-type recognition cues.
- Settings consolidates account, plan, theme, and update controls into a General tab, and pagination uses the same controls in table views and result grids.
- SSH tunnel details are read-only until you explicitly edit them, so saved hop chains no longer show open editable fields in the connection form.
- Monaco scrollbars match the app's thin scrollbars.
🐛 Fixed
- Sessions now survive app restarts: you stay signed in with entitlements restored, and overlapping session refreshes no longer invalidate each other.
- Idle connections recover before a database action runs — metadata browsing, queries, edits, DDL, transfers, and AI/MCP tools replace a dead session instead of failing.
- PostgreSQL scripts that return multiple result sets keep all of them and let you switch between result sets.
- Permission changes apply immediately to agent dispatches, and earlier denials remain labeled as previous attempts instead of implying current access.
- About shows the running app version and is consolidated into Settings.
- The source permission modal follows the permission editor's radio cards and switch rows, with an explicit detach confirmation (#199).
🔒 Security
- Upgraded DOMPurify to pick up upstream security fixes, including the copy bundled with Monaco.
- Removed an unused command that allowed generic capability invocation from the WebView, and limited permission cleanup to connections that no longer exist.
👥 Contributors
- aiapienthusiast (1 commit)
- blankll (32 commits)
- seven (3 commits)
Changes from v1.0.0 to v1.0.1
- d062243 release: v1.0.1 (blankll, 8 minutes ago)
- 70e2aa6 fix: align source permission modal with permission editor conventions (#199) (seven, 2 hours ago)
- 45d41d3 fix(auth): preserve sessions across app restarts (blankll, 2 hours ago)
- 033a437 feat(settings): add Cheaper Inference provider preset (aiapienthusiast, 2 days ago)
- 9732962 fix: keep denied preflight test off the per-message tiktoken rebuild (blankll, 17 hours ago)
- 216370a fix: keep SSH tunnel details behind explicit editing (blankll, 24 hours ago)
- 1e733f1 fix: refresh agent permissions and distinguish historical denials (blankll, 25 hours ago)
- a6b6c5f fix: scope agent permission recovery to the blocked connection (blankll, 25 hours ago)
- 27aaf06 fix: preserve blocked agent outcomes and restore permission recovery (blankll, 26 hours ago)
- 24f4bfe
- v1.0.0SqlKit v1.0.02026-10-18 · 2026-10-18 09:29 UTC
查看更新说明
✨ Added
-
DuckDB failure diagnosis and file-format reporting — DuckDB connection failures are translated into an explanation with the fix attached: file lock held by another process or connection, instance-configuration conflict, and storage-format incompatibility each get their own message, and the two lock cases offer retry as read-only inline in the connection form (the connecting modal shows the same explanation on connect).
probe_database_fileadditionally reports the DuckDB storage-format version (header bytes 12..20, mapped to the oldest release that can open the file) and whether a sibling.walwrite-ahead log is present, both shown under the file path. -
Create DuckDB / SQLite databases from the connection form — the file-based path field is editable again and gains
New…/Open…actions backed by the native save dialog (extension appended automatically), an inline explanation of what will happen on connect (the engine creates a missing file, the file exists, is empty, is read-only, is a folder, is a different engine's file, or the parent folder is missing with a one-click "Create folder"), and a per-engine recent-files list with reveal/remove actions. DuckDB also gets the SQLite-style File / In-Memory tabs; in-memory connections are stored as named instances (memory:<label>) because unnamed DuckDB in-memory databases are private to a single connection and would otherwise give every pooled connection its own empty database. A new read-only access mode (access_mode=READ_ONLY) is meant to let DuckDB share a file with other processes (~is expanded for file-based paths, and opening the same DuckDB file a second time with a conflicting access mode is blocked with "switch to that connection" / "open read-only" choices — read-only needs a bridge build with the HikariCP flag alignment below, and the form explains that until it ships). New Tauri commands:probe_database_file(existence, size, writability, header sniffing) andcreate_database_directory.scripts/verify-duckdb-jdbc-urls.shrecords the DuckDB JDBC semantics these decisions rely on. -
Entitlements & version-lock subscription model (geekfun#56) — client-side implementation of the Ultimate entitlement contract: the two server-computed fields
ultimateExpiresAt+versionLockHorizonare consumed via a new Rust entitlement module (persisted cache, offline tolerance, failure degradation, 5-minute refresh throttle,app.releaseDate <= versionLockHorizonunlock check). Rust command gates returnENTITLEMENT_REQUIREDfor AI (agent loop/step, compaction, LLM validation), the whole Transfer module (import/export/migration/structure execution), SSH tunnel establishment, and the MCP bridge (config/policy save + auto-start). The frontend adds an entitlement store, Geekfun login entry, paid-feature gates with upgrade guidance on Data Studio, Transfer, AI assistant sidebar, ER diagram actions, AI/MCP settings, SSH tunnel option in the connection form, plus an Account & Plan settings tab showing the version-lock state with Geekfun login and logout (logout clears the local entitlement cache so entitlements never outlive the account session). -
Requesty provider preset in AI settings (OpenAI compatible, base URL
https://router.requesty.ai/v1) -
Opper provider preset in AI settings (OpenAI compatible, base URL
https://api.opper.ai/v3/compat) -
API Route provider preset in AI settings (OpenAI compatible, base URL
https://global.api-route.com/v1) -
SSH tunnels for any connection — connect through a bastion, with multi-hop chains, reusable SSH profiles, an optional proxy hop, password or key auth (ED25519/RSA, optional passphrase), and trust-on-first-use host-key pinning plus an unpin command for when a server key changes.
-
Cross-database browsing without reconnecting — table, column, index, foreign-key, view, routine and trigger panels can inspect any database on the server; PostgreSQL and SQL Server route through
-
- v0.8.8SqlKit v0.8.82026-09-09 · 2026-09-09 07:32 UTC
查看更新说明
See the assets to download this version and install.
👥 Contributors
- blankll (6 commits)
📋 Full Commit History
Changes from v0.8.7 to v0.8.8
- 9639ff5 release: v0.8.8 (blankll, 30 seconds ago)
- 80ed520 deps: bump data-studio-agent to v0.1.8 (blankll, 23 hours ago)
- fa28108 chore(deps): upgrade sqlparser 0.55 to 0.62 (blankll, 6 days ago)
- 162f939 fix(jdbc): execute statements via Statement.execute() instead of keyword sniffing (blankll, 6 days ago)
- b6433ac fix(queries): route WITH-prefixed statements through the query path on MySQL/SQLite (blankll, 6 days ago)
- 29fc28a fix(mcp): detect data-modifying WITH statements in read-only guard (blankll, 6 days ago)
📦 Downloads
See the assets below to download this version and install for your platform:
- macOS: Universal binary (Intel & Apple Silicon)
- Windows: x64 installer
- Linux: x64 AppImage/deb
- v0.8.7SqlKit v0.8.72026-08-17 · 2026-08-17 03:08 UTC
查看更新说明
Added
- DBA capabilities for session, slow-query, and privilege management (#138)
Fixed
- Use Pinia appStore as the single theme source for the editor (#137)
👥 Contributors
- VisionView (1 commit)
- blankll (1 commit)
- seven (2 commits)
📋 Full Commit History
Changes from v0.8.6 to v0.8.7
- ae02a06 release: v0.8.7 (blankll, 54 seconds ago)
- 3df8561 feat(sql): add session/slow-query/privilege DBA capabilities (#138) (seven, 2 days ago)
- 2f56ceb style: optimize the titlebar for Windows compatibility (#136) (VisionView, 5 days ago)
- 2e0d5df fix(theme): use Pinia appStore as single theme source for editor (#137) (seven, 5 days ago)
📦 Downloads
See the assets below to download this version and install for your platform:
- macOS: Universal binary (Intel & Apple Silicon)
- Windows: x64 installer
- Linux: x64 AppImage/deb
- v0.8.6SqlKit v0.8.62026-08-11 · 2026-08-11 03:07 UTC
查看更新说明
Added
- Guide agents to sqlkit tools for database access (#134)
- Advertise a discovery tool per connection in
list_connections(#135)
Changed
- Bump data-studio-agent to v0.1.6
👥 Contributors
- blankll (3 commits)
- seven (2 commits)
📋 Full Commit History
Changes from v0.8.5 to v0.8.6
- ff7d5a5 release: v0.8.6 (blankll, 49 seconds ago)
- 2d73da5 deps: bump data-studio-agent to v0.1.6 (blankll, 5 minutes ago)
- a976db2 feat(mcp): advertise discovery tool per connection in list_connections (#135) (seven, 43 minutes ago)
- 7544574 chore: mcp description improvement (blankll, 19 hours ago)
- da9e2e9 feat(mcp): guide agents to sqlkit tools for database access (#134) (seven, 19 hours ago)
📦 Downloads
See the assets below to download this version and install for your platform:
- macOS: Universal binary (Intel & Apple Silicon)
- Windows: x64 installer
- Linux: x64 AppImage/deb
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
SqlKit
Agentic cross-platform SQL database GUI client — your database agent for 70+ databases.
Privacy-first. Your data, your keys. Open source.
Download · Docs · Website · Releases
English · 简体中文
SqlKit is an agentic database client — it doesn't just execute SQL, it understands your databases and acts on your behalf. Describe what you need in natural language and the agent writes queries, inspects schemas, optimizes SQL, and returns results. Built on Tauri (Rust), not Electron, it replaces heavyweight clients like DBeaver, Navicat, and DataGrip with a single native desktop app.
Installation
Features
Agentic Data Studio
Describe what you need in natural language — the agent reads your schema, writes queries, optimizes slow SQL, explains execution plans visually, and fixes errors on the spot. Supports OpenAI, Anthropic, DeepSeek, and Ollama. Bring your own key.
- AI query generation — natural language to SQL with schema-aware context
- SQL optimization — rewrite slow queries and visualize execution plans
- Error fixing — agent diagnoses and fixes SQL errors automatically
- Safety — destructive operations require confirmation; credentials never exposed to the LLM
Lightweight & Native Performance
Built with Rust + Tauri v2 — no Electron, no JRE, no bundled Chromium. Ships as a small native binary with native performance across macOS, Windows, and Linux. What other apps need a Java runtime or a JetBrains license for, SqlKit does in a single download.
All Your Databases, One App
SqlKit supports 70+ databases across four adapter strategies:
| Strategy | Databases |
|---|---|
| Native (Rust) | PostgreSQL, MySQL, SQL Server, SQLite |
| PG-wire compat | CockroachDB, Redshift, YugabyteDB, TimescaleDB, QuestDB, Vastbase, YashanDB, KingbaseES, GaussDB, HighGo, UXDB, OpenGauss, GBase8c, Greenplum, EnterpriseDB, CrateDB, Materialize, AlloyDB, CloudSQLPG, FujitsuPG |
| MySQL-wire compat | MariaDB, TiDB, OceanBase, TDSQL, PolarDB, Doris, SelectDB, StarRocks, Databend, GoldenDB, ManticoreSearch, SingleStore, CloudSQLMySQL |
| JDBC bridge | Oracle, DuckDB, Firebird, DB2, H2, Snowflake, TDengine, Derby, Hive, Databricks, Hana, Teradata, Vertica, Exasol, BigQuery, Informix, Kylin, Cassandra, Iris, Access, Dameng, XuguDB, GBase8a |
| HTTP bridge | ClickHouse, Trino, Presto, RQLite, Turso |
Product-Grade Editor
Powered by Monaco (VS Code engine) with full SQL syntax highlighting, autocomplete, and multi-tab support. Browse schemas visually, inspect DDL, and search objects across databases.
- Monaco Editor — VS Code-grade SQL editing with syntax highlighting and autocomplete
- Multi-tab — work on multiple queries simultaneously with tab management
- Schema Browser — tree view of databases, schemas, tables, columns, indexes
- Query history — auto-saved, searchable, replayable
- Results grid — paginated, sortable, with inline editing and CSV/JSON/Markdown export
- DDL viewer — view CREATE statements for any object
- Object search — quickly find tables, views, and procedures across schemas
Large Data Transfer
Move data between any supported engines — PostgreSQL to ClickHouse, Oracle to SQL Server, or MySQL to BigQuery. No intermediate files required.
- Cross-engine transfer — migrate data between different database types with automatic type mapping
- Import / Export — CSV, JSON, JSONL formats
- Bulk operations — handle millions of records with batch processing
Security & Connectivity
- SSH Tunnel — connect through SSH with key or password authentication
- Encrypted storage — credentials secured by OS keychain (macOS Keychain, Windows Credential Manager, Linux Secret Service)
- SSL/TLS — encrypted connections to supported databases
- Auto-reconnect — resilient connection handling
Cross-Platform
- macOS (Apple Silicon & Intel) — native
.dmginstaller - Windows —
.exeinstaller - Linux —
.AppImageand.debpackages
Development
Prerequisites
- Node.js >= 18
- Rust toolchain
Linux (Ubuntu/Debian):
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.1-dev libayatana-appindicator3-dev librsvg2-dev libssl-dev
macOS:
xcode-select --install
Windows: Install Microsoft C++ Build Tools
Quick Start
npm install
npm run tauri dev
Scripts
| Command | Description |
|---|---|
npm run dev | Start Vite dev server |
npm run build | Build frontend for production |
npm run lint:check | Run ESLint |
npm run lint:fix | Auto-fix lint issues |
npm test | Run frontend tests |
npm run tauri dev | Start Tauri development |
npm run tauri build | Build Tauri application |
Build Instructions
See BUILD.md for detailed platform-specific build requirements and troubleshooting.
Tech Stack
| Layer | Technology |
|---|---|
| Framework | Tauri v2 (Rust) |
| Frontend | Vue 3 + TypeScript |
| UI | shadcn-vue + UnoCSS |
| Editor | Monaco Editor |
| Database | sqlx + engine-specific drivers |
FAQ
Yes — the Community edition is free and open source under the Apache 2.0 license. Connections, SQL editing, schema browsing, data editing, query history and result export are all free, with no artificial limits.
Advanced capabilities — AI agent (bring your own LLM), MCP server, ER diagrams, bulk import/export and cross-engine data transfer — are part of the paid GEEKFUN Data Studio Ultimate subscription ($9.9/month or $99/year, with a 7-day free trial). Every version released while you're subscribed stays yours forever, even if you cancel later.
Community
Sponsor
License
Apache 2.0 © GEEKFUN