Skip to content

AgentSQL v1.0.0

Choose a tag to compare

@cuipengdba cuipengdba released this 17 Oct 09:54
· 88 commits to main since this release
8659f39

AgentSQL v1.0.0 发布说明

v1.0.0 收紧列级授权失败关闭,新增可选的 HTTP MCP 人员委托身份,并把设计、验证、发布、官网和 Live Demo 固定为每版交付流程。此版本不增加数据库类型,也不扩大国产数据库的生产支持声明。

新增与变更

  • 配有列级策略的 SELECT 不再退回表级授权路径。PostgreSQL 必须由已启用且可用的 B2 绑定器验证投影、谓词、JOIN/自连接等列引用;B2 不可用时执行前拒绝并写审计。MySQL、Vastbase 等没有等价证明的方言仍不支持列策略。
  • 新增可选 mcp.delegation.require_human_token: true。HTTP MCP 请求同时使用 Agent API Key 和短时、指定 Agent 的人员委托令牌。控制台登录令牌不能直接用于 MCP;委托令牌也不能调用控制台 API。用户退出、停用或失去 query.execute 后,委托立即失效。
  • 控制台「任务授权」页在启用该模式时提供人员令牌签发与一次性展示;签发写管理审计,审计不可用时不返回令牌。MCP 流量审计的 details_json.delegated_user_id 标明经验证的用户 ID;已有 Agent 和任务授权 ID 仍保留。
  • 有状态 MCP 会话绑定 Agent 与人员双身份,换人必须重新初始化;无状态入口逐请求验证。双身份模式下 B5 工具、request_approval 和 execute_approved 暂不开放完整人员归属链路,故关闭。普通模式维持原工具行为。
  • 权限页在列策略存在时展示 B2 与方言的执行边界;离线预检仍只给出拒绝或未知,不是允许执行的证明。

升级与兼容

  • 本版无新增元数据库迁移。仍要先备份 metadata、audit 和配对的 AGENTSQL_SECRET,使用 agentsqlctl migrate --check 检查后升级;恢复时使用升级前成套备份。
  • 人员委托默认关闭,不影响旧客户端。启用后 HTTP MCP 每次请求都必须加 X-AgentSQL-User-Authorization: Bearer <人员委托令牌>;控制台须开启。先由已登录且有 query.execute 的用户调用 POST /api/v1/auth/delegation-token,提交 {"agent_id":"..."} 取得令牌。令牌最长 30 分钟,不能续期;到期后重新签发。客户端需能发送自定义 HTTP 头。
  • 旧部署中若设置了列策略但显式关闭 PostgreSQL B2,相关 SELECT 会从可能的表级放行改为失败关闭。升级前应检查列策略、B2 就绪状态和目标查询;不能为了恢复查询而移除必要的列约束。

明确边界

  • 人员委托只证明 HTTP MCP 请求中的人员身份与当前查询权限;Agent Key、数据库账号最小权限、SQL 策略、脱敏和审计仍各自生效。它不等同 OAuth 第三方令牌交换。委托令牌进入可信客户端凭据配置,不能放入日志或公开 Demo。
  • 有状态会话在换人后重新初始化;跨请求审批执行和 B5 计划事务在委托模式下关闭,直到其完整双身份审计合同得到验证。stdio 沿用本地 Agent Key 合同。
  • PostgreSQL B2 适用的 SQL 形状仍以现有绑定器能力为限。MySQL 的列级绑定、国产数据库复杂 JOIN/TLS/HA/负载及真实客户环境尚未取得新版证据;数据库支持级别维持原档。
  • 正式 CI、资产签名、GHCR 摘要、真实 MCP 客户端、官网和 Live Demo 的证据以 v1.0.0 验收记录与 GitHub Release 正文为准。未通过的闸门不能写成已交付。

发布验收证据

  • 封板提交:8659f391dfa4b60766796722e433c5c1e7572ccd;PR #9 与 main 同提交 CI 的 Go、Web、govulncheck 全绿。
  • 双架构 Linux 包、SPDX SBOM、provenance 和安装器共 15 项资产;受控 Ed25519 公钥 ID sha256:771e8b179a031f0e3ac3e09576979532808e39f5f2e6da9d103ddf24c91d6868。SBOM、provenance、SHA256SUMS 三份签名已独立验签,15 项资产来源与 SHA-256 校验通过。
  • 使用 v0.9.0 正式包和 v1.0.0 签名包完成隔离升级与成套恢复:SQLite 合并库 schema 20→20→20,旧任务授权保留;PostgreSQL 分库 metadata 19→19→19、audit 6,管理审计 outbox 核对 3 条事件。
  • 发布前真实客户端:MCP Inspector 2.11.0 的两个 HTTP 入口和 Dify 1.17.1 工作流均完成允许、拒绝、脱敏与审计验收;DM8 Pack3、KingbaseES V9 PG 模式、Vastbase G100 Build 9 通过指定环境有界回归。详细边界见 验收记录。
  • 公共 GHCR 精确标签均为 linux/amd64 + linux/arm64:主镜像 sha256:b7972bda72cd988aab4a6b1557f2d42ea1cfb7c96a62c12dce96dd589916a6ed;Demo sha256:732a97bce1b5478a6edb07cd460632e00731eaf027444bfeb4d7b2133f6eddd1;quickstart sha256:b9159aade9b4fbdb01222cc0eb820493c5f88b73a66baddfec23ce3c2e0c9f50。三标签六次无凭据拉取的版本与 OCI revision 均通过;主镜像的健康、就绪、匿名拒绝和管理登录隔离烟测通过。

公网交付与最终验收

最终验收记录通过 PR #10 在发布后补录;文档合并提交的 main CI 的 Go、Web、govulncheck 全绿。这份文档更新未改变 v1.0.0 tag 或发布二进制。

  • 官网 已切换至 v1.0.0,发布目录 /var/www/agentsql/releases/20261017T100822Z;公网 23 项静态/TLS/安全响应头检查全部通过。主页、CSS、JS、分享图和三份 v1.0.0 PDF 的公网 SHA-256 与封板 tag 内容一致;三份 PDF 与 tag 内手册重新构建结果逐字节一致。
  • Live Demo 已切换至 ghcr.io/cuipengdba/agentsql:v1.0.0-demo。先对 v0.9.0 SQLite 数据建立隔离候选副本并完成 schema 20 迁移、健康、允许/拒绝/脱敏/审计测试,然后切换公网并复测;公网 R010 拒绝与手机号脱敏通过,审计 ID 312–315 可复核。升级前备份保存在服务器 /opt/agentsql-demo/cutover-v100-20261017T100354Z。
  • 官网与 Demo 均通过后,ghcr.io/cuipengdba/agentsql:latest 才从 v0.9.0 提升至本版主镜像摘要 sha256:b7972bda72cd988aab4a6b1557f2d42ea1cfb7c96a62c12dce96dd589916a6ed;使用全新无凭据 Docker 配置分别拉取 linux/amd64、linux/arm64,版本 v1.0.0 和源提交 8659f391dfa4b60766796722e433c5c1e7572ccd 均通过。
  • 本次真实客户端、国产数据库和升级演练使用上述指定实例及合成数据。DM8、KingbaseES、Vastbase 的复杂负载、HA、TLS 和真实客户环境仍未作完整生产验收。