版本 7.2.5 - Server Chat 与 ChatGPT 账户连接

Published: 2026-08-13 | Stela Augustínová

我们很高兴地宣布 DbGate 7.2.5 版本发布。本次发布通过 Server Chat 以及桌面应用中的 ChatGPT 账户直连,进一步扩展了 DbGate 的 AI 能力。此版本还修复了两个已报告的回归问题,并在文件、远程下载、插件和生成脚本等方面增加了多层安全加固。

在整个数据库服务器范围内提问

Server Chat 是一项全新的 Premium 功能,可在连接级别进行 AI 辅助查询。Database Chat 只针对某一个选定的数据库,而 Server Chat 能够发现连接中可用的数据库、检查相关的架构,并帮助回答跨越多个数据库的问题。

这对于按客户、地区、环境或应用来划分数据的服务器非常有用。您无需逐个打开数据库并手动构建查询,只需用自然语言描述所需的结果即可。Server Chat 能够识别相关的数据库和表,生成相应的 SQL,并在执行前呈现出来供您确认。

该功能支持 PostgreSQL、MySQL、MariaDB 以及受支持的 SQL Server 版本。在数据库引擎允许的情况下,它可以运行服务器级查询;当针对特定数据库更安全或更合适时,也可以将查询限定到该数据库。生成的数据库级查询还可以在常规 SQL 编辑器中打开,以便进一步检查和优化。

将您的 ChatGPT 账户连接到 DbGate 桌面版

Premium 用户现在可以在 DbGate 桌面应用的 AI 设置中直接连接 ChatGPT 账户。连接完成后,OpenAI Codex 即可作为 AI 提供商用于 DbGate 的辅助查询工作流程。

该连接使用基于浏览器的登录流程,因此您无需将 API 密钥复制到 DbGate 中。桌面应用会安全地存储所生成的凭据,在需要时刷新连接,并允许您在同一设置界面中断开账户连接。

登录后,您可以从 DbGate 中可用的 Codex 模型中进行选择,其中包括 Sol 等通常无法通过 DbGate 标准 AI 提供商集成获得的更高级模型。您可以在聊天中配合流式响应和工具辅助的数据库探索来使用这些模型,为桌面用户提供了另一种便捷方式,将高级 AI 辅助引入数据库工作流程。

SQLite 和 LibSQL 中精确的 Bigint 值

超出 JavaScript 安全整数范围的 SQLite 和 LibSQL 整数值现在可以完整保留,不再被舍入。此前,诸如 1254071346418286654 这样的值可能会显示为 1254071346418286600,在到达数据网格之前就已丢失信息。

除了显示错误的值之外,这种转换还可能导致筛选失败,因为舍入后的数字不再与数据库中存储的值匹配。DbGate 现在会以精度安全的表示形式保留大整数,同时继续将较小的整数作为常规数字处理。

PostgreSQL 支持的 NPM 安装问题修复

在 7.2.4 版本中,从 NPM 安装 dbgate-serve 可能会失败,因为 PostgreSQL 插件引用了 dbgate-pg-dumper@7.2.4 这个并不存在的包版本。发布版本管理流程现在会让 dbgate-pg-dumper 保持其自身的有效版本号,而不再将其改写为与 DbGate 主版本一致。

这恢复了使用 PostgreSQL 插件的部署所预期的 NPM 安装流程。

面向服务器部署的安全加固

DbGate 7.2.5 针对与外部输入或服务器文件系统交互的操作,提供了一系列纵深防御改进:

  • 导出文件和生成的预览被限制在由 DbGate 管理的数据目录中。路径检查还会考虑符号链接,因此看似有效的导出路径无法逃逸出其允许的位置。
  • 远程文本和 JSON Lines 下载仅接受经批准的源类型,并会验证网络目标,从而阻止对本地或私有服务的请求,并禁止读取本地文件。
  • 插件包名称在加载前会经过验证,同时插件命令调度现在要求具备相应权限,并且只接受明确定义的函数处理程序。
  • 当 DbGate 生成 JavaScript 时,会对用户可控的注释和调度指令进行净化处理,确保换行符无法跳出注释并注入可执行代码。

这些更改对于共享和基于 Web 的 DbGate 安装尤为重要,因为在这些场景中,连接、导入、导出和自动化可能由多人共同使用。

完整更新日志

7.2.5

  • 新增:Server Chat,可在 PostgreSQL、MySQL、MariaDB 以及受支持的 SQL Server 版本上进行 AI 辅助查询(Premium)
  • 新增:ChatGPT 账户连接,可在桌面应用中使用 Codex 模型(Premium)
  • 修复:SQLite 和 LibSQL 的 bigint 值现在能够保留精度
  • 修复:由 dbgate-pg-dumper 版本不匹配导致的 NPM 安装失败问题
  • 修复:将导出文件写入限制在受管理的目录中,并防止基于符号链接的路径逃逸
  • 修复:防止远程文本和 JSON Lines 下载中的 SSRF 及本地文件读取
  • 修复:验证插件包名称和命令调度,防止不安全的插件操作
  • 修复:净化生成脚本中的注释和指令,防止代码注入