v4.12.0

独立 AI 问数 Agent
MCP Server 安全网关

AgentSQL(智盾)把自有 AI 问数 Agent 和独立 MCP Server 数据库安全网关合在同一产品中。直接用 AgentSQL 提问,或让外部 MCP Client 接入;两条入口的数据库请求都经过当前身份与授权、SQL 检查、受控执行、结果脱敏和持久审计。

自有 Go 问数服务和 Web 页面不需要 SQLBot 运行。SQLBot 的数据库调用可选经固定版本适配器接入 AgentSQL 安全网关;这不表示任意 SQLBot 部署即插即用。v4.12.0 只承诺发布说明列明的有限路径,尚未在用户真实业务系统验证。

v0.5.0 起 Apache-2.0 开源 · Go 单二进制交付(glibc / cgo 构建)· 自托管 · 无第三方遥测依赖

问数由 AgentSQL 自己理解问题、选择当前受权结构并生成 SQL;安全内核决定能否执行和交付结果。

AgentSQL 双入口请求链路 AgentSQL 自有 AI 问数和外部 MCP Client 分别进入 AgentSQL 安全内核,再访问当前授权的数据库;鉴权、解析、安检、决策、执行脱敏和留痕共用。 自有 AI 问数 外部 MCP Client AgentSQL问数 / MCP 安全内核 受权数据库 01 鉴权02 解析03 安检 04 决策05 执行与脱敏06 留痕
请求只在策略允许时进入执行阶段

二合一产品

自有问数 Agent 与独立 MCP Server

两个入口共用 AgentSQL 的安全执行内核。SQLBot 是可选接入方,不是自有问数的运行依赖。

01

独立 AI 问数 Agent

登录 AgentSQL 自有页面,选择已绑定数据源,用自然语言提问并核对 SQL、结果与审计。运行时无需 SQLBot。

查看问数步骤 →
02

独立 MCP Server 安全网关

外部 AI Agent 用专用 Agent Key 调用 MCP 工具;AgentSQL 逐次核验身份、授权、SQL、脱敏和审计。SQLBot 是固定版本适配的可选客户端。

查看 MCP 步骤 →
03

两种入口一起使用

员工在自有页面问数,外部 Agent 通过 MCP 查询。两边分别授权、分别管理凭据,共用安全执行与查询审计。

查看联合使用 →

AgentSQL 自有问数

从自然语言到受控结果,问数链路由 AgentSQL 自己完成

问数 Agent 负责理解问题和生成候选 SQL;安全网关负责最终执行许可。v4.12.0 的真模型、真 PostgreSQL 验收仅覆盖发布说明列明的路径。

01

识别当前身份

根据用户、工作空间与数据源绑定,选取当前允许的表、列和业务术语;旧会话不自动继承旧权限。

02

模型生成候选 SQL

由配置的模型在受权结构内理解问题、生成 SQL;本地固定 ONNX 模型帮助筛选表结构。模型回答仍需核对业务含义。

03

网关受控执行

SQL 经解析、表列与受限行规则、只读边界及资源预算检查;结果按规则脱敏并写入持久审计,不能证明安全时拒绝。

04

按当前权限交付

回答、历史重开与导出再次核对当前授权;撤权或模型、数据库、存储、审计故障不交付旧 SQL 或数据。

当前能力

能力矩阵,而非逐版功能清单

状态描述 v4.12.0 的已验路径与边界。本版重点核验重启后的历史与导出、当前权限变化和会话删除;原生页面隔离迟到的历史响应与下载;完整验收场景、覆盖评分和性能环境以正式发布说明为准,不将隔离测试当作生产 SLA。具体部署以发布说明和接入指南为准。

