[开发者自荐] 本地大模型帮你写 SQL,数据不出内网的自建数据库 IDE

先把利益关系说清楚:我是 LibreDB Studio 团队的成员,这是一个 MIT 协议的开源项目,下面说的都是我自己平时在用的东西,不是广告。

起因是我一直不太舒服一件事。团队里每个人的电脑上都装着数据库客户端,每来一个新人,我就得把生产库的连接地址和密码发给他,让他在自己的笔记本上一台一台配。人一多,密码就等于到处都是,发过的东西想撤也撤不回来,谁的电脑丢了都是麻烦。后来我们换了个思路:与其把编辑器装到每个人的笔记本上,不如把它装到数据库旁边。团队在浏览器里打开一个网址就能用,不用再把真实的数据库密码发给任何人。

LibreDB Studio 就是这么个东西:一个开源、自托管、跑在浏览器里的数据库 IDE。

关于 AI 这块,是我最想说的。它支持用你自己的模型:可以接 Gemini、OpenAI,也可以接本地的 Ollama,或者任何兼容 OpenAI 接口的端点(LM Studio、LiteLLM、vLLM 都行)。你用自然语言问一句,它会写成 SQL、读结果,再给你一份结论都有查询结果支撑的报告。重点是:如果你用本地模型,数据一点都不会离开你自己的网络。对在意隐私、习惯自建的人来说,这点挺关键。而且这个查数据的 AI 是只读的,它只会读,不会动你的数据。

一个界面里支持 14 种数据库:PostgreSQL、MySQL、Oracle、SQL Server、SQLite、MongoDB、Redis、Couchbase、ClickHouse、Druid、Elasticsearch、OpenSearch、Apache Trino、Apache Cassandra。靠 wire 协议兼容,这 14 个驱动实际能连到 33 种叫法不同的数据库,比如 MariaDB、TiDB、CockroachDB、Valkey、FerretDB、ScyllaDB。其中 Druid、Elasticsearch、OpenSearch 本身是只读的,产品会老实告诉你「不支持写」,不藏着掖着。

功能基本都在免费版里,没有付费墙:SSO(OIDC)、RBAC、完整的查询审计日志、ER 图、schema 对比和 migration 生成、基于 Monaco 的编辑器加能识别表结构的自动补全、可视化 EXPLAIN。全都是 MIT 免费。

安装也简单,一个容器就跑起来:
docker run -p 3000:3000 libredb/libredb-studio
另外也有 Helm chart 和 npm 包。

项目地址:GitHub - libredb/libredb-studio: One browser tab for PostgreSQL, MySQL, Oracle, SQL Server, MongoDB, Redis, SQLite, Couchbase, ClickHouse, Druid, DuckDB, Turso and more. An open-source SQL IDE with SSO, audit trail and AI-assisted queries MIT licensed, with nothing held back behind an enterprise wall. · GitHub
在线 demo:https://app.libredb.org

目前四百多个 star(大约 403),还在继续做。要是你也有「不想到处发数据库密码」这个顾虑,或者想让本地大模型帮你查数据又不担心数据外泄,可以试试,也欢迎提意见。

2 个赞

大家好,我是 LibreDB Studio 的维护者。感谢小众软件提供这个平台,也感谢大家花时间阅读这篇自荐。

在这里统一补充一个大家在试用 “本地大模型” 时可能会遇到的部署小细节:
如果你是在本地用 Docker 运行 LibreDB Studio,并希望连接宿主机上的 Ollama,在 macOS/Windows 下可以直接使用 http://host.docker.internal:11434;如果是 Linux 环境,启动容器时需要加上 --add-host=host.docker.internal:host-gateway 参数,否则容器内无法解析宿主机的 localhost。

另外想和大家交个底:我们坚持 MIT 协议,把 SSO、RBAC 和审计日志都放在免费版,就是希望小团队也能用上趁手的工具,不被“企业版”割韭菜。对于像 Cassandra 或 Trino 这样有特殊限制的引擎,我们会明确标注“不支持”或“只读”,绝不为了界面好看而强行展示错误数据。

欢迎大家去 GitHub (libredb/libredb-studio) 试用、提 Issue 或 PR。如果遇到任何 bug 或有好的功能建议,随时在这里留言或去仓库反馈,我们会认真看每一条信息!

