# OpsxDB 开发指南 数据库**桌面**客户端(连接 / SQL 工作台 / AI 写 SQL)。请使用中文沟通。 ## 产品形态(硬边界) ```text 浏览器 → 只看官网 + 文档(Gin :8788) 操作 → 只走桌面 Tauri(./run.sh gui) apps/web (:5174) → 仅桌面 Vite 源 / 打包 frontendDist,不是浏览器产品 ``` - **不要**把工作台做成浏览器 SaaS,或把 `:5174` 当对外入口。 - Gin(`apps/server`)= 官网 / docs / health / 驱动相关 API;**不是**「远程多人协作后端」。 - 连接与查询数据默认在本机;密钥与连接串按现有桌面安全实践处理。 同族:`opsxapi` 同形态;`opsxshell` 同样「浏览器=官网/docs,操作=桌面」(Gin 在 `apps/server`,**无**操作 API,原生全在 Rust)。 ## 架构 ```text packages/ui + apps/web → packages/transport(tauri-native | gin) → 桌面 / 本机 Gin apps/desktop → Tauri 2 壳 apps/server → Gin 官网 + docs + 驱动 API connection-types/ → 引擎注册表(ready / verified / notes) agents/ → JDBC agent 桥(Java 单文件桥 + 协议文档;Go 侧在 apps/server/internal/db/agent.go) ``` 改驱动能力:先动注册表与 server/desktop 对应路径,再补 UI;未 `ready` 的引擎界面须灰态,勿标成可用。 ## 怎么跑 ```bash npm install ./run.sh web # 仅官网 + docs → :8788 ./run.sh gui # 桌面(推荐) ./run.sh stop | status | restart ``` 改 `apps/server` 后需重编(`./run.sh restart`)。清单与验收见 `docs/BACKLOG.md`。 ## 给 AI - 跟现有 monorepo 分包,勿平行造第二套客户端。 - 需求清楚就直接改;细节以邻近代码与 BACKLOG 为准,不必先扩写长规范。 - 少加「仅 AI 可读」的重复文档;用户可见文案与 docs 内容保持同步即可。