AgentSQL v4.12.0 的二合一产品能力及已验范围
能力状态使用边界
独立 AI 问数 Agent已验限定路径自有 Go/Web 问数;本地模型和运营方登记的 PostgreSQL 网关别名,无 SQLBot 运行依赖
历史与文件导出逐次复核当前授权历史重开与 CSV/XLSX 下载重新校验权限并留审计;权限变化、会话删除或服务故障时拒绝旧内容
受权向量索引预热按当前授权准备结构固定 ONNX 表向量支持后台预热与热索引复用;权限变化后重新核对,实测环境与耗时见发布说明
私有数据源绑定轮换已验限定路径运维侧预检新网关绑定与当前授权,以旧绑定 ID 和修订号比较提交;浏览器不可改目标和凭据
MCP Server 安全网关可独立部署stdio 与 HTTP MCP;当前身份、授权、受控执行、脱敏和持久审计逐次生效
SQLBot 接入可选固定基线经已验适配器调用 AgentSQL MCP;不等于任意 SQLBot 环境自动兼容
基本助手与页面嵌入已验限定路径单数据源基本游客助手及 Type 4 页面嵌入;来源与撤权仍受限
Type 1 高级助手限定配置,未完整复验固定 SQLBot Community v1.10.3、运营方登记的第三方目录、单用户显式行规则与受控 PostgreSQL 网关别名;需按接入指南配置宿主证书和来源
活动数据权限已验限定形态明确列出的当前工作空间用户、内建角色限定及非空白名单元数据;白名单不豁免行列过滤,未列用户故障关闭
更广社区兼容后续规划任意角色扩展、原版权限库直接迁移与余下社区版页面/API 尚未列为已支持

为什么需要安全闸门

让模型的数据库访问可约束、可解释、可追溯

模型生成的 SQL 具有不确定性。AgentSQL 把身份、权限、语法、风险与执行控制放在一次请求链路里,降低以下常见风险。

01

危险语句

幻觉可能产生缺少 WHERE 的 UPDATE / DELETE 等危险写法;是否拦截取决于启用的规则、策略与 Agent 能力配置。

02

越权访问

模型可能查询未授权表或列,需要在执行前按 Agent、数据源、对象与列权限做判断。

03

敏感数据返回

手机号、邮箱等字段可能以明文进入模型上下文,需要在结果返回前按配置做基础打码。

04

事后难以定责

缺少请求身份、SQL、规则命中与决策记录时,难以还原一次访问为何被放行或拒绝。

共同防线:安全网关不能替代数据库侧的最小权限、只读账号、安全视图与网络隔离。

六段链路

从身份到留痕,逐段收紧访问

QPS / 连接数限制属于入口与规则控制。

  1. 01

    鉴权

    验证 API Key,加载 Agent、数据源与策略,失败即关闭。

  2. 02

    解析

    按 PostgreSQL/MySQL 方言构建 AST,畸形 / 多语句等异常按规则拒绝。

  3. 03

    安检

    先做不触库的静态检查,静态未拒绝时才建立受控连接做只读 EXPLAIN / 元数据等动态检查。

  4. 04

    决策

    按 deny > approve > warn > allow 聚合为放行 / 告警 / 拦截 / 转人工。

  5. 05

    执行与脱敏

    仅 allow/warn 执行,限制连接、超时与结果行数,结果返回前按列打码。

  6. 06

    留痕

    进入 SQL 流水线的 allow/warn/deny/approve/error 决策同步写入应用层审计,审计失败按设计 fail-closed;工具层前置拒绝可能没有持久流量审计。

可复现演示

演示与真实运行截图

Live Demo 仅连接合成演示库,提供只读或受控剧本并定期重置;不得输入真实数据、凭据、令牌或其他秘密。线上问数仅展示模拟界面,未接入真实模型。

这是非生产配置。请先阅读演示安全须知再进入控制台。

打开 Live Demo 入口 体验模拟问数

场景 1只读查询放行

受控只读查询返回 5 行,并生成审计编号。

只读查询放行,返回 5 行并生成审计编号
场景 2无 WHERE 写请求拒绝

无 WHERE 写请求最终被拒绝;命中项包括 deny 级 R002、R010、DEMO_NON_SELECT 与 approve 级 R202(R202 本身不是 deny 规则)。

无 WHERE 更新在触库前被多条规则拒绝,语句未执行
场景 3敏感结果打码

