Simple Desktop Manager (SDM) for ClickHouse: an open-source desktop SQL workbench built with Tauri, React, TypeScript, and Rust.
SDM ClickHouse is designed around a connection-first workflow: save ClickHouse profiles, browse schemas, run and explain SQL, inspect results, keep reusable snippets, and guard destructive data operations from one native desktop app.
- Native desktop app for Windows, macOS, and Linux.
- Saved ClickHouse connections with local metadata and passwords kept outside SQLite.
- Database, table, column, and DDL explorer.
- Multi-tab SQL workspace with execution, cancellation, paging, formatting, and explain flows.
- Query history, SQL snippets, audit logs, and app logs.
- Guarded insert, update, delete, create, and drop workflows.
- Connection diagnostics, metadata import/export, backup/restore, and release update checks.
- Connection overview insights for database, table, storage, and activity summaries.
Download the latest desktop bundles from GitHub Releases.
Linux/macOS:
curl -fsSL https://raw.githubusercontent.com/lord007tn/sdm-clickhouse/main/install.sh | bashWindows PowerShell:
irm https://raw.githubusercontent.com/lord007tn/sdm-clickhouse/main/install.ps1 | iex- Node.js 20 or newer
- pnpm 10 or newer
- Rust toolchain from rustup
- Platform build tooling required by Tauri v2
pnpm installIf Rust was installed in the current PowerShell session and cargo is not available yet:
$env:Path += ";$env:USERPROFILE\.cargo\bin"pnpm tauri devBrowser-only Vite mode is useful for layout work:
pnpm devThe full product depends on Tauri commands, native dialogs, local SQLite metadata, and OS keychain integration, so use pnpm tauri dev for end-to-end work.
Run the focused checks while iterating:
pnpm typecheck
pnpm lint
pnpm format:check
pnpm knip
cargo check --manifest-path src-tauri/Cargo.tomlRun the project validation suite before opening a PR:
pnpm validateEnd-to-end tests are available with:
pnpm test:e2esrc/ React desktop UI
src/features/query/ SQL editor, completion, and tab model
src/lib/api.ts Typed frontend wrapper around Tauri commands
src-tauri/src/ Rust command layer, ClickHouse transport, local SQLite store
src-tauri/tauri.conf.json
docs/ Architecture and command reference
tests/ Playwright smoke and interaction tests
scripts/ Release and consistency checks
The app has five main layers:
- Tauri v2 native shell and Rust command handlers.
- React 19 + TypeScript frontend.
- ClickHouse HTTP(S) transport.
- SQLite local metadata for connections, history, snippets, logs, and audit data.
- OS keychain storage for secrets, with a local fallback when platform keyring services are unavailable.
See docs/architecture.md and docs/commands.md for deeper implementation notes.
Issues and pull requests are welcome. Good first contributions include documentation fixes, reproducible bug reports, focused UI polish, test coverage for existing flows, and small improvements to query/workbench ergonomics.
Before opening a PR, read CONTRIBUTING.md, run pnpm validate where practical, and include screenshots or short screen recordings for UI changes.
Please do not report vulnerabilities in public issues. Use GitHub Security Advisories for private reporting and include reproduction details, affected versions, and suggested mitigations when possible.
See SECURITY.md for the full policy.
See CHANGELOG.md. The current tracked release line is v0.1.2.
SDM ClickHouse is released under the MIT License.
