独立 AI 问数 Agent
登录 AgentSQL 自有页面,选择已绑定数据源,用自然语言提问并核对 SQL、结果与审计。运行时无需 SQLBot。
查看问数步骤 →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 的安全执行内核。SQLBot 是可选接入方,不是自有问数的运行依赖。
登录 AgentSQL 自有页面,选择已绑定数据源,用自然语言提问并核对 SQL、结果与审计。运行时无需 SQLBot。
查看问数步骤 →外部 AI Agent 用专用 Agent Key 调用 MCP 工具;AgentSQL 逐次核验身份、授权、SQL、脱敏和审计。SQLBot 是固定版本适配的可选客户端。
查看 MCP 步骤 →员工在自有页面问数,外部 Agent 通过 MCP 查询。两边分别授权、分别管理凭据,共用安全执行与查询审计。
查看联合使用 →AgentSQL 自有问数
问数 Agent 负责理解问题和生成候选 SQL;安全网关负责最终执行许可。v4.12.0 的真模型、真 PostgreSQL 验收仅覆盖发布说明列明的路径。
根据用户、工作空间与数据源绑定,选取当前允许的表、列和业务术语;旧会话不自动继承旧权限。
由配置的模型在受权结构内理解问题、生成 SQL;本地固定 ONNX 模型帮助筛选表结构。模型回答仍需核对业务含义。
SQL 经解析、表列与受限行规则、只读边界及资源预算检查;结果按规则脱敏并写入持久审计,不能证明安全时拒绝。
回答、历史重开与导出再次核对当前授权;撤权或模型、数据库、存储、审计故障不交付旧 SQL 或数据。
独立问数界面
前两张来自同一正式签名 v4.12.0 安装包的隔离验收:真实本地 Qwen3-4B、受控网关与合成 PostgreSQL 数据。分别展示当前受权历史和导出故障后清空结果;故障由验收夹具注入。后两张为“功能示意、模拟数据”,不计作实测。
当前能力
状态描述 v4.12.0 的已验路径与边界。本版重点核验重启后的历史与导出、当前权限变化和会话删除;原生页面隔离迟到的历史响应与下载;完整验收场景、覆盖评分和性能环境以正式发布说明为准,不将隔离测试当作生产 SLA。具体部署以发布说明和接入指南为准。
| 能力 | 状态 | 使用边界 |
|---|---|---|
| 独立 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 把身份、权限、语法、风险与执行控制放在一次请求链路里,降低以下常见风险。
幻觉可能产生缺少 WHERE 的 UPDATE / DELETE 等危险写法;是否拦截取决于启用的规则、策略与 Agent 能力配置。
模型可能查询未授权表或列,需要在执行前按 Agent、数据源、对象与列权限做判断。
手机号、邮箱等字段可能以明文进入模型上下文,需要在结果返回前按配置做基础打码。
缺少请求身份、SQL、规则命中与决策记录时,难以还原一次访问为何被放行或拒绝。
六段链路
QPS / 连接数限制属于入口与规则控制。
验证 API Key,加载 Agent、数据源与策略,失败即关闭。
按 PostgreSQL/MySQL 方言构建 AST,畸形 / 多语句等异常按规则拒绝。
先做不触库的静态检查,静态未拒绝时才建立受控连接做只读 EXPLAIN / 元数据等动态检查。
按 deny > approve > warn > allow 聚合为放行 / 告警 / 拦截 / 转人工。
仅 allow/warn 执行,限制连接、超时与结果行数,结果返回前按列打码。
进入 SQL 流水线的 allow/warn/deny/approve/error 决策同步写入应用层审计,审计失败按设计 fail-closed;工具层前置拒绝可能没有持久流量审计。
可复现演示
Live Demo 仅连接合成演示库,提供只读或受控剧本并定期重置;不得输入真实数据、凭据、令牌或其他秘密。线上问数仅展示模拟界面,未接入真实模型。
这是非生产配置。请先阅读演示安全须知再进入控制台。
核心特性
保留 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 的正式边界以发布说明为准。
用本地 Live Demo 看效果,再按默认拒绝的顺序接入自己的数据库。
按控制台菜单了解审计、Agent、数据源、权限、规则、审批与脱敏边界。
对照客户端能力选择现有 /mcp、独立无状态 /mcp/2026-07-28 或 stdio,查看工具与拒绝边界。
部署指南 · 当前运维手册 · 离线交付指南 · SQLBot 接入 · Type 1 高级助手部署 · 在线演示说明
v4.12.0 提供 Linux amd64 / arm64 安装包与多架构镜像;Live Demo 入口仅使用合成数据。
docker pull ghcr.io/cuipengdba/agentsql:v4.12.0curl -fsSL https://github.com/cuipengdba/agentsql/releases/download/v4.12.0/install.sh | sudo sh -s -- install --version v4.12.0v0.4.0 起提供 linux/arm64 原生 glibc 包 · x86_64 / amd64 或 aarch64 / arm64 · glibc ≥ 2.28 · systemd · 需要 sudo/root
兼容性
此矩阵汇总历史已核验范围;v4.12.0 同包实测以发布说明为准。注册、协议连接、受控只读与完整防护是不同等级;实际支持受指定版本、拓扑和验收证据限制。
| 类别 | 数据库 | 适配状态 | 边界说明 |
|---|---|---|---|
| 关系型 | 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 | 🔷 已适配 · 连接级 | 同口径 | |
| OLAP | ClickHouse | 🔵 指定版本受控只读 | 26.8.31.2、TLS 单节点:MergeTree 单表显式列、String 等值条件及可收紧的查询资源预算;最小权限、脱敏、持久审计和双客户端通过。集群、其他版本及完整生产支持未验证。 |
| Apache Doris | 🔷 已适配 · 连接级 | 同口径 | |
| StarRocks | 🔷 已适配 · 连接级 | 同口径 | |
| 向量 | Milvus | 🔵 指定版本受控只读 | 2.6.25 TLS 单机:精确 collection/字段授权、单向量 COSINE 检索及可选权威租户等值过滤;来源脱敏和持久审计。其他版本、集群与完整生产支持未验证。 |
| Qdrant | 🔷 已适配 · 连接级 | 同口径 | |
| Weaviate | 🔷 已适配 · 连接级 | 同口径 |
各数据库的指定实例、协议路径与安全边界以矩阵和对应验收记录为准;协议兼容或连接成功不等于厂商认证或完整生产支持。所有业务访问仍须经过 AgentSQL,并使用最小权限账号。详见 安全边界和 历史验收记录。
开始使用
在 Docker 与依赖网络已就绪时通常数分钟可完成(受网络环境影响)。GHCR tag 会自动匹配 linux/amd64 或 linux/arm64;源码路径仍以仓库 README 为准。
# 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.0127.0.0.1:7780# 复制演示环境样例并替换占位凭据
cp examples/docker/demo.env.example demo/demo.env
# 启动或重置演示环境
bash ./demo/reset.sh
# Windows PowerShell
.\demo\reset.ps1docker-compose.demo.yml,访问 http://127.0.0.1:17880.env;SECRET 与数据库要成对备份;不要把 7780、17880 或数据库端口暴露公网。安全边界
以下限制应与数据库权限、网络策略、备份与运维控制一起评估。
* / schema.* 属于宽范围授权,应谨慎使用;实际结果仍受适用表/列策略、规则与数据库权限约束。/mcp 入口的 B5 跨请求逻辑会话与计划事务均出厂默认开启;新无状态入口不提供 B5 工具。MySQL 不进入 B2 PostgreSQL 路径,且不支持 B5 跨请求事务。每个 operation 仍只允许一条顶层 SQL,并受预检计划和会话安全边界约束。execute_approved 一次。执行前重新核验身份、策略与数据源,拒绝或结果未知时不会自动重试。常见问题
它本身是一个 MCP Server;MCP 是模型与外部工具 / 数据通信的标准协议。
可以,应用也可用自研 API、数据库代理或服务端托管凭据连接;AgentSQL 提供的是面向 MCP 的统一身份、策略、受控执行与审计入口,而非唯一连接方式。
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」。