手机号与邮箱按最终结果列名匹配,在返回前执行基础打码。

手机号和邮箱结果列被打码,共 10 个单元格
场景 4大结果风险告警

R005 对预估约 600 行的无 LIMIT 查询给出告警,并仅返回前 20 行。

R005 对预估约 600 行的无 LIMIT 查询告警,仅返回前 20 行
场景 5未授权对象拒绝

查询未获授权的 internal_notes,被 R010 拒绝且未执行。

查询未授权 internal_notes 被 R010 拒绝且未执行
场景 6审计证据链

审计详情记录基本信息、六段时间线、SQL 原文、归一化 SQL、命中规则,并明确标记被拦语句未执行。

审计详情基本信息与六段时间线上半被拦语句标记未执行,留存 SQL 原文、归一化 SQL 与命中规则

实时大屏

把风险变化放进可观测视图

最近风险事件经带鉴权的 SSE(/api/v1/stream)实时推送,断线降级轮询;KPI、趋势与分布支持手动与约 30 秒自动刷新;Prometheus 指标可接入现有监控。

总请求、拦截、待审批等 KPI 与近阶段请求趋势 决策分布环图与最近风险事件流

审计与留痕

从决策列表回看完整证据链

提供应用层审计列表、组合筛选、证据链查看与 JSONL 导出,便于追溯与安全分析;PDF 合规报告在路线图中。它不是法规级 WORM,也不能阻止数据库 owner/superuser 直接改底层数据。

核心特性

面向受控数据库访问的完整路径

MCP 双入口

保留 stdio 与有状态 Streamable HTTP /mcp;新增独立的 MCP 2026-07-28 无状态 HTTP 入口 /mcp/2026-07-28,每个请求重新鉴权。新入口暂不提供 B5 跨请求工具。

默认拒绝

组合 API Key、Agent 能力档位、对象/列授权与 AST 规则;异常或关键依赖失败时按设计 fail-closed。

受控读写

提供只读保护、危险 SQL 拦截、EXPLAIN 风险、超时、连接/QPS/结果行数上限与人工审批。

结果脱敏

手机号 / 邮箱按列名匹配做基础打码,并非完整 DLP;数据源口令用 32 字节密钥做 AES-256-GCM 加密存储。

控制面

默认零配置 SQLite,可选 PostgreSQL 15+;PG18 为基准。支持单库或独立元数据/审计双库及 SQLite→PG 迁移,独立审计库为可选布局而非默认。

可观测与控制台

提供 Prometheus 指标、健康/就绪探针、Grafana 面板,以及内嵌 Web 控制台。

任务级临时只读授权

申请人提交一个 Agent、一个数据源和一条完全匹配的简单 SELECT;同租户另一位有权用户核对并审批,批准后申请人一次性领取最长 24 小时的 Key。Key 可撤销,原有对象权限、规则、脱敏与审计仍生效。

接入向导

在同一流程选择 Agent 与数据源,检查连接、生成 Dify / Inspector 无密钥接入说明、离线解释目标 SQL,并用真实调用的审计 ID 定位记录。预检不执行 Agent SQL。

升级前版本检查

agentsqlctl migrate --check 只读报告控制库 schema 状态;生产升级仍须备份数据库与配对密钥,再由迁移账号显式执行迁移。

文档 / 下载

按使用方式选择操作指南

独立问数、独立 MCP 网关、两者一起使用分别给出步骤与验收点;以下在线文档以 main 当前内容为准;PDF 为 v4.6.0 归档,v4.12.0 的正式边界以发布说明为准。

01

快速上手

用本地 Live Demo 看效果,再按默认拒绝的顺序接入自己的数据库。

02

使用手册

按控制台菜单了解审计、Agent、数据源、权限、规则、审批与脱敏边界。

03

MCP 接入指南

对照客户端能力选择现有 /mcp、独立无状态 /mcp/2026-07-28 或 stdio,查看工具与拒绝边界。

更多资料

