241 lines
12 KiB
Markdown
241 lines
12 KiB
Markdown
# OpsxDB 待开发 / 待验证清单
|
||
|
||
> 维护:项目经理 / 全栈 / 测试补记 · 更新:2026-09-21
|
||
> 已完成能力见各迭代验收;本文只列**未做完 / 待真实例 / P1 后置**,方便排人。
|
||
|
||
## 使用说明
|
||
|
||
- **P0**:影响主路径或已承诺,优先排
|
||
- **P1**:增强体验,可后置
|
||
- **环境缺口**:代码/表单已有,缺真实例才能验;有环境再测
|
||
- 改代码后:`./run.sh restart`(改 `apps/server` 必须重编)
|
||
|
||
|
||
|
||
---
|
||
|
||
## 去 Web 客户端(产品口径 · 2026-09-20)
|
||
|
||
| 项 | 状态 | 说明 |
|
||
|----|------|------|
|
||
| `./run.sh web` 只起 Gin 官网/docs | **已做** | 浏览器不当客户端 |
|
||
| `:5174` 不作产品入口 | **已做** | 仅桌面 Vite 源;`web-only` 弃用提示 |
|
||
| `apps/web` / `packages/ui` | **保留** | Tauri `devUrl`/`frontendDist` |
|
||
| README 写清形态 | **已做** | 浏览器=站;操作=桌面 |
|
||
| 验收 | 待测 | `gui` 可用;浏览器无工作台主路径;`:8788` 官网/docs 通 |
|
||
|
||
---
|
||
|
||
## 1. 引擎验收与状态(产品口径已定)
|
||
|
||
| 分层 | 引擎 | 状态 | 待办 |
|
||
|------|------|------|------|
|
||
| A | MySQL / MariaDB / PostgreSQL / SQL Server / SQLite / Redis(单机) | 已验收 | 回归保持即可 |
|
||
| B | TiDB | `ready`+**已验收** | TiDB v7.5.0 docker 真实例全链路(2026-09-21) |
|
||
| B | PolarDB / OceanBase / TDSQL / Kingbase / GaussDB·openGauss | **已翻「已验收」**(2026-09-21 用户决策) | 验收口径放宽:协议族同码 + 代码审查通过即可先上线,真例 bug 即修;族真实例(TiDB/PG)已验 |
|
||
| B 环境限 | Oracle | **已翻「已验收」**(2026-09-21 用户决策) | 代码审查通过(go-ora);本机 ARM 起不了 XE,真例问题按 bug 修 |
|
||
| C | MongoDB / Elasticsearch / ZooKeeper / InfluxDB | **已接入+本机验收**(2026-09-21) | 回归保持;ES 走原生 SQL API(官方 JDBC 付费),ZK/Mongo 走 JVM agent,InfluxDB 走原生 HTTP |
|
||
| C | 达梦 | **已翻「已验收」**(2026-09-21 用户决策) | agent 桥 sqlite-jdbc 端到端验证;jar 自备(fetch.sh 指引),真例问题按 bug 修 |
|
||
|
||
注册表:`connection-types/connection-types.json`(`ready` / `verified` / `notes`)。
|
||
|
||
---
|
||
|
||
## 2. Redis 拓扑与工作台
|
||
|
||
| 项 | 状态 | 待办 |
|
||
|----|------|------|
|
||
| 单机 + 键浏览 | 已收 | — |
|
||
| 键树按分隔符编文件夹 + 类型色点 | 已交 2026-09-20 | 对标 ARDM |
|
||
| 键详情(TTL / 重命名 / Hash 增删改 / JSON) | 已交 2026-09-20 | 对标 ARDM + opsxsql |
|
||
| CLI 与 SQL 共用编辑器(Redis 按行、命令补全、通用 Do) | 已交 2026-09-20 | 不另开 CLI 页;独立 REPL 列为后置 |
|
||
| Sentinel / Cluster **表单 + 后端** | 已交 | — |
|
||
| Cluster 真实例测连 + 键浏览 | **本地 3 主拓扑已实测**(2026-09-21:表单建 Cluster 连接、跨分片扫键 19/19 全量、键值/行操作回归) | Sentinel 仍缺真实例 |
|
||
| Sentinel / Cluster 文档 | 已交 2026-09-20 | `08-redis.md` / `04-connect.md` |
|
||
| 独立 Redis CLI Tab / 监控 / 慢日志 | 后置 | 对标 ARDM CliTab、opsxsql 监控页;非主路径 |
|
||
|
||
---
|
||
|
||
## 3. 右键菜单
|
||
|
||
| 项 | 状态 | 待办 |
|
||
|----|------|------|
|
||
| 编辑器自绘(执行选中/当前语句、剪贴板、拦系统菜单) | 已收 | 回归防回退 |
|
||
| 对象树:库 / 表 / Redis 键 P0 | 已收 | — |
|
||
| 结果表自绘菜单 | 未做(仅吞系统菜单) | P1:复制单元格/行、导出入口等 |
|
||
| 美化 SQL / 含引号复制 / 创建片段 / AI 自动填充 | P1 | 编辑器右键增强 |
|
||
| 表:设计结构 / 重命名 / 生成 SQL(CREATE·INSERT)/ 导出 | P1 | — |
|
||
| 库:执行 SQL 文件 / 导出转储 / 新建表 | P1 | — |
|
||
| Navicat 级:同步、比较、权限、BI、逆向… | 后置 | 明确不做除非立项 |
|
||
|
||
---
|
||
|
||
## 4. 连接与安全
|
||
|
||
| 项 | 状态 | 待办 |
|
||
|----|------|------|
|
||
| 分引擎常规字段 + SSH 隧道 | 已收 | — |
|
||
| SSL(含 MSSQL 自定义 CA、Oracle 客户端证书) | 已收 | — |
|
||
| HTTP 隧道 Tab | 后置 | 对标 Navicat HTTP |
|
||
| 连接导入/导出、云同步 | 未立项 | — |
|
||
|
||
---
|
||
|
||
## 5. 工作台与结果集
|
||
|
||
| 项 | 状态 | 待办 |
|
||
|----|------|------|
|
||
| 多结果集 / 执行计划 / 书签 / 查询历史 | 已收 | — |
|
||
| 查询取消 | 已收 | — |
|
||
| 内联编辑 / 多格粘贴 / 行删 / 撤销本格 | 已收 | — |
|
||
| 虚拟滚动大数据集 | 部分(限显截断) | P1:真虚拟滚动 |
|
||
| 深色/浅色主题切换 | **已做**(2026-09-21 核正:顶栏按钮 + 偏好持久化已有) | — |
|
||
|
||
---
|
||
|
||
## 6. AI
|
||
|
||
| 项 | 状态 | 待办 |
|
||
|----|------|------|
|
||
| 右侧 AI 面板可开关 | 已收 | — |
|
||
| 真模型接入(生成/解释/优化) | stub | 接配置与流式输出 |
|
||
|
||
---
|
||
|
||
## 7. 桌面 / 文档 / 工程
|
||
|
||
| 项 | 状态 | 待办 |
|
||
|----|------|------|
|
||
| `./run.sh gui` / DMG 打包 | 已有 | 发版流程与签名(若上架) |
|
||
| docs + 落地页 | 已有 | 补「测试环境」页(链到 `tests/README.md`);Sentinel/Cluster 说明 |
|
||
| 引擎图标打包进 UI | 已收 | — |
|
||
| 本地大改动入库 | **待推远程** | Kimi 改造 + 右键 + Sentinel/Cluster + notes 等,需确认后 `git push` |
|
||
| sidecar 二进制不入库 | 约定 | 构建脚本生成 |
|
||
|
||
---
|
||
|
||
## 8. 测试环境(联调)
|
||
|
||
文档:`tests/README.md` · 启动:`cd tests && ./dbctl.sh up a|b|c|…`(**一次一个库**)
|
||
|
||
| 代号 | 库 | 端口 | 账号 | 密码 |
|
||
|------|----|------|------|------|
|
||
| a | MySQL | 3306 | root / opsx | Demo@123 |
|
||
| b | MariaDB | 3307 | root / opsx | Demo@123 |
|
||
| c | PG | 5432 | opsx | Demo@123 |
|
||
| d | SQL Server | 1433 | sa | Demo@12345 |
|
||
| e | Oracle | 1521 | opsx | Demo@123(本机常起不来) |
|
||
| f | Redis | 6379 | — | — |
|
||
|
||
联调顺序:`./run.sh gui` → `dbctl up <x>` → 测连 → 查询。
|
||
|
||
---
|
||
|
||
## 9. 建议排期(给人用)
|
||
|
||
1. ~~文案/注册表:B 层 `notes`~~(已写,悬停「未验收」可见)
|
||
2. **入库**:整理 diff → 提交推 Gitee
|
||
3. **环境到位再测**:真 Oracle / 真国产库 / Redis Sentinel·Cluster
|
||
4. **P1 选做**:结果表右键、生成 SQL、导出、美化 SQL、AI 真接、Redis 独立 CLI/监控
|
||
|
||
有实例或排人变更时,改本文件并注明日期。
|
||
|
||
|
||
---
|
||
|
||
## 10. 全栈待办补记(2026-09-20)
|
||
|
||
| 项 | 优先级 | 说明 |
|
||
|----|--------|------|
|
||
| B 层 `notes` | 已做 | 见 `connection-types.json`;UI「未验收」悬停展示 `notes` |
|
||
| 推远程 | 待你点头 | 右键 P0、Sentinel/Cluster、引擎图标打包、B notes、BACKLOG 等仍在本地 |
|
||
| 结果表自绘右键 | P1 | 现仅 `preventDefault` |
|
||
| Redis 拓扑 docs | 已做 | `08-redis.md` Sentinel/Cluster/键树/CLI 决策 |
|
||
| Redis 键树 + 键详情 | 已做 | 分隔符文件夹、类型色点、TTL/字段编辑 |
|
||
| Redis 独立 CLI Tab | 后置 | 与 SQL 编辑器共用,见 08-redis.md |
|
||
| C 层驱动接入 | 立项 | Mongo/ES/ZK/Influx/达梦 |
|
||
| 真 Sentinel·Cluster 联调 | 环境缺口 | 有实例再改再测 |
|
||
|
||
---
|
||
|
||
## 11. 测试侧待办(测试工程师)
|
||
|
||
| 项 | 状态 | 待办 |
|
||
|----|------|------|
|
||
| 右键验收 1–3 / C 灰态 / A 回归 | 已绿(2026-09-20 再跑) | sqlite/a/b/c/f/d 顺序单实例全绿;Oracle ORA-00442 |
|
||
| B 层协议冒烟 | 已做;**不摘标** | 真 TiDB/Polar/OB/Gauss/Kingbase/TDSQL 实例到位再验 → 再谈 `verified` |
|
||
| Oracle / 达梦 | 环境限 / 未接入 | 2026-09-20 Oracle 容器起了但 ORA-00442;达梦未接入 |
|
||
| Redis Sentinel·Cluster 真拓扑 | 表单+字段校验已绿 | 有拓扑:测连 + 键浏览(扫/看/删) |
|
||
| 结果表自绘菜单 / 右键 P1 | 未开 | 全栈落地后按产品清单验 |
|
||
| 改 `apps/server` 后 | 约定 | 验收前确认 `./run.sh restart`,避免旧二进制误判 |
|
||
|
||
验收时勿并开多个 `dbctl` 库;结论回写本文件或群对齐即可。
|
||
|
||
---
|
||
|
||
## 12. 设计侧待办(设计师 · 2026-09-20)
|
||
|
||
| 项 | 状态 | 说明 |
|
||
|----|------|------|
|
||
| SQL 编辑器右键 P0 结构 | 已钉 | 执行选中/当前语句 · 查看数据/DDL · 剪切复制粘贴全选;禁系统菜单 |
|
||
| 对象树三套 P0 线框 | 已钉 | 库 / 表 / Redis 键;P1 虚线项见群线框与 §3 |
|
||
| Redis Sentinel·Cluster 表单字段 | 已钉 | 同页切部署模式;节点列表 · masterName · 双密码;Cluster 无 DB 索引 |
|
||
| 引擎缺图 fallback | 待验 | 灰底首字母,禁用蓝 `?`;未就绪灰 / 未验收橙+悬停 |
|
||
| 对象树右键 P1 视觉 | 未开 | 生成 SQL ▸ · 导出 ▸ · 设计表 · 新建表 等,全栈开做时补密度 |
|
||
| 结果表自绘菜单 | 未开 | 与全栈 P1 对齐出结构 |
|
||
| 顶栏文案 | 已收 | 连接 · 新建连接 · 新建查询 · 查询历史 · 快捷键 |
|
||
|
||
线框产物(本机):`~/devops/opsxdb/.ui-review/ctx-menus/`。新增设计待办只改本文件。
|
||
|
||
---
|
||
|
||
## 13. 全栈补记(2026-09-21 · ZCode 会话交付)
|
||
|
||
### Redis 工作台增强(对标 ARDM/opsxsql 后落地)
|
||
| 项 | 状态 |
|
||
|----|------|
|
||
| 键搜索:输入即子串过滤 + 回车服务端模糊 SCAN(无通配符自动包 `*q*`) | 已做 |
|
||
| 类型筛选下拉(string/hash/list/set/zset/stream,前端过滤 + 计数同步) | 已做 |
|
||
| 去掉「键 N」中间层:db 展开直接是 `agent 39` 文件夹 | 已做 |
|
||
| 行级复制 = 完整重建命令(ZADD/HSET/SADD/RPUSH key …),实测剪贴板 | 已做 |
|
||
| JSON 单元格:单行 minified 摘要(160 截断)+「更多」+ 点击弹层 pretty 查看/复制 | 已做 |
|
||
| zset Score 毫秒/秒时间戳 → 可读时间副显(`tsLabel`,误判有单测) | 已做 |
|
||
| 表格分批渲染:首屏 100 行 + 「加载更多(已显示 X / 共 Y)」 | 已做 |
|
||
| 集群跨分片 SCAN(`scanAll` ForEachMaster,本地 3 主 19/19 键实测;编辑器 SCAN 同步修) | 已做 |
|
||
| SCAN 游标分页(HSCAN/ZSCAN cursor,>500 大键真翻页) | **未做**(P1) |
|
||
| 批量操作(多选删/按 pattern 批删/导出导入)、监控 INFO/慢日志、更多 viewer(hex/msgpack) | 后置 |
|
||
| Sentinel 真拓扑联调 | 环境缺口 |
|
||
|
||
### 通用工作台(本会话交付)
|
||
| 项 | 状态 |
|
||
|----|------|
|
||
| 对象树库/表过滤框(命中自动展开、计数同步) | 已做 |
|
||
| 查询历史:去重置顶、一键重跑 ▶、过滤框、耗时/行数/失败红标(上限 200) | 已做 |
|
||
| 点表名打开前 100 行(单击延迟/双击立即,脏 Tab 确认) | 已做 |
|
||
| Tab 标题表名化(打开表的新 Tab 显示表名而非「查询 N」) | 已做 |
|
||
| 表右键:生成 SELECT/INSERT/UPDATE/DELETE(列感知+方言引号+主键 WHERE)+ 截断/删除表(危险确认) | 已做 |
|
||
| 库右键:新建查询 | 已做 |
|
||
| 结构页:索引/外键/触发器区块(MySQL 族 information_schema,前端直连) | 已做 |
|
||
| 表设计器 / 表重命名 / CREATE TABLE 生成 / 数据导出(CSV/转储) | **未做**(P1) |
|
||
| 结果表自绘右键 | **未做**(P1,仍仅吞系统菜单) |
|
||
|
||
### 去 Web 客户端收尾(在 §「去 Web 客户端」基础上)
|
||
| 项 | 状态 |
|
||
|----|------|
|
||
| 死包清理:`packages/transport`、`packages/core`(opsxapi 残留,零引用)整包删除 + 依赖/alias/test:core 清理 | 已做 |
|
||
| 生产构建浏览器守卫:非 Tauri + PROD → 「请在桌面应用中打开」导引页(桌面不受影响) | 已做 |
|
||
| CORS 收紧:仅留 5174(桌面 devUrl)与 tauri:// 两个来源 | 已做 |
|
||
| 文档/官网口径统一:删「Web 自托管」形态卡与双形态表述;FAQ 明确「浏览器不能操作」 | 已做 |
|
||
|
||
> 验收口径:以上「已做」项均经 桌面 App 实测(本地 MySQL/Redis 单机 + 3 主 Cluster)或单测覆盖(38 例全绿);测试侧复跑按 §11 流程。
|
||
|
||
## 23. 三项目状态收敛 + opsxdb 设置重构与 DataGrip 高亮(2026-10-14)
|
||
|
||
| 项 | 状态 |
|
||
|----|------|
|
||
| 三项目基线提交(防再丢) | opsxdb 456fa69 / opsxapi 6452026 / opsxshell be151cb;迁移/官网拆分等改动已全部入库。目录还原事件教训=每完成一步立即 commit |
|
||
| opsxdb 设置重构(对齐 opsxshell) | 左导航:搜索框 + 图标/主标题/副文案三层 + 选中左强调条;宽 176→208;语言切换(自动/中文/English)进常规分区 |
|
||
| 「连接已断开」横幅移除 | 已做:整条顶部红色横幅删除(状态行已有提示,顶部横幅不友好);重连能力保留 |
|
||
| SQL 高亮 DataGrip 风 | 已做:关键字亮蓝加粗 / 字符串红 / 数字浅绿 / 注释灰斜体 / 标识符浅灰白;light 同构对齐 IntelliJ |
|
||
| opsxapi 迁移 | 回滚到可用基线 6452026(apps 布局保留)——用户确认只做 opsxdb;迁移半成品已弃 |
|