Repository navigation
AgentSQL v1.0.0
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 分库 metadata19→19→19、audit6,管理审计 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;Demosha256:732a97bce1b5478a6edb07cd460632e00731eaf027444bfeb4d7b2133f6eddd1;quickstartsha256: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 和真实客户环境仍未作完整生产验收。