请问后续会支持中文吗,装了一个试了一下发现用起来很方便,就是翻译不太友好

1 个赞

感谢反馈,也谢谢你真的装起来试了一下。

界面目前只有英文。不少软件直接用机器翻译生成语言文件就发布,术语不一致、句子不像人话,用起来反而更累。我觉得语言文件应该由母语使用者来做,我们团队又很小,没法保证这个质量,所以暂时没把多语言放进计划。

但如果能得到母语使用者的帮助,我很愿意加上。框架和文案抽取我们来写,中文措辞交给懂中文的人。有兴趣的话在 GitHub (libredb/libredb-studio) 开个 issue,或者直接在这里回我一句就行。

1 个赞

我可以参与翻译工作,但不能保证翻译100%准确

1 个赞

谢谢!我们目前正好还没有 i18n,如果你愿意,可以一起把这部分做起来,从中文开始

如果你想先看看项目,可以先 fork 一下:GitHub - libredb/libredb-studio: One browser tab for PostgreSQL, MySQL, Oracle, SQL Server, MongoDB, Redis, SQLite, Couchbase, ClickHouse, Druid, DuckDB, Turso and more. An open-source SQL IDE with SSO, audit trail and AI-assisted queries MIT licensed, with nothing held back behind an enterprise wall. · GitHub

1 个赞

首先,能否请您审阅一下这份中文 README_zh.md:

收到,我在着手修正。
另外我发现中文README和原始英文README有较大差异,这是有意为之还是疏忽?

1 个赞

是的,所有详细说明都可以在 README.md 文件中找到。翻译后的 README 文件仅包含本地用户需要的部分。例如,代码、命令等都不包含在翻译文件中。翻译后的 README 文件旨在方便本地开发者理解。某些概念可能仍保留英文,例如 SQL、AI、Agent、LLM(大型语言模型);这完全取决于您的个人偏好。

@Xenon 上次说正在动手修 README_zh.md,这边有个新情况,先跟你和大家说一声——不是要盖掉你那边的活,正好相反,想听听你的看法。

一位第一次给我们提 PR 的贡献者把 README_zh.md 整个重写了一遍,从 315 行涨到 961 行,基本是照着英文 README 一节一节对下来的。

这就带出一个我们一直没有定论的事,干脆开了个 issue:本地化的 README 到底该做成什么样?

A. 完整对照:和英文 README 一一对应,不管你看的是哪种语言,内容都一样。
B. 精简入口:只写评估和安装用得上的部分,再往深的直接给英文文档的链接。

现在五份译文(中文、日语、西班牙语、乌尔都语、印地语)走的都是 B,英文版是 A。这个 PR 等于单独把中文版挪到了 A,另外四份还是原样。

说实话我们自己也拿不准。全量对照读着当然舒服,可英文 README 一改,961 行的中文版跟不跟得上、会不会慢慢变成一份过时的文档,心里确实没底。所以这事还是想听中文读者的,而不是我们几个关起门来定。有空的话去 issue 里回一句你更想要哪种就行:

对应的 PR 在这儿:

另外这位贡献者还加了几处只有中文版才用得上的内容:国内镜像源(NJU / DaoCloud / npmmirror)、文档索引,还有一句“用中文提 issue 和 PR 同样欢迎”的说明。这几处不管最后选哪种,我们都留着。

感谢提醒,其实我也有点拿不准,因为原先的中文版很明显是用AI总结写出来的,我在对照英文版的时候一直在考虑要改哪些,一直没能打定主意。既然有人已经提交了一个相对完整的版本,那先暂时维持现状吧

另外最近比较忙,README的工作可能顾不上(因为涉及到取舍),如果i18n准备开始做了可以再叫我,那做起来相对简单

1 个赞

感谢您的回复。您的复审意见对我们非常有价值;如果您的时间允许,能否请您抽空查看一下这个 PR 并分享您的看法?PR 链接:Expand Chinese README: install, features, agent by lg114 · Pull Request #1052 · libredb/libredb-studio · GitHub

如果您的时间允许,能否请您抽空查看一下这个 PR 并分享您的看法?PR 链接:Expand Chinese README: install, features, agent by lg114 · Pull Request #1052 · libredb/libredb-studio · GitHub

我在issue也提了一点我的看法,供参考

感谢您的评价。