部署指南 · 当前运维手册 · 离线交付指南 · SQLBot 接入 · Type 1 高级助手部署 · 在线演示说明

v4.12.0 提供 Linux amd64 / arm64 安装包与多架构镜像;Live Demo 入口仅使用合成数据。

GHCR 多架构拉取(自动匹配 amd64 / arm64)

docker pull ghcr.io/cuipengdba/agentsql:v4.12.0

一键安装(Linux amd64 / arm64)

curl -fsSL https://github.com/cuipengdba/agentsql/releases/download/v4.12.0/install.sh | sudo sh -s -- install --version v4.12.0

v0.4.0 起提供 linux/arm64 原生 glibc 包 · x86_64 / amd64 或 aarch64 / arm64 · glibc ≥ 2.28 · systemd · 需要 sudo/root

兼容性

数据库兼容矩阵

此矩阵汇总历史已核验范围;v4.12.0 同包实测以发布说明为准。注册、协议连接、受控只读与完整防护是不同等级;实际支持受指定版本、拓扑和验收证据限制。

8 大类 / 30 款已注册openGauss 与瀚高 HighGo 已计入;另列金仓 KingbaseES V9 的指定实例 PG 协议验证
AgentSQL 数据库兼容矩阵:8 大类、30 款已注册数据库,金仓 KingbaseES V9 另列,共 31 行。
类别数据库适配状态边界说明
关系型PostgreSQL 14–18🟢 已适配 · 完整防护全链路实测通过
MySQL 8.0🟢 已适配 · 完整防护全链路实测通过
Oracle AI Database 26ai Free🔵 指定版本受控只读FREEPDB1、23.26.3.0.0:严格 TCPS、可选有界 PLAN_TABLE、最小权限 HTTP MCP、R010、脱敏、撤权与隔离证书轮换;钱包、mTLS、RAC、商业版与完整生产支持未验证
达梦 DM8🟢 指定场景闭环Pack3、COMPATIBLE_MODE=0 的验证 TLS 与有界真库只读链路
崖山 YashanDB🔵 指定版本受控只读23.4.1.109 指定实例:最小权限 HTTP MCP、R010、脱敏、双客户端与独立持久审计通过;TLS、主备和完整生产支持未验证
SQL Server 2025 Developer🔵 指定版本受控只读17.0.5015 Linux x86_64 单实例:严格 TLS、隔离证书轮换、SELECT/SHOWPLAN 撤权、R010、脱敏、持久审计与断线恢复;Windows、Always On、只读副本和完整生产支持未验证
openGauss 社区版 7.0.0 LTS🔵 指定版本受控只读独立类型,build 2397a86f 指定单实例:严格 TLS、普通物理单表窄 SELECT、真实 MCP、R010、脱敏、审批、双客户端、权限撤销及故障关闭通过;GaussDB 商业版、主备与完整生产支持未验证
Vastbase G100🔵 指定版本受控只读V3.0 Build 9 PG 模式:有界单表 SELECT、授权、脱敏、MCP 和持久审计实测;v1.8.0 验证 TLS、证书与凭据轮换。临时许可,HA、其他版本和生产负载未测
瀚高 HighGo🔵 指定版本受控只读独立 highgo 类型;9.0.10 企业版 PG 模式的有界 SELECT、权限、掩码、客户端与故障链路通过
金仓 KingbaseES V9(另列)🟢 指定场景闭环V9R1C10 PG 模式基础闭环,不计入 30
键值Redis🔵 指定版本受控只读8.2.9 TLS/ACL:精确键与 Hash 字段授权;两数据节点、三 Sentinel 拓扑验证切主后有界读取、脱敏与审计。Cluster、写入和完整生产支持未验证
Valkey🔵 指定版本受控只读8.1.10 TLS/ACL:与 Redis 相同的窄键/Hash 字段合同,独立验证两数据节点、三 Sentinel 切主。Cluster、写入和完整生产支持未验证
Memcached🔷 已适配 · 连接级ping / 版本 / Schema / 只读预览
文档MongoDB🔵 指定版本受控只读7.0.45 三成员 TLS 副本集:批准索引的有界读取、精确集合/字段授权、显式投影、脱敏、持久审计和切主验证通过;分片、写入和完整生产支持未验证
Couchbase🔷 已适配 · 连接级同口径
CouchDB🔷 已适配 · 连接级同口径
宽列Cassandra🔷 已适配 · 连接级ping / 版本 / Schema / 只读预览
ScyllaDB🔷 已适配 · 连接级同口径
HBase🔷 已适配 · 连接级同口径
图Neo4j🔷 已适配 · 连接级ping / 版本 / Schema / 只读预览
JanusGraph🔷 已适配 · 连接级同口径
NebulaGraph🔷 已适配 · 连接级同口径
时序InfluxDB🔷 已适配 · 连接级ping / 版本 / Schema / 只读预览
Prometheus🔷 已适配 · 连接级同口径
TimescaleDB🔷 已适配 · 连接级同口径
OLAPClickHouse🔵 指定版本受控只读26.8.31.2、TLS 单节点:MergeTree 单表显式列、String 等值条件及可收紧的查询资源预算;最小权限、脱敏、持久审计和双客户端通过。集群、其他版本及完整生产支持未验证。
Apache Doris🔷 已适配 · 连接级同口径
StarRocks🔷 已适配 · 连接级同口径
向量Milvus🔵 指定版本受控只读2.6.25 TLS 单机:精确 collection/字段授权、单向量 COSINE 检索及可选权威租户等值过滤;来源脱敏和持久审计。其他版本、集群与完整生产支持未验证。
Qdrant🔷 已适配 · 连接级同口径
Weaviate🔷 已适配 · 连接级同口径
完整防护:解析 / 授权 / 受控执行 / 脱敏 / 审计 受控只读:连接 / 元数据 / 只读查询子集 连接级:ping / 版本 / Schema / 只读预览

