Files
opsxdb/README.md
T
logan a9510235bb
CI / Go server (push) Canceled after 0s
CI / Web + core packages (push) Canceled after 0s
CI / Desktop (Tauri) cargo check (push) Canceled after 0s
feat: 18 引擎驱动全家桶 + 驱动管理/离线包 + 设置中心 + 工作台交互打磨
驱动接入(全部本机真实例验收):
- Elasticsearch 原生 SQL API、InfluxDB 原生 HTTP+Flux(官方 JDBC 付费许可,实测弃用)
- ZooKeeper/MongoDB JVM agent(连接时自动下载官方驱动 jar,sha256 钉版本到 ~/.opsxdb/drivers/)
- 达梦 JDBC agent 桥就绪(待厂商 jar+实例);TiDB 真实例验收
- 协议族代码审查放行 PolarDB/TDSQL/OceanBase/Kingbase/GaussDB/Oracle
- 驱动能力模型:按驱动开关对象树分组/右键菜单/行编辑,NoSQL 树拍平(对象直挂库节点)

驱动管理:
- 驱动管理弹框(状态/预装/离线包导入/JDK 检测)+ /api/drivers/* 三接口
- opsxdb-driver 驱动商店仓库(清单/fetch.sh/pack.sh 离线包/import.sh)
- 连接时懒加载:DMG 零 Java 产物,首连自动下载(实测 ZK 九件套 1.35s),离线包自动回退

UI/交互:
- 设置中心(⚙):常规/执行/结果/驱动/快捷键/关于,左导航+右面板(对标 opsxshell)
- 实例级展开箭头(行首 SVG chevron,替代字体回退失真的 Unicode 三角)
- 树内嵌套渲染修复:对象树挂在激活连接下;工具栏窄窗口不断行(按钮 nowrap+整颗换行)
- 侧栏连接行精简(图标+连接名)、SQLite SSH 守卫、Oracle 死参数清理

质量:
- Go 协议层/离线回退单测、E2E 门控测试(ES/ZK/Influx/Mongo/TiDB/JDBC 桥)
- 驱动注册表单一事实来源 connection-types.json,README/BACKLOG/AGENTS 同步
2026-09-22 01:07:46 +08:00

63 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
> **产品形态**:浏览器 = Gin **官网 + 文档**(`:8788`);**操作只走桌面 Tauri**。
> `apps/web`(`:5174`)仅是桌面 `devUrl`/打包源,**不是**浏览器客户端。
> AI / 协作规范见 [AGENTS.md](./AGENTS.md)(短入口 [CLAUDE.md](./CLAUDE.md))。
# OpsxDB
给运维和开发用的 **数据库桌面客户端**(连接管理 / SQL 工作台 / AI 写 SQL)。
## 架构
```
packages/ui 连接选择器 + SQL 工作台 + AI 面板(给桌面打包)
packages/core 共享工具
packages/transport Gin / Tauri 传输
apps/web Vite + React —— **仅桌面前端源**(勿当浏览器产品)
apps/desktop Tauri 2 壳(唯一操作入口)
apps/server Gin:官网/docs + health + 驱动 API(:8788)
```
## 怎么跑
```bash
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 # 仅官网 + docs → http://127.0.0.1:8788/
./run.sh gui # 桌面操作入口(推荐)
```
```bash
curl -s http://127.0.0.1:8788/health
open http://127.0.0.1:8788/ # 官网
open http://127.0.0.1:8788/docs # 文档
```
## 日常怎么用(桌面)
1. `./run.sh gui` → Dock 打开 OpsxDB
2. **新建连接** → 选类型 / 粘贴 URL → **测试** → **保存并连接**
3. 左侧对象树点库/表;编辑器 **⌘/Ctrl+Enter** 执行
4. 结果集:复制 / CSV / 粘贴 / 行删(有主键)
## 已做(摘要)
- 桌面工作台:对象树、SQL、多 Tab、结果编辑、Redis 键浏览(单机)
- Redis Sentinel/Cluster:表单 + 后端(真拓扑待环境)
- 自绘右键(编辑器 / 库·表·键);拦系统菜单
- Gin 官网 + docs;驱动注册表见 `connection-types/`
- 新引擎接入并本机验收:Elasticsearch(原生 SQL API)、InfluxDB(原生 HTTP+Flux)、ZooKeeper / MongoDB(JVM agent)、达梦(JDBC agent 桥已验证,待实例)
- 驱动管理弹框(连接列表页 ⚙):agent 驱动状态/预装/离线包导入/JDK 检测;开源驱动首次连接自动下载到 ~/.opsxdb/drivers/
## 端口
| 服务 | 端口 | 说明 |
|------|------|------|
| Gin 官网/docs/API | 8788 | 浏览器只看站点和文档 |
| Vite(桌面源) | 5174 | 仅 `gui`/打包用,非产品入口 |
## 待开发
见 [docs/BACKLOG.md](docs/BACKLOG.md)。