# 兼容性 [项目首页](../README.md) · [使用指南](usage.md) · [贡献指南](../CONTRIBUTING.md) 本页列出已验证的版本、平台及功能范围。最低运行版本见 [package.json](../package.json) 的 `engines`。 ## 宿主与平台 ### 0.1.4 验证记录 2026-11-11,`0.1.4` 的生产源码在 macOS x64 和 Linux x64 完成以下验收。最低 DSH、Node.js 要求和依赖版本保持不变;当日 npm `@deepseek-ai/dsh@latest` 为 `0.2.2-rc.1`,该宿主自身要求 Node.js ≥24.9.0,不能由插件的 Node.js ≥22.19.0 声明推定它支持 Node 22。 | 范围 | 已验证内容 | | ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 基础门禁 | macOS Node 22.19.0 / 24.20.0、Linux Node 22.19.0 / 24.22.2:216 项行为回归、19 项工具脚本检查、类型、构建与发布白名单 | | 隔离安装 | 同一生产源码打包后,在 Node 22.19.0 / 24 下通过锁定宿主组件检查;确切 tarball 在最低 DSH `0.2.0-rc.2` 和 latest `0.2.2-rc.1` 下通过官方 CLI 安装、Host/MCP/Client、写入拒绝、持久化与卸载重载;latest 仅使用 Node 24 | | 六种真实数据库 | MySQL 8.4.11、MariaDB 11.4.13、PostgreSQL 17.11、MongoDB 8.0.34、SQL Server 16.0.4295.3、Oracle 23.9.0.25.07:读取、结构发现、权限、超时与取消等各引擎完整现有矩阵,以及各自的 SIGTERM/SIGKILL 容器回收和实际发现的匿名卷清理;Oracle lite 探针未产生匿名卷 | | Oracle 冷态结构发现 | 全新数据库实例首次外键描述约 5.3 秒,在共享 10 秒限额内完成,未预热元数据;真实 DDL、源/目标撤权、在途取消与连接容量恢复检查通过 | | Web 与真实 Agent | Linux、Node 24.22.2、DSH Web `0.2.2-rc.1`、Chromium 154 与隔离 PostgreSQL:首问结构发现、精确金额汇总 `30.375`、撤权后拒绝继续访问,以及真实宿主进程重启后的连接与对话恢复 | 六库普通矩阵使用 Node 24 和隔离 Linux amd64 容器;macOS 承载的 Docker 容器不代表原生 macOS 数据库。TLS 范围分别为:MySQL/MariaDB/PostgreSQL 的真实证书身份与信任链正反例;MongoDB 的真实 TLS 认证、查询、错误身份、不受信任及自然过期拒绝;SQL Server 的真实 TLS 查询与认证前证书拒绝;Oracle 的 DNS/IPv4/IPv6 真实 TCPS 查询和不受信任 CA 拒绝。SQL Server/Oracle 的 IPv6 使用不终止 TLS 的字节转发。Oracle 真实 TCPS 的错误身份、过期证书和完整服务端认证前负例仍未覆盖,协议夹具证据不能补作这些真实数据库结果。 Web 检查还覆盖显式安全选择、测试不保存、默认关闭访问、复制返回且不覆盖草稿、密码保留/更换、编辑后忽略迟到测试结果、会话选择、草稿保护和删除取消。会话列表的加载/空/失败/迟到场景使用浏览器网络故障注入;成功刷新使用实际宿主数据。实际在线模型为原生 DeepSeek Messages 路由的 `deepseek-flash`,未改用 Chat 路由。 上述数据库和 Web 记录使用版本更新前、与 `0.1.4` 相同的生产源码及依赖;发布版本和文档更新后另行构建和验收新 tarball。此处不将旧 `0.1.3` tarball 当作 `0.1.4` 产物。当前记录不包含 `0.1.4` 的原生 Windows 验收或 npm registry 安装结果;确切发布提交的跨平台检查以对应 [GitHub Actions](https://github.com/blkpne/dsh-database/actions/workflows/check.yml) 结果为准。完整 Node 22 数据库矩阵、集群/故障转移、Windows/Linux 全部浏览器交互、深色主题和屏幕阅读器仍不在本次覆盖范围内。 ### 0.1.3 验证记录 `0.1.3` 的发布验证记录整理于 2026-11-09。最低 DSH、Node.js 要求及依赖版本与 `0.1.2` 相同。以下记录来自发布前的源码与本地 tarball 验证,不包含 npm registry 安装验收。 macOS x64、Node.js 24.20.0 已完成基础检查、生产依赖审计,以及本地 `0.1.3` tarball 在 DSH `0.2.0-rc.2` 和 `0.2.2-rc.1` 下的独立安装、Host/MCP 调用、写入拒绝、持久化、卸载重载与 Client 工厂检查。Client 工厂检查不等于浏览器交互验收。 2026-11-07 的修复候选在 macOS 完成的 65 例 TLS 协议检查、MySQL/MariaDB/PostgreSQL 真实 TLS 检查及 PostgreSQL 真实集成验证继续适用;Linux 上的 SQL Server/Oracle TLS 与在线模型补验见下文。 同日的[候选提交 CI](https://github.com/blkpne/dsh-database/actions/runs/42378133765)已通过 Windows Node 22.19/24、macOS/Linux、最低与 latest 宿主兼容性、六库、TLS 和资源清理检查。本次发布文案收尾未修改生产源码或依赖;最终发布提交的跨平台结果以发布标签对应的 GitHub Actions 记录为准,不由历史 CI 或本地安装结果推定。 ### 0.1.2 验证记录 2026-11-06,macOS x64、Node.js 24.20.0,本地构建的 npm tarball: | DSH 版本 | 已验证功能 | | ---------- | --------------------------------------------------------------------------------------------------------- | | 0.2.0-rc.2 | 官方 CLI 安装、插件激活、MCP 调用、写入拒绝、持久化、卸载重载与 Client 工厂 | | 0.2.2-rc.1 | 同上;使用该宿主的独立原生工具执行器 | | 0.2.1-rc.2 | 锁文件配套组件下的插件激活、MCP 调用、写入拒绝、持久化、卸载重载与 Client 工厂;未在本次单独重测 CLI 安装 | 最低 DSH 与 Node.js 要求保持不变。新增接受 DSH 0.2.2-rc.1 配套的 Cordis 4.1 与 Schemastery 3.19,同时保留原有依赖范围;具体声明见 [package.json](../package.json)。 本次还通过基础回归、类型与构建检查、生产依赖审计和 TLS 协议夹具检查。上述 tarball 验收不等于真实数据库、浏览器交互或在线模型验收;这些项目本次未在本地重测,历史证据与范围见下文。 ### 0.1.1 验证记录 2026-10-21,Windows x64、Node.js 22.19.0,本地构建的 npm tarball: | DSH 版本 | 已验证功能 | | ---------- | ---------------------------------------------------------------------- | | 0.2.0-rc.2 | CLI 安装、插件激活、MCP 调用、写入拒绝、持久化、卸载重载与 Client 入口 | | 0.2.1-rc.2 | 同上 | 数据库、浏览器及在线模型的验证记录来自 0.1.0,详见下文。 ### 0.1.0 历史验收 **人工 Web 验收覆盖 macOS;自动化验收覆盖 Linux、Windows、macOS 及下列数据库版本。** CI 配置、实际运行结果与 npm 安装验收分别记录;发布成功本身不扩大兼容范围。 | 项目 | 验证基线与覆盖范围 | | --------------- | ----------------------------------------------------------------------------------------------------- | | 插件 | 0.1.0 源码与本地构建的 npm tarball;npm registry 安装不在本页验证记录中 | | DSH | Web,`0.2.0-rc.2` | | Node.js | 本地 macOS 22.19 / 24.20;CI 矩阵见下文;最低要求见 [package.json](../package.json) 的 `engines.node` | | macOS | 已验证源码安装、基础检查、tarball 安装、开发脚本及 Web 管理操作 | | Linux / Windows | 已通过下述自动化验收;人工 Web 操作未在这两个平台验收 | | Desktop | 独立 Desktop 运行不在本页验证范围内 | DSH 公共组件按主包发行版配套使用,精确版本见 [源码锁文件](https://github.com/blkpne/dsh-database/blob/main/package-lock.json)。升级时核对整套组件,避免逐个拼装拆分包的 `latest`。 平台验证范围不含 Windows ARM64、32 位、网络共享源码目录及原生数据库服务。开发方式与依赖见 [Windows PowerShell](../CONTRIBUTING.md#windows-powershell)。 ## 自动化验收 以下环境与检查已通过自动化验收,运行结果见 [GitHub Actions 验证记录](https://github.com/blkpne/dsh-database/actions/workflows/check.yml): | 环境 | 已通过的检查 | | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ | | Ubuntu / Windows,Node 22.19.0 和 24;macOS,Node 24 | 安装依赖、文档与类型检查、基础回归、开发脚本、构建、生产依赖审计,以及实际 tarball 的隔离安装与 Host/MCP/Client 产物检查 | | Windows,Node 24 | TLS 协议夹具检查,含带空格与特殊字符的路径 | | Ubuntu 22.04,Node 24 | 六种真实数据库的集成测试、容器清理验证、TLS 协议与数据库 TLS 检查 | 这里记录的是已执行的工作流结果。CI 中的 Client 检查不等于浏览器交互验收;人工 Web 操作、真实在线模型和 TLS 的具体范围见下文。Node 24 是该次工作流的版本选择器,精确补丁版本及 runner 镜像见运行日志。 数据库集成测试固定使用 Ubuntu 22.04 runner,并在日志中记录 Docker 与宿主内核版本。MongoDB 8.0 的内核限制见[上游兼容说明](https://jira.mongodb.org/browse/SERVER-125742);容器镜像版本不能代替宿主内核兼容性检查。 ## 数据库 以下数据库结果来自隔离 Linux 容器中的**真实单节点数据库**,验证时间为 2026-10-11。它们不覆盖所有版本、集群或代理部署。Docker 是测试工具,不是使用插件的前提。 六种引擎均已验证读取、元数据、MCP/Host 调用以及连接资源回收。各引擎的补充范围如下: | 引擎 | 服务端版本 | 补充验证范围 | | ---------- | ------------------------- | ------------------------------------------ | | MySQL | 8.4.11 | 精度、截断、只读权限、超时与取消 | | MariaDB | 11.4.13 | 精度、截断、只读权限、超时与取消 | | PostgreSQL | 17.11 | 权限可见性、超时与取消、恢复 | | MongoDB | 8.0.32 | 服务端取消观测、停用/删除/卸载与恢复 | | SQL Server | 16.0.4295.3(2022 CU27) | 精度、截断、权限、基本超时与客户端取消 | | Oracle | 23.9.0.25.07(23ai Free) | 复合约束、权限可见性、基本超时与客户端取消 | ### TLS Oracle 的 IPv6 TCPS 连接依赖 Node 原生的证书身份检查。Node 24.18/24.19 存在合法 IPv6 IP SAN 被拒绝的上游回归;在 24.19 上,Oracle 驱动 7.0.1 和 26.0.0 均返回 `NJS-506`,没有发送受 TLS 保护的 Oracle 协议数据。仅升级驱动不能解决此问题。[Node 24.20.0](https://nodejs.org/en/blog/release/v24.20.0) 和 [22.23.4](https://nodejs.org/en/blog/release/v22.23.4) 已包含 IPv6 SAN 匹配修复。 2026-11-07,未发布候选在 Linux x64、Node 22.23.4 和 24.22.2 下各通过 65 例协议检查,包含 Oracle 的 IPv6 正反路径;24.22.2 另对照了 Oracle 驱动 7.0.1 与 26.0.0。正确证书允许发送加密协议数据,错误 IP/DNS 身份、过期或不受信任证书在协议数据前拒绝。这些协议监听器不提供 Oracle 数据库认证或查询。 需要 Oracle IPv6 TCPS 时,应使用包含上述修复的 Node 补丁版本,并在目标数据库验证认证与查询。无法升级时,只能改用证书明确覆盖、可实际到达的 DNS 名称或 IPv4 地址;不得关闭证书链或身份检查、替换校验主机名或弱化 DN 匹配。插件整体最低 Node 要求不因此改变,较早版本的 Oracle IPv6 支持不能据此推定。Linux 补验不等同于未发布候选的 Windows/macOS CI。 同日,SQL Server 2022 CU27(16.0.4295.3)、Tedious 20.3.6 在上述两版 Node 完成真实 TLS 登录与精确金额汇总。32 次证书/信任链检查覆盖正确 DNS/IPv4/IPv6 SAN,以及错误身份、过期与不受信任 CA;15 次独立不存在账户的对照结合服务端失败登录日志,验证证书拒绝发生在认证之前。IPv6 使用 `::1` 到所属容器 IPv4 发布端口的透明字节转发,TLS 在数据库终止,客户端仍校验 `::1`;这不代表 Docker IPv6 网络或远程拓扑验收。该补验补充下表的历史 SQL Server TLS 缺口。 Oracle 23.9.0.25.07、驱动 7.0.1 另完成真实 TCPS:Node 24.22.2 的 DNS/IPv4/IPv6 与 22.23.4 的 IPv6 均成功认证并查询合成数据的精确金额 `30.375`;不受信任 CA 被拒绝。相同数据库、钱包与 IPv6 转发路径在 24.19 下返回 `NJS-506`。服务器只启用单向 TLS,客户端保留证书链与身份检查;未测试客户端证书认证。真实 Oracle TCPS 的错误身份/过期证书仍只有上述协议检查证据,不能与 SQL Server 的真实负例矩阵混称。 | 引擎 | 已完成 | 本页不覆盖 | | ---------------------------- | -------------------------------------------------------------------------------------------- | ----------------------------- | | MySQL / MariaDB / PostgreSQL | 真实数据库证书校验;正确 DNS/IP 身份,以及错误身份、过期、不受信任证书的拒绝;失败不降级明文 | 其他版本及部署拓扑 | | MongoDB / Oracle | 真实驱动连接本地 TLS 监听器,验证上述证书身份场景 | 真实数据库上的 TLS 认证与查询 | | SQL Server | 适配器回归检查主机名传递 | 真实 TLS 服务器验证 | MySQL/PG 协议补验完成于 2026-10-12。MongoDB/Oracle 的 TLS 握手检查完成于 2026-10-17,环境为 macOS / Node 24.20;正确证书允许发送加密协议数据,检查未执行数据库认证或查询。 ### 取消与部署范围 - PostgreSQL、MongoDB 已覆盖服务端在途操作终止与恢复。 - SQL Server、Oracle 的记录覆盖客户端取消,不包含一般性的服务端在途终止验收。 - 客户端取消、关闭连接与服务器停止计算是不同结果。具体实现和清理证据见[超时与取消](reference.md#超时与取消)。 - 本页验证范围不包含集群、故障转移和 MongoDB Atlas/SRV;表单支持 SRV 不代表相应部署方式经过验证。 ## Web 与 Agent 2026-11-11,同一基线上的首问引导优化另在隔离 Profile、PostgreSQL 17 与 Web `0.2.0-rc.2` 中实测。覆盖显式安全选择、保存后访问默认关闭、开启后的结构首问复制与返回、已有对话草稿保留、未保存与停用保护、同名保存拒绝、指定会话提示、改名与已存密码保留,以及 1280×720 和 390×844 界面。返回对话使用该版本 `@deepseek-ai/dsh-client-ui-layout` 的公开 `selectPanel(null)`,不创建会话、不预填或发送消息;模型配置采用经界面核实的“设置 → 模型”文字指引,不检测凭据或模型状态。手动发送首问后,未配置模型的宿主返回 `MISSING_CREDENTIAL`;有效模型回答与数据库工具执行未在此次复测验证。剪贴板拒绝与异步取消由确定性回归覆盖,未实际撤销浏览器剪贴板权限。 2026-11-11,基于 `0.1.3` 的本地未发布连接体验改动在 macOS x64、Node 24.20.0、DSH Web `0.2.0-rc.2`、Chrome 与隔离 PostgreSQL 17.11 上完成浏览器验收。覆盖新建时显式选择连接安全、真实 TLS 不支持与认证失败、测试成功/加载/取消/配置更改后失效、密码保留/更换/清空、独立保存、Host 重启恢复、诊断、Agent 访问开关、删除取消/确认及最后一项删除后的空状态。桌面 1440×900、390×844 与 320×640 视口,以及确认框焦点循环、Escape 和标签页方向键均已检查。 该改动保留既有连接和 Host/API 的 TLS 默认语义;MongoDB SRV 仍要求 TLS。基础检查通过 200 项行为回归、19 项工具脚本检查、类型、构建与产物清单校验,另通过 65 例 TLS 协议检查。协议夹具不等于六种真实数据库的 TLS 认证验收;此次未重跑六库矩阵、tarball 安装、在线模型、Windows/Linux 浏览器、深色主题或屏幕阅读器。以下历史验证不自动扩大本地改动的验证范围。 2026-11-07,未发布候选在 Linux x64、Node 24.22.2、DSH Web 0.2.2-rc.1 上补验原生 DeepSeek Messages 与明确 Off:Agent 通过 inspect 发现合成 PostgreSQL 结构,再用 query 返回精确汇总 `30.375`;停用授权后数据库工具从 2 个变为 0,Agent 拒绝继续查询,未使用其他工具替代。没有使用 pi-ai Chat 替代路由,也未修改日常 Profile。 先前的 HTTP 500 曾在不含数据库工具的最小提供方请求中出现,本次官方最小默认/disabled/low 请求及宿主原生 Off 均成功,未复现 500。这支持继续使用当前原生路由,但不能确认服务端内部根因或保证故障不会再次出现;数据库连接器未为此增加供应商配置逻辑。此次未重跑此前全部浏览器交互、六库和在线质量场景。 | 层面 | 已完成 | 本页不覆盖 | | -------- | ------------------------------------------------------------------------------------------------- | -------------------------------------------- | | Web 管理 | 表单、草稿保护、TLS/认证错误、保存、启停、授权、密码保留、页面重载、Host 重启恢复、诊断记录与删除 | 全部响应式尺寸、深色主题、自动 CI 浏览器回归 | | 工具调用 | ToolRuntime、MCP、PTC 与数据库调用链的确定性测试 | 多模型的成功率与性能对比 | | 在线场景 | PostgreSQL 合成电商数据的结构发现、只读汇总、分析绘图及 Web 页面重载后的对话与图片回放 | 其他引擎的在线模型验收、全部结果卡片类型 | Web 操作验证完成于 2026-10-11,配置写入使用 PostgreSQL;其余引擎由后端集成测试覆盖。开发脚本补验完成于 2026-10-12。确定性工具测试与真实模型验收分别记录。 在线场景验证完成于 2026-10-18,使用 macOS、Node 24.20.0、DSH Web 0.2.0-rc.2、PostgreSQL 17.11 与 DeepSeek Flash(`deepseek-official/deepseek-flash`)。Agent 通过插件查询合成订单与退款,生成经营简报,并使用宿主的文件、执行工具及 Python / matplotlib 绘图;主要指标与独立数据库查询结果核对一致。此记录仅覆盖这一场景,不代表模型输出始终正确;示例见[电商经营复盘](usage.md#场景示例电商经营复盘)。 ## 遇到兼容性问题 请按[反馈问题](../CONTRIBUTING.md#反馈问题)提供版本、环境和最小复现。更多信息: - [数据库连接设置](usage.md#数据库连接设置):字段、认证方式和使用限制。 - [测试分层与夹具](../CONTRIBUTING.md#测试分层与夹具):如何复现对应检查。 - [发布指南](releasing.md):发布产物与平台矩阵的验收流程。