写了个不到 10MB 的开源数据库客户端,把 AI、图表、工作流都塞进去了

发布于

flyxl: 断断续续写了几个月,DataZen 终于到了 v0.0.8 。起因很朴素:日常要连 PostgreSQL 、MySQL ,偶尔还要看两眼 Redis ,商业客户端要订阅,DBeaver 功能全但启动和内存都偏重。于是自己动手,用 Tauri v2 + Rust + React 搓了一个桌面客户端,安装包不到 10MB ,GPLv3 开源,macOS 和 Windows 都支持。

本来只想做个「够用」的工具,结果做着做着就刹不住了。这版一口气把 AI 、图表可视化、工作流三条线都做了,分享一下现在能干什么:

**🤖 AI 这块**
- 自然语言直接生成 SQL ,流式输出,点一下就能执行
- SQL 写错了不用自己去翻文档,报错后 AI 定位原因,修正后的 SQL 一键应用
- EXPLAIN 执行计划可视化,AI 帮你解读瓶颈在哪、怎么优化
- 右侧栏 AI 对话,自动带上当前库的表结构做上下文,也能用 `@` 引用本地文件
- 表格筛选可以直接输入自然语言,比如「金额大于 1000 且状态是已发货」
- 顺便还能生成 Schema 文档、排查连接失败原因、总结查询历史
- Provider 支持 OpenAI / Anthropic / DeepSeek / 自定义端点,模型列表动态拉取,prompt 也可以按驱动或按用户覆盖

**📊 图表这块**
- 查询结果一键从表格切到图表,自动推断字段类型并推荐合适的图
- 折线、柱状、饼图、散点、面积五种,轴、聚合、分组都能配
- 支持导出 PNG / SVG ,工作流里跑出来的结果也能直接画图

**⚙️ 工作流这块**
- 用 YAML 定义自动化流程:查询 → AI 分析 → 条件分支 → 循环
- 支持跨库编排,比如从 PG 订单库查出订单,再去 MySQL 物流库补物流信息,最后让 AI 汇总
- 错误策略可以选 abort / skip / fallback ,超时可配
- 运行入口很灵活:连接窗口里跑、独立窗口跑、MCP 里调,甚至直接让 AI 生成一份工作流

其他值得一提的:PG / MySQL / MariaDB 支持单连接浏览多个数据库;驱动做成插件机制,kiwi 、OLAP ( Presto / Trino )、Superset 可以按需编译进去;内置 MCP Server (`--mcp-stdio` 无头模式,可以接到别的 AI 工具里),也能作为 MCP Client 接外部服务; 10 种语言界面;连接密码走系统钥匙串,SSH 凭据加密存储,导入备份有 ZIP 炸弹防护。

下载在这里: [https://github.com/flyxl/datazen/releases](https://github.com/flyxl/datazen/releases)
仓库: [https://github.com/flyxl/datazen](https://github.com/flyxl/datazen)

macOS 用户注意,应用还没做公证,首次打开如果提示「已损坏」,跑一下:

```bash
xattr -cr /Applications/DataZen.app
```

作为一个个人开源项目,功能边界和稳定性肯定还有很多不足,欢迎 star 、提 issue ,或者直接上手改。下一步打算把文档站和插件生态弄起来,有兴趣一起玩的可以来仓库聊聊。

---

原文链接:[点击查看](https://www.v2ex.com/t/1232825)

评论

暂无评论。

0.036922s