ClickHouse 支持为 beta,仅可查询和浏览,内联编辑与表设计器不可用;MCP server 默认关闭,需手动开启;预编译版对两人以上营利公司或接单自由职业者需购买 Pro 许可。
data-peek
Rohithgilla12活跃维护轻量快速的数据库桌面客户端,让开发者不用打开笨重工具就能快速查看 MySQL、PostgreSQL 里的数据,还带 MCP 支持。
A minimal, fast, database client desktop application. Built for developers who want to quickly peek at their data without the bloat.
curl -fsSL https://install.cat/Rohithgilla12/data-peek | shREADME 未说明硬件要求;桌面应用基于 Electron,提供 macOS、Windows、Linux 安装包。
轻量快速的键盘优先 SQL 客户端,打开即查,不折腾项目配置
轻量快速的数据库桌面客户端,让开发者不用打开笨重工具就能快速查看 MySQL、PostgreSQL 里的数据,还带 MCP 支持。
核心能力
- Monaco 编辑器带 schema 感知补全,支持表别名
- Cmd/Ctrl+K 命令面板切换连接与打开标签页
- Watch Mode 定时重跑只读查询并高亮变化单元格
- EXPLAIN ANALYZE 以交互式计划树展示慢节点与修复建议
- 内置 MCP server,读操作受限、写操作需人工批准
容易踩的坑
- v0.38.0v0.38.0 — One design system最新正式版2026-11-05 · 2026-11-05 05:52 UTC
This release gives the app one consistent look: one icon set, one colour palette tuned for light and dark, and one type scale. It isn't a rebrand. The blue accent, Geist and Geist Mono, and the dark-first design all stay.
🎨 One design system
- New icons (#355). The app now uses Phosphor icons throughout, with one icon per meaning, so success, error, AI, and the rest look the same on every screen.
- Colours that work in both themes. Status colours (success, warning, error) and category colours (data types, primary vs foreign keys, object kinds, chart series) come from one theme palette. Every text colour reaches 4.5:1 contrast in light and dark, including on tinted backgrounds.
- Ask in light mode is fixed. The AI panels used to stay dark inside a light window, and the warning callout was hard to read. They now follow the theme.
- Text is never smaller than 11px, on a five-step size scale. Prose such as AI answers, dialog descriptions, and settings help uses a proportional font; SQL and data stay monospace. Numeric columns use tabular figures, so digits line up.
- Charts and the ER diagram take their colours from the theme. A chart colour override shorter than the number of series now fills the remaining series from the palette.
⬇️ Update progress
- The update notification shows download progress (#354): a progress bar and percentage while the update downloads, which then turns into "Update ready" with a Restart Now button. Errors appear in the same notification. You'll see this from the next update after v0.38.0, since it's the running version that shows it.
Free for personal use · MIT source · macOS / Windows / Linux · https://datapeek.dev
What's Changed
- fix(web): only issue licenses for data-peek purchases in the Dodo webhook by @Rohithgilla12 in https://github.com/Rohithgilla12/data-peek/pull/353
- feat(desktop): show download progress during app update by @Rohithgilla12 in https://github.com/Rohithgilla12/data-peek/pull/354
- feat(desktop): design system refresh — Phosphor icons, colour tokens, type scale by @Rohithgilla12 in https://github.com/Rohithgilla12/data-peek/pull/355
Full Changelog: https://github.com/Rohithgilla12/data-peek/compare/v0.37.0...v0.38.0
- v0.37.0v0.37.0 — Ask your database2026-11-04 · 2026-11-04 12:27 UTC
查看更新说明
This release adds Ask: type a question about your database and get an answer, the SQL behind it, and a chart, a number, or a table. It runs on the Claude, Codex, or Antigravity CLI you already have, so there's no API key to paste.
💬 Ask
- ⌘T / Ctrl+T now opens an Ask tab (#351), and so does the empty state. ⌘⇧T / Ctrl+Shift+T opens the SQL editor. Type a question or plain SQL; the composer tells them apart, and Tab locks the mode.
- An answer shows what it ran. You get the explanation, the SQL, and a chart, a single number, or a table, plus "More from this answer" and follow-up questions. A query that fails gets a Fix button.
- Ask from anywhere. The command palette and sidebar search offer Ask when nothing matches. The schema explorer has "Ask about this table". The header has a connection switcher and an Ask button.
- Ask tabs survive a restart. Each keeps its last 40 blocks. Result rows are not saved to disk, so you run a block again to see its rows. Error messages and the assistant's answers are kept as written, so they can quote a value the database returned.
- Stop ends an answer and shuts down the CLI behind it, so it stops using your subscription.
🛡️ Read-only unless you say otherwise
-
SQL the assistant writes runs on its own only if it is a single read, and the database enforces that (#351). A
SELECTthat calls a function that writes fails or is undone:Database How PostgreSQL READ ONLYtransaction with a statement timeout, always rolled backMySQL READ ONLYtransaction, always rolled backSQL Server Transaction that is always rolled back; COMMIT,NEXT VALUE FOR, and text writes are refused, since a rollback can't undo themSQLite Opened read-only, and SQLite itself must report the statement as a read ClickHouse readonlysetting -
Anything that writes waits for you. Nothing runs until you click Run it, and the assistant is told which SQL never ran. Run again keeps an assistant-written read on the read-only path.
-
Cancel stops the query on the database (#352), not just in the app. SQLite is the exception: its driver can't interrupt a running query.
-
The MCP server's read tool uses the same enforcement. Before this release, MCP reads on MySQL, SQL Server, and SQLite were protected only by a keyword check. A
SELECTthat called a stored function that writes could change data there. PostgreSQL and ClickHouse were already enforced by the database.
✏️ ⌘I in the SQL editor
- Describe a change, review the diff, accept it as one undoable edit (#351). If the text changed while you were reviewing, nothing is applied.
- Fix with AI on a query error opens the same bar with the error filled in.
🔧 Fixes and polish
- macOS gets its native scrollbars back. They appear while you scroll and then fade, instead of a permanent track on every panel. The stray scrollbars on the tab bar, schema list, and sidebar are gone on every platform.
- Wide results no longer push the window sideways, and the editor toolbar scrolls when the window is narrow.
- Manage your license's devices yourself (#350). Enter your key at datapeek.dev/dashboard to see your plan and active devices, and remove old ones to free a slot. The License Dashboard link in the app now goes there.
Free for personal use · MIT source · macOS / Windows / Linux · https://datapeek.dev
What's Changed
- docs(blog): publish the EXPLAIN ANALYZE post with v0.36 by @Rohithgilla12 in https://github.com/Rohithgilla12/data-peek/pull/348
- feat(web): self-serve license dashboard for managing devices by @Rohithgilla12 in https://github.com/Rohithgilla12/data-peek/pull/350
- feat: Ask-first UI with read-only AI answers and ⌘I editing by @Rohithgilla12 in https://github.com/Rohithgilla12/data-peek/pull/351
- fix(ask): cancel stops read-only queries on the database by @Rohithgilla12 in http
- v0.36.0v0.36.0 — Safer Explain and ClickHouse performance analysis2026-11-02 · 2026-11-02 04:49 UTC
查看更新说明
This release fixes a data-safety bug in Explain, removes UI that claimed to use AI when it didn't, and brings performance analysis to ClickHouse.
🙌 Thank you
- @Lakshya0604: CI now runs the live ClickHouse suite through an SSH bastion and over HTTPS, with the bastion locked to loopback (#338).
- @mvanhorn: marked ClickHouse as beta across the docs and site summaries (#339). It's their first contribution.
Thank you both. More
good first issues are open.🛡️ Explain no longer changes your data
- Explain on PostgreSQL and SQL Server ran writes for real (#342). It used
EXPLAIN ANALYZE(on SQL Server, the actual execution plan), which executes the statement, and nothing rolled it back. Explain on aDELETEdeleted the rows. On PostgreSQL it now runs inside a transaction that always rolls back. On SQL Server, read-only statements get the actual plan in a rolled-back transaction, and anything else gets the estimated plan, which never runs. MySQL was not affected. - Explain takes one statement: your selection if there is one, otherwise the editor. On PostgreSQL, a buffer like
SELECT 1; DELETE FROM usersused to run every statement. Now Explain stops and says so. - SQL Server Explain shows the real plan. It used to show the query's rows instead.
If you used Explain on an
INSERT,UPDATE, orDELETEon PostgreSQL or SQL Server in an earlier version, those changes were committed. I tested what each database does and wrote it up: Does EXPLAIN ANALYZE run your query?📊 Performance analysis on ClickHouse
- Analyze now works on ClickHouse (#340). It flags reads that skip few granules, from
EXPLAIN indexes = 1, and summarises past runs of the same query fromsystem.query_log: run count, p50 and p95, rows and bytes read, and peak memory. It never re-runs your query. - If
query_logis off or you can't read it, you still get the read check, with a note saying why the history is missing.
🧹 Honest labels
- The "AI Architecture Audit" in Schema Intel is gone (#343). It showed a canned report instead of analyzing your schema. The rule-based Schema Intel checks are unchanged.
- The performance panel no longer calls its checks AI. They are rule-based. The fixed "~50x speedup" badge and the "lock-free" label are gone too.
- Apply Index shows the database error when it fails. It used to say "Index Applied!" either way.
The v0.28.0 blog post that described these features now starts with a correction (#346).
🔧 Fixes and polish
- SQL Server Azure AD sign-in fails clearly (#344).
ActiveDirectoryPassword,ActiveDirectoryServicePrincipal, andActiveDirectoryDeviceCodeFlowused to fall back to a SQL login without telling you. They now fail with a message naming the methods that work. - Settings has MCP and audit logging sections, Format works on all five databases, and the schema tree keeps its expanded state (#341). Autocomplete also refreshes when you switch editors, and passwords, tokens, and SSH keys are fully redacted in logs.
- The README, docs, and site match what the app ships (#345). They no longer claim Excel or TSV export, p50 benchmarks, 100k-row data generation, table partitions, or connection groups.
Free for personal use · MIT source · macOS / Windows / Linux · https://datapeek.dev
What's Changed
- ci: cover ClickHouse over SSH bastion and HTTPS (#337) by @Lakshya0604 in https://github.com/Rohithgilla12/data-peek/pull/338
- docs(index): mark ClickHouse beta in support summaries and metadata by @mvanhorn in https://github.com/Rohithgilla12/data-peek/pull/339
- fix: address reliability, security, perf, and dead code quick wins by @Rohithgilla12 in https://github.com/Rohithgilla12/data-peek/pull/341
- fix(explain): roll back EXPLAIN ANALYZE and require one statemen
- v0.35.0v0.35.0 — ClickHouse column stats and query killing2026-10-15 · 2026-10-15 03:35 UTC
查看更新说明
ClickHouse connections get two more tools. Column stats now profile ClickHouse columns, and the Health Monitor lists the queries running on a ClickHouse server and can kill them. Both features came from the community.
🙌 Thank you
- @Lakshya0604: column stats for ClickHouse, which hold up on very large tables. They also added a CI job that runs the live ClickHouse test suite on every pull request that touches ClickHouse code.
- @Anirban-Chand: the Active Queries panel and Kill Query for ClickHouse, wired through from the adapter to the Health Monitor.
- @theluckystrike: a flaky website test that now loads reliably.
Thank you all. More
good first issues are open.🗄️ ClickHouse column stats
- Column stats now work on ClickHouse (#333). For each column you get total rows, nulls, and distinct values. Distinct values come from
uniq, so that count is approximate. - Numeric, date, text, and boolean columns show the same extra fields as on MySQL. The top five common values have exact counts and percentages.
NullableandLowCardinalitycolumns are profiled by the type inside them.
🩺 Active Queries and Kill Query on ClickHouse
- The Health Monitor lists running ClickHouse queries (#334). It reads them from
system.processesand shows the user, the elapsed time, and the query text. - The Kill button stops a query with
KILL QUERY ... SYNC. The PID column shows the ClickHousequery_id, which is a string rather than a number.
🔧 Under the hood
- The live ClickHouse suite runs in CI (#336). Pull requests that touch ClickHouse code,
packages/shared, orseeds/clickhousenow run it. - A steadier showcase page test (#335).
Free for personal use · MIT source · macOS / Windows / Linux · https://datapeek.dev
What's Changed
- feat(clickhouse): implement column stats by @Lakshya0604 in https://github.com/Rohithgilla12/data-peek/pull/333
- feat(clickhouse): implement active queries panel and kill query by @Anirban-Chand in https://github.com/Rohithgilla12/data-peek/pull/334
- test(web): open the showcase page at domcontentloaded by @theluckystrike in https://github.com/Rohithgilla12/data-peek/pull/335
- ci: run the live ClickHouse smoke suite on pull requests by @Lakshya0604 in https://github.com/Rohithgilla12/data-peek/pull/336
New Contributors
- @Anirban-Chand made their first contribution in https://github.com/Rohithgilla12/data-peek/pull/334
- @theluckystrike made their first contribution in https://github.com/Rohithgilla12/data-peek/pull/335
Full Changelog: https://github.com/Rohithgilla12/data-peek/compare/v0.34.0...v0.35.0
- v0.34.0v0.34.0 — Sequences, ClickHouse autocomplete, and SQL Server index checks2026-10-09 · 2026-10-09 13:03 UTC
查看更新说明
The schema explorer now lists sequences, the ClickHouse editor autocompletes ClickHouse functions and types, and Schema Intel runs two more index checks on SQL Server. Almost all of it came from the community.
🙌 Thank you
- @MrTangLuyao: ClickHouse autocomplete, with names kept in ClickHouse's own casing so they run as written.
- @Azeem-dash: duplicate and unused index checks for SQL Server, which bring SQL Server up to the same five Schema Intel checks as MySQL.
- @mgr-punith: back again, this time making SQL Server sequences real instead of an empty list.
- @Lakshya0604: sequences in the schema explorer, for Postgres and SQL Server.
- @abdulshhhh: connection form defaults that stay put when you reset or switch database types.
- @Nitu-Bathyal: a full docs page for Schema Intel.
- @LetMeSleep8h: cut 15 seconds of sleeping out of an e2e test.
Thank you all. More
good first issues are open, including ClickHouse ones.🗂️ Sequences in the schema explorer
- Sequences show under each schema (#332), after tables and views, with their data type, start value, and increment.
- SQL Server sequences are real now (#330). data-peek reads them from
sys.sequences, so SQL Server databases list them alongside Postgres.
Databases without sequences (MySQL, SQLite, ClickHouse) show nothing extra.
🗄️ ClickHouse autocomplete
- ClickHouse functions and types in the editor (#327):
toStartOfDay,uniqExact,LowCardinality,UInt64, and more, each with a signature and a description. Typing in lower case still finds them, and the editor inserts ClickHouse's casing, which the server requires.
🩺 Schema Intel on SQL Server
- Duplicate indexes and unused indexes (#329). Indexes that match on everything but the name are flagged, and the one to keep is the clustered index, then the primary key, then a unique constraint. The suggested fix drops the rest.
- A Schema Intel docs page (#307) covers every check, which databases run it, and the Run Fix flow. Read it at docs.datapeek.dev.
🔧 Fixes
- Connection form defaults (#325). The Database field keeps
postgreswhen the form resets, and switching from ClickHouse to SQLite clears the old value.
Free for personal use · MIT source · macOS / Windows / Linux · https://datapeek.dev
What's Changed
- fix: resolve connection dialog default values by @abdulshhhh in https://github.com/Rohithgilla12/data-peek/pull/325
- docs: add Schema Intel feature page and README entry (#276) by @Nitu-Bathyal in https://github.com/Rohithgilla12/data-peek/pull/307
- feat(desktop): autocomplete ClickHouse functions and types by @MrTangLuyao in https://github.com/Rohithgilla12/data-peek/pull/327
- test(e2e): settle the stale connect probe via a test-only deadline by @LetMeSleep8h in https://github.com/Rohithgilla12/data-peek/pull/326
- feat(desktop): add duplicate_indexes and unused_indexes Schema Intel checks for SQL Server by @Azeem-dash in https://github.com/Rohithgilla12/data-peek/pull/329
- fix(mssql): list sequences from sys.sequences instead of returning [] by @mgr-punith in https://github.com/Rohithgilla12/data-peek/pull/330
- fix(desktop): call Schema Intel AI audit hooks before the early return by @Rohithgilla12 in https://github.com/Rohithgilla12/data-peek/pull/331
- feat(desktop): show sequences in the schema explorer by @Lakshya0604 in https://github.com/Rohithgilla12/data-peek/pull/332
New Contributors
- @abdulshhhh made their first contribution in https://github.com/Rohithgilla12/data-peek/pull/325
- @Nitu-Bathyal made their first contribution in https://github.com/Rohithgilla12/data-peek/pull/307
- @MrTangLuyao made their first contribution in https://github.com/Rohithgilla12/data-peek/pull/327
- @LetMeSleep8h made their first contribution in https://github.co
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Why data-peek
- Fast. Opens in about two seconds and stays light on memory. No splash screens, no project setup.
- Keyboard-first.
Cmd/Ctrl+Kswitches connections and opens tabs, saved queries, and settings. Every shortcut is documented. - Local and private. Credentials are encrypted with your OS keychain. No telemetry, no account, no cloud sync.
- Grows with the task. A quick
SELECTstays quick, and query plans, live diffs, ER diagrams, and an AI assistant are there when the job gets bigger.
Install
| Platform | Command |
|---|---|
| macOS, Linux | curl -fsSL https://install.cat/Rohithgilla12/data-peek | sh |
| Windows (PowerShell) | irm https://install.cat/Rohithgilla12/data-peek | iex |
| macOS (Homebrew) | brew install --cask Rohithgilla12/tap/data-peek |
Or grab a build from Releases: .dmg for macOS (signed and notarised), .exe for Windows, and .AppImage, .deb, or .tar.gz for Linux.
macOS. Builds are signed and notarised, so they open without warnings. The quick installer installs the matching .dmg and clears the quarantine flag for you. If an older manual install says the app is "damaged", run xattr -cr "/Applications/Data Peek.app".
Linux. The AppImage and the .deb update themselves; .tar.gz installs need a manual download for each new release. The quick installer puts the AppImage at ~/.local/bin/data-peek. The .deb installs to /opt/data-peek with an AppArmor profile, which Ubuntu 24.04+ needs for Electron's sandbox.
No install: npx @data-peek/cli doctor
Eight Postgres schema checks from the terminal. Each finding comes with the SQL that fixes it.
npx @data-peek/cli doctor postgres://user:pass@localhost:5432/app
npx @data-peek/cli doctor "$DATABASE_URL" --fail-on warning # fail CI on warnings
It finds tables without a primary key, foreign keys without an index, duplicate, unused, and invalid indexes, bloat, never-vacuumed tables, and nullable foreign keys. These are the same checks as Schema Intel in the app. See packages/cli.
See it work
More clips (command palette, ER diagrams, the AI assistant, inline editing) are on datapeek.dev.
Features
Query editor
- Monaco editor with schema-aware autocomplete that understands table aliases
- Multiple tabs and windows, plus cross-tab references: name a tab and query its result from another as
@name - Step through multi-statement scripts one statement at a time, with manual transactions on PostgreSQL
- Saved queries with folders and tags, reusable snippets, and SQL notebooks that mix SQL cells with Markdown
- A sidebar omnibar (
/) that searches tables, columns, functions, saved queries, and history
Results and data
- Inline editing with a preview of the generated
INSERT/UPDATE/DELETEbefore you commit - Smart filters and sorting on results without re-running the query
- Foreign key navigation, a JSON/JSONB editor, and one-click column statistics
- Export to CSV, JSON, SQL
INSERTs, or Markdown, or share a result as an image - CSV import with column mapping and type inference, PostgreSQL
.sqldump import, and an FK-aware fake data generator - Data masking that blurs sensitive columns for demos and screenshots
Performance
EXPLAIN ANALYZEviewer with an interactive plan tree on PostgreSQL- Query telemetry with a timing waterfall, and a benchmark mode reporting avg/p90/p95/p99
- Performance hints for missing indexes, N+1 patterns, and slow queries, each with a suggested fix
- On ClickHouse, performance analysis flags reads that skip few granules and summarizes past runs from
system.query_log - Cancel a running query, or kill a blocking one from the health monitor
Live data
- Watch Mode re-runs a read-only query every 500 ms to 5 min and highlights changed cells. It refuses to poll anything that writes.
- Time Machine snapshots past results locally, so you can scrub back and diff any two runs (
Cmd/Ctrl+Shift+H) - Scheduled queries on a cron, with run history and desktop notifications
- PostgreSQL
LISTEN/NOTIFYwith a live event log - Dashboards built from your queries, with charts, KPIs, and tables
Schema and monitoring
- Schema explorer for tables, views, functions, procedures, triggers, and sequences
- Table designer for creating and altering tables: columns, indexes, and constraints
- Interactive ER diagrams
- Health monitor with active queries, table sizes, cache hit ratios, and lock detection
- Schema Intel diagnostics for unindexed foreign keys, duplicate or unused indexes, missing primary keys, and table bloat, with suggested SQL fixes
AI and agents
- Ask is the default tab (
Cmd/Ctrl+T). One input takes a question or SQL. SQL runs directly. A question goes to your AI, which writes the SQL, runs it when it only reads, and explains what came back with a table, chart, or number. Writes wait for you to click Run, and a failed query has a one-click fix. The plain SQL editor isCmd/Ctrl+Shift+T. - Ask from anywhere: type a question into
Cmd/Ctrl+K, pick Ask about this table in the schema tree, or click Fix with AI on a failed query - In the SQL editor,
Cmd/Ctrl+Irewrites the query or the selection from a sentence and shows the change as a diff to accept or reject - AI assistant that turns plain English into SQL and builds charts from results. It knows your schema.
- Bring your own key (OpenAI, Anthropic, Google, Groq, or local Ollama models), or bring your own agent: point it at your installed Claude Code, Codex, or Antigravity CLI and use the subscription you already have
- A built-in MCP server (off by default) that exposes your connections to AI agents. Reads are capped and run read-only, and every write needs your approval in the app.
Connections and security
- PostgreSQL, MySQL, Microsoft SQL Server, SQLite, and ClickHouse. ClickHouse support is in beta and covers querying and browsing, so inline editing and the table designer stay off for ClickHouse connections.
- SSH tunnels through bastion hosts, using a password or a key
- Credentials encrypted with the OS keychain, and no telemetry
- An optional tamper-evident audit log of every statement you run. It stays local.
The docs cover every feature in depth.
Pricing
The source is MIT licensed. The pre-built app is free for personal use: side projects, learning, open source, students, educators, non-profits, and solo founders, with every feature included. Using it at a for-profit company of two or more people, or as a freelancer or agency billing clients, needs a Pro licence. Details are in LICENSE.md. To see which devices use your licence, or free a slot after reinstalling your OS, enter your key at datapeek.dev/dashboard.
data-peek is a single-maintainer project, and two commitments in SUSTAINABILITY.md say so up front:
- No kill switch. If the licence server ever goes away, your activated version keeps working forever, offline.
- Dormancy pledge. After 12 months of maintainer inactivity, the commercial-licence requirement is waived for every released version.
Contributing
Contributions are welcome, and data-peek is taking part in Hacktoberfest. Issues labelled good first issue say what to change and how to tell when it's done. Read CONTRIBUTING.md before opening a PR.
git clone https://github.com/Rohithgilla12/data-peek.git
cd data-peek
pnpm install
pnpm dev # desktop app with hot reload
apps/
desktop/ Electron app (main process, preload, React renderer)
docs/ docs.datapeek.dev
web/ datapeek.dev marketing site and licence API
packages/
cli/ @data-peek/cli, the `doctor` command
shared/ Types and logic shared across apps (IPC contract, Schema Intel checks)
ui/ Shared shadcn/ui components
| Script | What it does |
|---|---|
pnpm dev | Desktop app with hot reload |
pnpm dev:web | Marketing site |
pnpm lint | Lint every workspace |
pnpm build | Build the desktop app for the current platform |
pnpm build:mac / build:win / build:linux | Platform builds |
Built with Electron, React 19, TypeScript, Tailwind CSS 4, shadcn/ui, Zustand, and Monaco. Database drivers are pg, mysql2, mssql, better-sqlite3, and @clickhouse/client.
"Electron not found" after pnpm install? pnpm's cache can skip Electron's postinstall step, which downloads the platform binary. Run pnpm setup:electron, then pnpm rebuild. If that doesn't fix it, pnpm clean:install starts from scratch.
Support
- GitHub Issues for bugs and feature requests
- GitHub Sponsors to support development
- @gillarohith on X