Files
logan 2c0bfafd8d 同步完整源码至远程:扁平化重构现状 + 未入库源文件
- 补入库:server/internal/db/dump.go、redis 分页/扫描预算测试、opsxdb-mcp main_test、
  packages/opsxdb-mcp package-lock、docs 审计与对比文档等 37 个新文件
- 含结构扁平化进行中的 80 处修改与 155 处旧结构删除(server/ src/ src-tauri/ 为当前有效源)
- 构建产物(bin/target/dist)与签名私钥仍按规则排除
2026-10-16 03:47:33 +08:00
..

opsxdb 连接类型注册表(connection-types.json,schema v1)

connection-types.json 是 opsxdb 驱动目录的单一事实来源(规划中):src/catalog.ts 的 DRIVERS 与服务端 server/internal/db/open.go 的驱动分发,最终都应从本注册表生成。 当前阶段注册表与代码手工保持一致,生成器接入前以代码为准。

数据来源说明见 NOTICE.md。

设计

  • 单个 JSON 注册表:types 数组顺序即选择器展示顺序,与 catalog.ts 的 DRIVERS 数组保持同序;不设独立排序字段,避免引入任意常数。
  • JSON 无注释:字段语义统一在本文件说明,条目级备注(如验收阻塞原因)写入 notes 字段。

字段说明

字段 必填 说明
id ✓ 驱动 ID,与 catalog.ts 的 DriverId 一致
label ✓ 显示名
category ✓ 关系型 / NoSQL / 国产库 / 时序/搜索(选择器分组)
driverFamily ✓ 服务端分发:mysql / postgres / sqlserver / oracle / sqlite / redis / agent(未实现,走外部驱动)
runtime ✓ native(Go 驱动编译内置)/ agent(按需下载的外部驱动)/ file(本地文件库)
form ✓ 连接表单:standard / file / redis / oracle(对应 ConnectionForm)
ready ✓ 用户可测试/连接;false 时选择器显示"未就绪",仅可保存
verified ✓ 本机 docker 验收通过(依据 tests/README.md 驱动验收表);false 表示代码就绪但未经本机验证
defaultPort ✓ 默认端口;文件库为 0
mysqlCompat MySQL 协议族(TiDB/OceanBase/PolarDB/TDSQL 等复用 mysql 驱动)
color / icon 选择器展示
hints 表单占位提示(host/port/user/database/service)
fields ✓ 连接表单收集且服务端实际消费的字段;表单不渲染、服务端不接收的字段禁止列入
notes 条目级备注(如 verified: false 的原因)

纪律

  • fields 必须与 server/internal/db/types.go 的 ConnReq 实际消费字段一致 (审计记录:Oracle 的 oracleRole/oracleIdKind、SQL Server 的 authMode、 Redis 的 keySeparator/redisMode 为已知的死参数,不得回流)。
  • 新增驱动时同步更新 tests/README.md 验收表与 catalog.ts,并保持注册表与 DRIVERS 数组同序。