经 AI Skill Hub 精选评估,云时代SQL IDE 获评「强烈推荐」。这款AI工具在功能完整性、社区活跃度和易用性方面表现出色,AI 评分 8.0 分,适合有一定技术背景的用户使用。
快速的云原生SQL IDE,支持PostgreSQL、MySQL、SQLite
云时代SQL IDE 是一款基于 TypeScript 开发的开源工具,专注于 ai、cloud-native、database 等核心功能。作为 GitHub 开源项目,它拥有活跃的社区支持和持续的版本迭代,代码完全透明可审计,支持本地部署以保护数据隐私。无论是个人使用还是集成到企业工作流,都能提供稳定可靠的解决方案。
快速的云原生SQL IDE,支持PostgreSQL、MySQL、SQLite
云时代SQL IDE 是一款基于 TypeScript 开发的开源工具,专注于 ai、cloud-native、database 等核心功能。作为 GitHub 开源项目,它拥有活跃的社区支持和持续的版本迭代,代码完全透明可审计,支持本地部署以保护数据隐私。无论是个人使用还是集成到企业工作流,都能提供稳定可靠的解决方案。
# 方式一:npm 全局安装 npm install -g libredb-studio # 方式二:npx 直接运行(无需安装) npx libredb-studio --help # 方式三:项目依赖安装 npm install libredb-studio # 方式四:从源码运行 git clone https://github.com/libredb/libredb-studio cd libredb-studio npm install npm start
# 命令行使用
libredb-studio --help
# 基本用法
libredb-studio [options] <input>
# Node.js 代码中使用
const libredb_studio = require('libredb-studio');
const result = await libredb_studio.run(options);
console.log(result);
# libredb-studio 配置说明 # 查看配置选项 libredb-studio --config-example > config.yml # 常见配置项 # output_dir: ./output # log_level: info # workers: 4 # 环境变量(覆盖配置文件) export LIBREDB_STUDIO_CONFIG="/path/to/config.yml"
<p align="center"> <img src="public/logo.svg" width="200" alt="LibreDB Studio Logo" /> </p>
<p align="center"> <strong>The database editor that deploys next to your data, not onto your laptop.</strong> </p>
<p align="center"> <b>English</b> · <a href="README_zh.md">简体中文</a> · <a href="README_ja.md">日本語</a> · <a href="README_es.md">Español</a> · <a href="README_ur.md">اردو</a> · <a href="README_hi.md">हिन्दी</a> · <a href="README_pt.md">Português (Brasil)</a> · <a href="README_ru.md">Русский</a> </p>
<p align="center"> Listed by the PostgreSQL project: <a href="https://www.postgresql.org/about/news/libredb-studio-an-open-source-self-hosted-sql-ide-for-postgresql-in-the-browser-3368/">News</a> · <a href="https://wiki.postgresql.org/wiki/PostgreSQL_Clients#LibreDB_Studio">PostgreSQL Clients</a> · <a href="https://www.postgresql.org/download/products/1/#:~:text=LibreDB%20Studio">Software Catalogue</a> · <a href="https://wiki.postgresql.org/wiki/Community_Guide_to_PostgreSQL_GUI_Tools#LibreDB_Studio">Community Guide to GUI Tools</a> </p> <p align="center"> Also listed in official <a href="https://node-oracledb.readthedocs.io/en/latest/user_guide/appendix_b.html#libredb-studio">Oracle</a>, <a href="https://planet.mysql.com/showcase/?search=LibreDB">MySQL</a>, <a href="https://redis.io/docs/latest/develop/tools/#libredb-studio">Redis</a>, <a href="https://clickhouse.com/docs/integrations/connectors/tools/gui#libredb-studio">ClickHouse</a>, <a href="https://mariadb.com/docs/server/clients-and-utilities/graphical-and-enhanced-clients/libredb-studio">MariaDB</a>, <a href="https://trino.io/ecosystem/client-application#libredb-studio">Trino</a>, <a href="https://cloudberry.apache.org/docs/ecosystem/sql-clients/libredb-studio/">Apache Cloudberry</a>, <a href="https://docs.yugabyte.com/stable/integrations/tools/libredb-studio/">YugabyteDB</a>, <a href="https://www.tigerdata.com/docs/integrate/query-administration/libredb-studio">TimescaleDB</a>, <a href="https://www.dragonflydb.io/docs/integrations/libredb-studio">DragonflyDB</a>, <a href="https://microsoft.github.io/garnet/docs/welcome/compatibility#gui-tools">Garnet</a>, <a href="https://opensearch.org/community-projects/#:~:text=LibreDB%20Studio">OpenSearch</a>, <a href="https://duckdb.org/docs/preview/guides/sql_editors/libredb_studio">DuckDB</a>, <a href="https://docs.starrocks.io/docs/integrations/IDE_integrations/LibreDB_Studio/">StarRocks</a>, <a href="https://aiven.io/docs/products/postgresql/howto/connect-libredb-studio">Aiven for PostgreSQL</a>, <a href="https://aiven.io/docs/products/mysql/howto/connect-libredb-studio">Aiven for MySQL</a>, <a href="https://cwiki.apache.org/confluence/display/KAFKA/Ecosystem#:~:text=LibreDB%20Studio">Apache Kafka</a>, <a href="https://cassandra.apache.org/_/ecosystem.html">Apache Cassandra</a> and <a href="https://druid.apache.org/libraries/#:~:text=LibreDB%20Studio">Apache Druid</a> docs </p>
<p align="center"> <img src="public/screenshots/hero-demo.gif" alt="Opening a table, running a join, charting the result and reading the ER diagram in LibreDB Studio" width="100%" /> </p>
<p align="center"> <a href="https://github.com/libredb/libredb-studio"><img src="https://img.shields.io/github/stars/libredb/libredb-studio?style=social" alt="GitHub stars"></a> <a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT"></a> <a href="https://sonarcloud.io/project/overview?id=libredb_libredb-studio"><img src="https://sonarcloud.io/api/project_badges/measure?project=libredb_libredb-studio&metric=alert_status" alt="Quality Gate"></a> <a href="https://codecov.io/github/libredb/libredb-studio"><img src="https://codecov.io/github/libredb/libredb-studio/graph/badge.svg?token=VA6CO9R7IH" alt="Coverage"></a> <a href="https://deepwiki.com/libredb/libredb-studio"><img src=".github/assets/deepwiki-badge.svg" alt="Ask DeepWiki"></a> <a href="https://artifacthub.io/packages/helm/libredb-studio/libredb-studio"><img src="https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/libredb-studio" alt="Artifact Hub"></a> </p>
<p align="center"> <a href="https://nextjs.org/"><img src="https://img.shields.io/badge/Next.js-16-black?logo=next.js" alt="Next.js 16"></a> <a href="https://react.dev/"><img src="https://img.shields.io/badge/React-19-61DAFB?logo=react" alt="React 19"></a> <a href="https://hub.docker.com/r/libredb/libredb-studio?tag=latest"><img src="https://img.shields.io/badge/Docker-Ready-2496ED?logo=docker" alt="Docker Support"></a> <a href="https://artifacthub.io/packages/helm/libredb-studio/libredb-studio"><img src="https://img.shields.io/badge/Kubernetes-Compatible-326CE5?logo=kubernetes" alt="Kubernetes Compatible"></a> </p>
<p align="center"> <a href="#quick-start"><strong>Quick Start</strong></a> • <a href="#live-test"><strong>Live Demo</strong></a> • <a href="#getting-started"><strong>Install Options</strong></a> • <a href="#one-click-deploy"><strong>Deploy Your Own</strong></a> </p>
---
You create a Postgres on a managed platform. It is ready in forty seconds. Then you want to look inside it — so you open a port to the internet, dig an SSH tunnel, or install a desktop client on every machine that needs one.
LibreDB Studio goes the other way. It deploys next to the data: a container, a Helm chart, an operator, a one-click template on your PaaS, or npm i @libredb/studio inside your own product. Nothing has to face outward.
Twenty-seven engines share one interface: PostgreSQL, MySQL, Oracle, Db2 LUW, SQL Server, SQLite, libSQL, DuckDB, MongoDB, Redis, Couchbase, ClickHouse, Druid, Elasticsearch, OpenSearch, Trino, Databend, Apache Cassandra, Prometheus, Apache Kafka, etcd, Neo4j, Milvus, Qdrant, InfluxDB (InfluxQL), InfluxDB 3 (SQL) and Oxia, with the same explorer everywhere, and ER diagrams, schema diff and monitoring wherever the engine has something to report. Three of the twenty-seven are read-only because their own SQL is: Druid, Elasticsearch and OpenSearch have no UPDATE and no CREATE TABLE in the grammar at all, so those controls are reported as unsupported instead of failing when used. Cassandra is the one that reports the least on purpose: it publishes no row count and no size that is true, so the object browser shows neither rather than showing a number that is wrong; the estimate it does publish counts partitions from flushed files, and it read 143 for a 500-row table. Trino is the other odd one: it is a query engine rather than a database, so it declares no keys and no indexes and reports the bytes as belonging to the systems behind its connectors. Databend is the newest: SQL typed in the editor reads and writes a self-hosted Databend server or a Databend Cloud warehouse over Databend's own HTTP query API with no driver, the browser shows catalogs and databases with their tables, views, materialized views and dynamic tables, and each statement runs in a session of its own, so a transaction ends with the statement that opened it. Oxia came before Databend: oxia client read commands typed in the editor read an Oxia 0.16.10 or 0.17.1 server over its gRPC client API, the tree shows shards and the Keys panel every key, read-only by construction, because the client can call only the four read RPCs and the health check, and Studio dials a shard leader only when it is the address the connection names or a listed data server. InfluxDB came before Oxia, as two connection types, one per query language: InfluxDB (InfluxQL) sends InfluxQL over InfluxDB's v1 HTTP API to InfluxDB 1.x, 2.x and 3, and InfluxDB 3 (SQL) sends SQL to InfluxDB 3 Core and Enterprise over its SQL API; the browser shows databases with their measurements, or tables on InfluxDB 3, and both are read-only whatever the connection says, because every statement that is not a read is refused before any request and Studio calls no write endpoint. Milvus came before InfluxDB: Milvus's own REST v2 requests typed in the editor read a Milvus 3.0.2 server over its gRPC API, the browser shows databases and collections with their fields, partitions, indexes and load state, and vectors reach the grid as vector cells, read-only apart from an admin's Load and Release, because the console runs fifteen read routes and refuses every request that would make the server call another service. Qdrant came before Milvus: Qdrant's own REST requests typed in the editor read a Qdrant 1.19.1 server, the browser shows collections with their vectors, payload indexes and a sampled view of payload keys, and vectors reach the grid as vector cells, read-only by construction, because the console runs seventeen read routes and refuses every inference input except the local BM25 model. Neo4j came before Qdrant: Cypher typed in the editor reads a Neo4j 5.26 database over Bolt, the browser shows node labels, relationship types, indexes and constraints, and nodes, relationships and paths reach the grid as JSON cells, read-only by construction, because every statement passes a read policy, the server's own classification (which an allowlisted SHOW form skips) and a READ session before it runs. etcd is the one before it: an etcdctl subset over etcd's gRPC API reads and writes keys, the browser shows key-prefix groups and a key browser, a key's value is edited in one transaction guarded by its revision, and an admin can compact, defragment and disarm alarms, while every write under a Kubernetes prefix is refused and every Kubernetes secret withheld. Apache Kafka came before etcd: a JSON read request reads a topic's messages over the Kafka protocol, by partition, offset or timestamp, and the browser shows topics, consumer groups with their lag, and brokers, read-only by construction, because Studio never produces, commits an offset, joins a consumer group or creates a topic. None of Oxia, InfluxDB (InfluxQL), Milvus, Qdrant, Neo4j, etcd, Apache Kafka and Prometheus is SQL at all, as MongoDB and Redis are not: InfluxQL looks like SQL and is its own language, one SELECT, SHOW or EXPLAIN per run here, while InfluxDB 3 (SQL) is SQL; Prometheus speaks PromQL over the Prometheus HTTP API, browses metrics, rules and scrape targets, and is read-only because Studio calls none of the server's write or admin endpoints.
And nothing is held back. Single sign-on, ER diagrams, the AI features and the NoSQL engines all ship in the MIT build. MIT is not generosity here, it is a requirement of the architecture: you cannot place a per-seat licensed, feature-gated tool into every environment you own.
docker run -p 3000:3000 ghcr.io/libredb/libredb-studio:latest
npx @libredb/studio ```
Then open http://localhost:3000. On first run, the admin password is printed to the log (zero-config).
If the browser reaches Studio at anything other than localhost or HTTPS (http://192.168.x.x:3000on a LAN, for example), also setAUTH_COOKIE_SECURE=false. Without it the health check passes while login fails silently and sends you back to the login page.
Need Helm, Homebrew, Snap, winget, or deb/rpm? See all install options.
---
| Channel | Command | Notes | | :--- | :--- | :--- | | Docker | docker run -p 3000:3000 ghcr.io/libredb/libredb-studio:latest | Zero-config: the admin password is printed to the log on first run | | Helm (Kubernetes) | helm install libredb oci://ghcr.io/libredb/charts/libredb-studio | Zero-config: first-run admin credentials are printed to the pod log | | npx | npx @libredb/studio | Linux/macOS/Windows, Node 24+ (24 LTS is the reference runtime); downloads the release server archive | | Homebrew | brew trust libredb/tap && brew install libredb/tap/libredb-studio | brew trust is required once (Homebrew 6+; run brew update if unknown) | | deb / rpm | sudo dpkg -i libredb-studio_<version>_amd64.deb | Attached to each GitHub release; systemd service included | | Arch Linux (AUR) | paru -S libredb-studio-bin | Prebuilt standalone server with a systemd service; Node.js comes from nodejs-lts-krypton. Package staged in packaging/aur, listing pending (#971) | | Snap | sudo snap install libredb-studio | Zero-config: the admin password is printed to sudo snap logs libredb-studio on first run — Snap Store listing | | winget (Windows) | winget install LibreDB.Studio | Portable zip with a bundled Node.js runtime; run libredb-studio — listed in the winget community repository | | Chocolatey (Windows) | choco install libredb-studio | Same standalone zip — listed in the Chocolatey community repository; the first push (0.9.59) cleared moderation on 2026-08-24, and every release publishes automatically since (#114) | | Scoop (Windows) | scoop bucket add extras<br>scoop install extras/libredb-studio | Same standalone zip, listed in the Scoop Extras bucket; the bucket updates itself from each release | | Portable zip (Windows) | .\libredb-studio.exe | Download from GitHub Releases; bundled Node runtime, no package manager needed | | Desktop app (Linux, AppImage) | chmod +x libredb-studio-desktop-<version>-linux-x64.AppImage && ./libredb-studio-desktop-<version>-linux-x64.AppImage | Native window, no browser tab and no login prompt; the server runs as a local sidecar. For a sandboxed build, use the Flatpak row below (#232) | | Desktop app (Debian/Ubuntu) | sudo apt install ./libredb-studio-desktop-<version>_amd64.deb | Same desktop app, installed into the menu; needs no FUSE and takes WebKitGTK from the distribution. Not the server package — that one is libredb-studio_<version>_<arch>.deb | | Desktop app (Flatpak) | flatpak --user remote-add --if-not-exists flatpark https://dl.flatpark.org/flatpark.flatpakrepo<br>flatpak --user install flatpark org.libredb.Studio | Sandboxed desktop app from the FlatPark remote — no filesystem access at all; databases are reached over TCP. Developer-approved listing (#241) |
Homebrew, deb/rpm, Snap, the Windows portable zip, winget/Chocolatey/Scoop, the desktop AppImage and Debian package, and the npx launcher consume standalone artifacts attached to each GitHub release. Full per-channel guide — commands, configuration, systemd usage, and the Docker image tag model — indocs/DISTRIBUTION.md. Channel coverage scorecard (live / pending, by platform and category) —docs/CHANNELS.md.
Run LibreDB Studio with a single command — no clone, no install, no build:
docker run \
--name libredb-studio \
-p 3000:3000 \
-e ADMIN_EMAIL=admin@libredb.org \
ghcr.io/libredb/libredb-studio:latest
Registry:ghcr.io/libredb/libredb-studiois the primary image (no pull rate limits — preferred for Kubernetes/CI). The same image is also mirrored to Docker Hub aslibredb/libredb-studiofor convenience.
Variants: every tag also ships on Alpine.:latest-alpineis the same product on a musl base with a much smaller OS attack surface, and:latest-alpine-slimis smaller still in exchange for the DuckDB driver. The default tag stays Debian and is the only one where Oracle Thick mode can be layered on —docs/DISTRIBUTION.mdhas the table.
IPv6: the container picks its own bind address at startup and prefers::, which serves IPv4 and IPv6 through one socket — so an IPv6-only host needs no flags. It falls back to0.0.0.0where the namespace has no usable IPv6, and logs which it chose. Add-e HOSTNAME=0.0.0.0to pin it to IPv4 — details, and the Kubernetes equivalent, indocs/DISTRIBUTION.md.
Open http://localhost:3000. The command above sets no password, so the first start generates one and prints it to the container log with docker logs libredb-studio — sign in as admin@libredb.org with the password it printed, or set ADMIN_PASSWORD yourself.
Auth env vars (local provider):ADMIN_PASSWORDandJWT_SECRETare only required whenAUTH_BOOTSTRAP=off; otherwise both are generated on first start (see Zero-config first run below).USER_EMAIL/USER_PASSWORDare optional; omit them to run admin-only (no default user password is ever assumed).ADMIN_EMAILdefaults toadmin@libredb.org. Using OIDC (NEXT_PUBLIC_AUTH_PROVIDER=oidc)? None of these are needed.
Tip: Add -e LLM_PROVIDER=gemini -e LLM_API_KEY=your_key -e LLM_MODEL=gemini-2.5-flash to enable AI features.
Starting the server without JWT_SECRET / ADMIN_PASSWORD works out of the box: the missing values are generated on first start, stored in <data dir>/auth-bootstrap.json (file mode 0600), and the admin password is printed once to the server log. Explicitly set environment variables always take precedence. Set AUTH_BOOTSTRAP=off to require explicit configuration instead (recommended for production deployments).
A JWT_SECRET you set yourself must be at least 32 characters. A shorter one is a hard error at startup: the server prints what is wrong and exits with code 1, instead of booting into a state where the health check reports healthy but every login returns 503. Unset the variable to let the first run generate a strong secret for you.
Native packages for Debian/Ubuntu and RHEL/Fedora (amd64 and arm64) are attached to every GitHub release. They bundle the standalone server together with a private Node.js runtime (nothing else to install) and register a systemd service:
```bash
Run a full Database Editor in one command, no clone, no build:
```bash
快速、现代化的SQL IDE,支持多种数据库
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ MIT 协议 — 最宽松的开源协议之一,可自由商用、修改、分发,仅需保留版权声明。
AI Skill Hub 点评:云时代SQL IDE 的核心功能完整,质量优秀。对于AI 技术爱好者来说,这是一个值得纳入个人工具库的选择。建议先在非生产环境试用,再逐步推广。
| 原始名称 | libredb-studio |
| 原始描述 | 开源AI工具:A modern, blazing-fast SQL IDE for the cloud era. Query PostgreSQL, MySQL, SQLit。⭐75 · TypeScript |
| Topics | aicloud-nativedatabasedb-guidockertypescript |
| GitHub | https://github.com/libredb/libredb-studio |
| License | MIT |
| 语言 | TypeScript |
收录时间:2026-07-12 · 更新时间:2026-07-12 · License:MIT · AI Skill Hub 不对第三方内容的准确性作法律背书。