Files
opsxdb/docs/BACKLOG.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

12 KiB
Raw Blame History

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 流程。