各数据库的指定实例、协议路径与安全边界以矩阵和对应验收记录为准;协议兼容或连接成功不等于厂商认证或完整生产支持。所有业务访问仍须经过 AgentSQL,并使用最小权限账号。详见 安全边界和 历史验收记录。

数据库生态

按已验能力接入,而不是按数据库数量承诺

上方矩阵区分完整防护、指定版本受控只读和连接级能力。国产数据库、NoSQL 与向量库都以具体版本、模式和验收场景为边界;接入新环境前应重新核验权限、故障关闭和审计。

查看数据库兼容矩阵 · 安全边界 · 历史版本验收

开始使用

快速开始

在 Docker 与依赖网络已就绪时通常数分钟可完成(受网络环境影响)。GHCR tag 会自动匹配 linux/amd64 或 linux/arm64;源码路径仍以仓库 README 为准。

GHCRamd64 / arm64
# Docker 自动选择当前平台镜像
docker pull ghcr.io/cuipengdba/agentsql:v4.12.0

# 推荐使用仓库 quickstart 生成凭据并启动
curl -fsSL https://raw.githubusercontent.com/cuipengdba/agentsql/v4.12.0/scripts/quickstart.sh -o quickstart.sh
sh quickstart.sh --version v4.12.0
默认仅绑定 127.0.0.1:7780
Live Demo合成数据
# 复制演示环境样例并替换占位凭据
cp examples/docker/demo.env.example demo/demo.env

# 启动或重置演示环境
bash ./demo/reset.sh

# Windows PowerShell
.\demo\reset.ps1
使用 docker-compose.demo.yml,访问 http://127.0.0.1:17880
部署提示:默认仅绑定回环;不要提交 .env;SECRET 与数据库要成对备份;不要把 7780、17880 或数据库端口暴露公网。

安全边界

明确能力范围,再设计纵深防御

