f8740d27f7243d967d2bfd0bd5cd5d37f83a247a
含工作台/连库多引擎字段与 SSH·SSL、结果编辑、Redis 键浏览、 Tauri 桌面与 docs/落地页;排除本地构建产物与 sidecar 二进制。
产品形态:桌面 GUI(Tauri)。
http://127.0.0.1:5174仅为开发壳。文档/docs、官网/由本机后端提供。
OpsxDB
给运维和开发用的 数据库客户端(连接管理 / SQL 工作台 / AI 写 SQL)。
从 OpsxAPI 脚手架分叉:同一套 monorepo(web + Gin + 可选 Tauri),产品面换成 DB。
架构
packages/ui 连接选择器 + SQL 工作台 + AI 面板
packages/core 共享工具(保留)
packages/transport 浏览器 / Gin / Tauri(保留兼容)
apps/web Vite + React(:5174)
apps/desktop Tauri 2 壳
apps/server Gin:health + MySQL 驱动 + AI stub(:8788)
怎么跑
export PATH="$HOME/.nvm/versions/node/v24.19.0/bin:/opt/homebrew/bin:$PATH"
export OPSXDB_SERVER_PORT=8788 OPSXDB_WEB_PORT=5174
npm install
./run.sh web # Gin :8788 + Vite :5174
curl -s http://127.0.0.1:8788/api/health
curl -s -X POST http://127.0.0.1:8788/api/ai/chat \
-H 'Content-Type: application/json' \
-d '{"action":"generate","prompt":"查最近用户"}'
日常怎么用
- 新建连接 → 选类型,或粘贴
mysql://user:pass@host:3306/db点「填入」 - 测试 → 保存并连接
- 左侧点库展开表;点表名打开前 100 行(展开表看列)
- 编辑器 ⌘/Ctrl+Enter 执行当前语句或选区(不是整页脚本)
- 结果:复制 / CSV / INSERT;双击单元格复制
已做(便捷向)
- 连接选择器:搜索 / 分类 / 最近 / 图标网格;URL 拆字段;按驱动表单(SQLite 文件、Redis、Oracle Service、SSL)
- 工作台:懒加载对象树、点表看数据、CodeMirror SQL、多 Tab、可拖分栏
- 会话:连接后查询只带
sessionId,账密不再每次上送;本机密码做了混淆 - 结果截断提示、危险 SQL 确认、查询历史、主题/Tab 持久化、快捷键
- 驱动:MySQL 族 / PostgreSQL 族(含 GaussDB、人大金仓)/ SQL Server / Oracle / SQLite / Redis
- AI 面板仍是 stub(生成/解释/优化/修复/方言/样例)
端口
| 服务 | 端口 | 环境变量 |
|---|---|---|
| Gin | 8788 | OPSXDB_SERVER_PORT / OPSXDB_ADDR |
| Vite | 5174 | OPSXDB_WEB_PORT |
Languages
TypeScript
48.7%
Go
35.8%
CSS
4.2%
HTML
4%
Java
2.9%
Other
4.3%