桃子桃子快讯
返回首页
工具

开源 Postgres 工具 Widen 支持 Apple 端侧模型

Widen 是开源 macOS Postgres 客户端,内置文本到 SQL,支持 Apple Silicon 本地模型…

2026.08.16 · 周日4 分钟阅读

Widen 是一款面向 macOS 14 及以上系统的开源原生 Postgres 图形客户端,最值得关注的是内置了文本到 SQL(Text-to-SQL)能力,可在 Apple Silicon 设备上调用 Apple 的端侧大模型(Apple Intelligence Foundation Model),也支持用户自行接入云端模型提供商。项目以 MIT 协议开源,无后端、无账号、无埋点,所有凭据与 API Key 均存放在 macOS Keychain。

双模式 AI 架构

Widen 提供云端和本地两种 AI 生成路径:

  • 云端模式(默认):问题文本与必要的 schema 元数据会发送给用户在设置中配置的提供商。新安装默认使用 OpenRouter 上的「openai/gpt-5.5」固定版本,并要求使用零数据保留(zero-data-retention)端点、禁止提供商收集数据;用户需自行提供 OpenRouter API Key。
  • 本地模式:完全在 Mac 上运行,仅在支持 Apple Intelligence 的 macOS 26+ Apple Silicon 设备上可用,适合简单数据库和较窄范围的查询。

如果只在本地使用,云端模式不会被触发,数据库与问题均不离开设备。

发布门槛与负结果公开

Widen 为 Text-to-SQL 设定了严格的发布门槛,必须全部通过才能将其标记为「可用于生产」,关键指标包括:

  • 60 个固定模型的门槛测试集
  • 端到端语义通过率 ≥ 90%
  • 安全性有效性 100%
  • Schema 有效性 100%
  • 澄清决策准确率 100%
  • 传输可靠性 ≥ 95%
  • 零重复修复失败

目前语义通过率这一项未达标,因此该功能仍标注为 beta。开发者承诺:预注册且付费的门槛实验中,未达标者会被回滚并记录负结果,完整数字已在仓库的 release-gate report 中公开,读者也可以通过 make eval-release 本地复现。

云端模型被固定在已评估的「openai/gpt-5.5」版本,一旦提供商的别名解析到未评估版本,云端生成会直接失败关闭(fail closed),而不会静默切换到未评估模型。

执行前的人工复核

Widen 强调「人审在前」,无论是手动输入还是模型起草的 SQL,都要经过同一套确定性安全校验:

  • 仅允许单条语句
  • 只接受 SELECT/WITH 读操作,或显式标注的 INSERT/UPDATE/DELETE 写操作
  • 禁止 DDL、事务关键字、分号串联、pg_sleep、dblink、大对象调用
  • 执行时启用语句超时和行数上限
  • 写操作从不自动执行;DELETE 与无 WHERE 的 UPDATE 都需要用户确认

如果只希望读操作,官方建议直接用只读 Postgres 用户连接。开发者明确指出,应用层护栏只是辅助,真正的安全边界仍然是数据库权限。

安装与试用

Widen 可在 GitHub Releases 下载签名并公证过的 DMG 安装包;更新通过 Sparkle 从 GitHub Releases 推送。从源码构建需要 Xcode 26。仓库附带 scripts/sample_db.sql 脚本,会创建一个包含 users、orders 两张表的小型示例数据集,可在本地 Postgres.app 上加载后用自然语言尝试诸如「显示最近 10 笔订单」「按状态统计订单数」等查询。首次启动时通过「Add Database」进入设置面板,按 Postgres.app 默认即可填入 host、port、database 等连接信息。

信源