以下限制应与数据库权限、网络策略、备份与运维控制一起评估。

  • 连接范围只防护经过网关的连接,直连的 owner/superuser/DBA 不在范围内。
  • 结果脱敏按已验证的结果列来源实施脱敏,来源无法证明时保守阻断;不代表完整 DLP。
  • 应用审计审计为应用层留痕、非法规级 WORM,不防高权限 DBA。
  • JOIN 授权表级授权始终执行;支持的 PostgreSQL B2 路径还核验可证明的投影列来源,不能证明时拒绝,不自动扩展到所有方言。
  • 通配权限* / schema.* 属于宽范围授权,应谨慎使用;实际结果仍受适用表/列策略、规则与数据库权限约束。
  • 列名回溯已验证的表达式、聚合、CAST、集合运算与 CTE 路径追踪受保护来源;未知视图或函数内部语义不作完整证明,不能证明安全的非空值保守阻断。
  • SQL / 事务边界PostgreSQL 的 B2 列级授权、旧 /mcp 入口的 B5 跨请求逻辑会话与计划事务均出厂默认开启;新无状态入口不提供 B5 工具。MySQL 不进入 B2 PostgreSQL 路径,且不支持 B5 跨请求事务。每个 operation 仍只允许一条顶层 SQL,并受预检计划和会话安全边界约束。
  • 任务授权边界临时 Key 只适用于一条完全匹配的简单 SELECT;不授予写入或越过 Agent、对象、规则与数据库账号权限。
  • 审批边界审批通过不会自动执行 SQL;原 Agent 可在有效期内用审批单号调用 execute_approved 一次。执行前重新核验身份、策略与数据源,拒绝或结果未知时不会自动重试。
  • 演示环境公网 Demo 仅使用合成数据与只读或受控剧本,不接真实业务库。
  • 部署边界双网关只读拓扑、OAuth/OIDC 与租户治理有指定环境验收;任意副本、有状态事务 HA 与未验厂商生产支持不作承诺。

后续范围

按能力推进,不在首页重复历史版本

已发布的详细变更与验收保留在 GitHub Releases;当前支持边界以上方能力矩阵和 v4.12.0 发布说明为准。

  1. 后续验收社区版页面/API、连接与模型组合继续逐入口验证

开源许可

Apache License 2.0

AgentSQL 当前版本的源码按 Apache License 2.0 发布。使用、修改和分发的权利与义务以仓库中的 LICENSE 和 NOTICE 为准。

常见问题

FAQ

它和 MCP 是什么关系?

它本身是一个 MCP Server;MCP 是模型与外部工具 / 数据通信的标准协议。

不用 MCP,模型就不能连数据库吗?

可以,应用也可用自研 API、数据库代理或服务端托管凭据连接;AgentSQL 提供的是面向 MCP 的统一身份、策略、受控执行与审计入口,而非唯一连接方式。

AgentSQL 问数与 SQLBot 是什么关系?

AgentSQL 自有 Go 问数 Agent、Web 页面与模型编排,不需要 SQLBot 运行。SQLBot 是可选接入方,可经已验适配器把数据库执行交给 AgentSQL MCP 安全网关;这不意味着所有 SQLBot 功能自动兼容。详细边界见 v4.12.0 发布说明。

性能如何?

静态判定在毫秒级;在内存 fake executor、20 worker / 20 万样本、剥离真实库网络与执行时间的基准中,网关 CPU 路径 P99 约 1.81 ms,该数字不是端到端查询延迟,真实延迟取决于连接、EXPLAIN、数据库执行与审计存储。

个人 / 公司能使用吗?

当前版本按 Apache-2.0 发布。请阅读仓库中的 LICENSE 和 NOTICE,确认使用、修改与分发条件。

支持哪些数据库 / 客户端?

请查看上方兼容矩阵,其中列出业务库、控制面、MCP 传输、宿主与部署范围。

社区 / 联系

关注公众号,或直接联系作者

关注微信公众号了解 PostgreSQL / AgentSQL 与数据库安全技术,或添加作者个人微信,备注「AgentSQL」。

微信公众号 CP的PostgreSQL厨房 二维码
公众号:CP的PostgreSQL厨房扫码关注
作者崔鹏个人微信二维码
个人微信:崔鹏扫码添加好友