经 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> </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/">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://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> and <a href="https://druid.apache.org/libraries">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="https://img.shields.io/badge/Docs-DeepWiki-blue?logo=gitbook" alt="DeepWiki Docs"></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.
Sixteen engines share one interface — PostgreSQL, MySQL, Oracle, SQL Server, SQLite, libSQL, DuckDB, MongoDB, Redis, Couchbase, ClickHouse, Druid, Elasticsearch, OpenSearch, Apache Trino and Apache Cassandra — with the same explorer everywhere, and ER diagrams, schema diff and monitoring wherever the engine has something to report. Three of the sixteen 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 newest, and 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.
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.
bun run test:e2e # Playwright browser tests (32 cases)
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).
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 | | 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) | | 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, 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 \
-e ADMIN_PASSWORD=LibreDB.2026 \
-e USER_EMAIL=user@libredb.org \
-e USER_PASSWORD=LibreDB.2026 \
-e JWT_SECRET=change-me-to-a-random-32-char-string \
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.
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 and login with admin@libredb.org / LibreDB.2026.
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
Deploy your own instance of LibreDB Studio with a single click on DigitalOcean, Koyeb, Render, Railway, Sealos, CapRover, or Dokploy:
DigitalOcean: the Marketplace listing creates a preconfigured Droplet. Unique admin credentials are generated on first boot; the welcome message (MOTD) tells you where to find them. CapRover: open your CapRover dashboard → Apps → One-Click Apps/Databases, search for LibreDB Studio, and deploy. Koyeb: set a strongJWT_SECRET(at least 32 characters —openssl rand -base64 32) and credentials before deploying (Koyeb cannot auto-generate secrets); the prefilled values are placeholders, and a secret under 32 characters makes the app exit at startup. The button usesSTORAGE_PROVIDER=local— connection metadata lives in the browser, which suits Koyeb's ephemeral filesystem. For persistence across redeploys, switch toSTORAGE_PROVIDER=postgresand pointSTORAGE_POSTGRES_URLat a Koyeb managed Postgres or Neon database. Seedeploy/koyeb/. Fly.io: the repo ships a readyfly.toml— full steps (app name, volume, secrets) indocs/FLY.md. Cosmos: install in one click from the Cosmos Marketplace — search for LibreDB Studio. Cosmos auto-generates secrets, provisions a persistent SQLite volume, and serves the app behind its SmartShield reverse proxy. Seedeploy/cosmos/. Dokploy: install in one click from the Dokploy template catalog — in your Dokploy dashboard, Create Service → Template, search for LibreDB Studio, and deploy. Dokploy auto-generatesADMIN_PASSWORD,USER_PASSWORD, andJWT_SECRET, and persists connections on a SQLite volume behind Traefik. Seedeploy/dokploy/.
Maintainers: every distribution channel is inventoried indistribution/channels.yaml;bun run distribution:checkreports version drift across all of them (see docs/DISTRIBUTION.md).
LibreDB Studio includes a render.yaml Blueprint for one-click deployment:
render.yamlUse the ready-to-use docker-compose.example.yml — it pulls the published image (ghcr.io/libredb/libredb-studio:latest), so no source build is needed. It documents every supported environment variable (auth, OIDC, storage, LLM, seed connections), with the less-common ones commented out.
```bash
Run a full Database Editor in one command, no clone, no build:
```bash
docker compose -f docker/postgres.yml up -d
The docker/postgres.yml setup includes a pre-loaded e-commerce schema:
| Feature | Description |
|---|---|
| **PostgreSQL 18** | Official image with pg_stat_statements |
| **pg_stat_statements** | Pre-enabled for query monitoring |
| **Sample Schema** | E-commerce database (app schema) |
| **Sample Data** | 25 customers, 30 products, 100 orders |
| **Views** | Order summary, product sales, customer LTV |
Sample tables: app.customers, app.products, app.orders, app.order_items, app.product_reviews, app.categories, app.coupons, app.audit_log
This setup is ideal for testing the Monitoring Dashboard features with real pg_stat_statements data.
---
docker compose -f database-compose.yml --profile druid up -d
| Variable | Required | Description |
|---|---|---|
ADMIN_EMAIL | ❌ | Admin email (default: admin@libredb.org) |
ADMIN_PASSWORD | ✅(autogenerated) | Admin password; auto-generated on first run unless AUTH_BOOTSTRAP=off |
USER_EMAIL | ❌ | Optional user account email (default: user@libredb.org) |
USER_PASSWORD | ❌ | Optional; the lower-privilege user account exists only when set |
JWT_SECRET | ✅(autogenerated) | JWT secret (min 32 chars); auto-generated on first run unless AUTH_BOOTSTRAP=off. A shorter value is fatal: the server refuses to start rather than serve a deployment where every login fails |
AUTH_BOOTSTRAP | ❌ | off disables zero-config generation (strict mode; recommended for production) |
AUTH_COOKIE_SECURE | ❌ | false drops the Secure flag from auth cookies — needed only when the browser reaches the app over plain HTTP (LAN/home server); not for TLS terminated at an ingress |
NEXT_PUBLIC_AUTH_PROVIDER | ❌ | local (default) or oidc for SSO |
OIDC_ISSUER | ❌ | OIDC issuer URL (required when oidc) |
OIDC_CLIENT_ID | ❌ | OIDC client ID (required when oidc) |
OIDC_CLIENT_SECRET | ❌ | OIDC client secret (required when oidc) |
OIDC_ADMIN_ROLES | ❌ | Comma-separated admin role values (default: admin) |
OIDC_ROLE_CLAIM | ❌ | Claim path for role (e.g. realm_access.roles) |
OIDC_SCOPE | ❌ | OIDC scope (default: openid profile email) |
LLM_PROVIDER | ❌ | AI provider: gemini, openai, ollama |
LLM_API_KEY | ❌ | API key for AI features |
LLM_MODEL | ❌ | Model name (e.g., gemini-2.5-flash) |
STORAGE_PROVIDER | ❌ | Storage provider: local (default), sqlite, or postgres |
STORAGE_POSTGRES_URL | ❌ | PostgreSQL connection URL (required when STORAGE_PROVIDER=postgres) |
SEED_CONFIG_PATH | ❌ | Path to seed connections YAML config (see [Seed Connections](#seed-connections-pre-configured-databases)) |
SEED_CACHE_TTL_MS | ❌ | Seed config cache TTL in ms (default: 60000) |
Tip: Copy.env.exampleto.env.localfor local development.
---
cp .env.example .env
Pre-configure database connections via a YAML config file so users see them immediately after login. Ideal for Platform/SaaS deployments where admins provision databases for teams.
Features: - Role-based access control (admin, user, * wildcard) - Hybrid model: managed: true (read-only, admin-controlled) or managed: false (editable copy for user) - Credentials injected via ${ENV_VAR} syntax — never stored in config file - Hot-reload: config changes apply within 60s without restart - Works with Docker, docker-compo
bun run test
快速、现代化的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 不对第三方内容的准确性作法律背书。