logan 26f459d1b8 fix: 顶栏文案去重与文档/连库体验更新
顶栏定为:连接 · 新建连接 · 新建查询 · 查询历史 · 快捷键;
同步 docs/落地页、对象树与 connection-types 注册表整理。
2026-09-20 16:32:29 +08:00

产品形态:桌面 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 族/PG 族/SQL Server/Oracle/SQLite/Redis)+ 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

打开 http://127.0.0.1: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":"查最近用户"}'

日常怎么用

  1. 新建连接 → 选类型,或粘贴 mysql://user:pass@host:3306/db 点「填入」
  2. 测试 → 保存并连接
  3. 左侧点库展开表;点表名打开前 100 行(展开表看列)
  4. 编辑器 ⌘/Ctrl+Enter 执行当前语句或选区(不是整页脚本)
  5. 结果:复制 / CSV / INSERT;双击单元格复制

已做(便捷向)

  • 连接选择器:搜索 / 分类 / 最近 / 图标网格;URL 拆字段;按驱动表单(SQLite 文件、Redis、Oracle Service、SSL)
  • 工作台:懒加载对象树、点表看数据、CodeMirror SQL、多 Tab、可拖分栏
  • 会话:连接后查询只带 sessionId,账密不再每次上送;本机密码做了混淆
  • 结果截断提示、危险 SQL 确认、查询历史、主题/Tab 持久化、快捷键
  • 驱动:MySQL 族 / PostgreSQL 族(含 GaussDB、人大金仓)/ SQL Server / Oracle / SQLite / Redis
  • AI 面板仍是 stub(生成/解释/优化/修复/方言/样例)

驱动与连接类型

  • 注册表:connection-types/connection-types.json(schema v1,字段说明见该目录 README.md)。规划为驱动目录的单一事实来源;生成器接入前以 packages/ui/src/catalog.ts 与 apps/server/internal/db/open.go 为准。
  • 就绪状态:ready = 可测试/连接;verified = 本机 docker 验收通过,依据 tests/README.md 驱动验收表。当前 MySQL/MariaDB/PG/SQL Server/SQLite/Redis 已验收,Oracle 代码就绪但本机未验证,达梦/MongoDB/ZK/ES/InfluxDB 未就绪。
  • 路线:常用库走 native Go 驱动编译内置(go-ora 连 Oracle,不引入 JVM);长尾库(达梦/MongoDB/ZK/InfluxDB 等)规划 agent 按需接入,驱动分发走 Maven 坐标钉版本 + sha256 + 镜像回退,计划托管于 opsxdb-driver 仓库(Gitee/GitHub)。
  • 许可:connection-types/ 注册表数据从自有代码与厂商公开事实推导(见 connection-types/NOTICE.md);仓库整体许可证以根 LICENSE 为准。

端口

服务 端口 环境变量
Gin 8788 OPSXDB_SERVER_PORT / OPSXDB_ADDR
Vite 5174 OPSXDB_WEB_PORT
S
Description
No description provided
Readme
39 MiB
0 Stars 0 Watchers 0 Forks
Languages
TypeScript 48.7%
Go 35.8%
CSS 4.2%
HTML 4%
Java 2.9%
Other 4.3%