旨在超越Navicat的交互友好型Web 端数据库管理工具——琅嬛 (Langhuan)

109 阅读4分钟

一句话简介:这是一款开源、免费、支持多种数据库的 Web 端可视化管理工具。

各位开发者朋友们,大家好!

我是小一。今天,我想向大家正式介绍一个我在学校期间做的项目——琅嬛 (Langhuan)

这是我从最开始学习前端时候就开始写的一个项目,加上现在“AI 赋能”,通过不断让 AI 重构,终于成了还算能维护的项目。


✨ 核心功能:全能的数据库“瑞士军刀”

目前,琅嬛 已经实现了对主流数据库的深度适配,力求在 Web 端提供媲美原生应用的体验。

1. MySQL:不仅仅是增删改查

image.png

  • 数据管理:支持高性能的分页浏览、过滤查询。
  • 高级对象:全面支持 视图 (View)触发器 (Trigger)存储过程/函数 (Function) 以及 事件 (Event) 的可视化管理。
  • 分区表支持:支持查看与管理物理分区,这在处理海量数据时非常关键。
  • DDL 导出:一键生成结构化的建表语句。

2. Redis:像操作文件夹一样管理缓存

image.png

  • 树形结构视图:自动解析 Key 的层级关系,告别混乱的列表。
  • 全类型支持:String, List, Hash, Set, ZSet, Stream 均有对应的可视化编辑界面。
  • TTL 管理:直观查看和修改过期时间。

3. MongoDB:拥抱非关系型的灵活性

实现中

4. PostgreSQL:关系型数据库的网红产品

规划中

5. 原生 Shell:小黑框是最终解决方案

image.png

目前支持了 MySQL、Redis 和 MongoDB 的原生 Shell 交互。不同于传统的 GUI 填表,它为你提供了一个沉浸式的 Web 终端:

  • 原汁原味:支持 MongoDB Shell 原生语法(如 db.collection.find())和 Redis 命令,无需改变操作习惯。
  • 视觉出色:支持 ANSI 彩色输出和结果美化,让数据库调试不再枯燥。
  • 极致效率:支持命令历史记录、快捷键操作,像在本地终端一样丝滑。

🛠️ 技术硬核:如何优雅的做技术选型?

作为一个开源的 Web 工具,利用 AI 重构时我在技术选型和优化上做了大量工作:

  • 前端架构React + Vite。这是目前前端技术选型中的 典中典
  • 通信协议tRPC。这是本项目的一大亮点,实现了前后端端到端的全类型安全。你修改了后端的 Zod Schema,前端会立即感知到类型变化,从源头上杜绝了 API 报错。
  • 后端Node.js + dirzzle + MySQL。高效处理并发连接。
  • 连接池Sequelize + io-redis + mongoose。现在看来,Sequelize 绝对没有 dirzzle 优雅,但是 MySQL 的历史包袱太重,在重构中还是选择了它。

🛣️ 未来愿景:不止于此

目前的 琅嬛 只是 1.0 阶段。我的路线图中还有许多激动人心的功能:

  • MongoDB 与 PostgreSQL 支持:这是目前呼声最高的功能,已在路上。
  • ClickHouse & ES 支持:面向大数据场景。
  • SQL 执行审计:记录每一条 DML 操作,安全可追溯。
  • 更强的协作功能:支持团队共享连接配置(加密存储)。
  • 版本兼容:兼容主流的数据库版本。

🤝 邀请你共建

我是一名在一线工作的工程师,琅嬛 是我在工作之余持续维护的热情所在。

  • 如果你是使用者:欢迎点击下方地址试用,你的反馈是对我最大的鼓励。
  • 如果你是开发者:欢迎提交 Pull Request,无论是 UI 的微调还是新驱动的实现,我都虚位以待。
  • 需求征集:如果你在日常开发中有什么数据库操作痛点,请在评论区留言,我会根据反馈安排优先级。

🔗 传送门

在这个技术日新月异的时代,我也许无法做出最完美的软件,但我会坚持做一个真正解决问题、懂开发者的软件。

如果这篇文章或者这个项目打动了你,点个赞、点个 Star,这就是开发者之间最温暖的连接。


本文首发于掘金 (juejin.cn)