跳转到主要内容
hs-sql-agent
2.0.3
文档 2.0.3
文档 运维

配置参考

配置独立 Docker、标准 HsSqlAgent.Hosting 或模块化 HsSqlAgent.Server Host。

hs-sql-agent 有三种使用方式,但安全边界一致。

方式配置模型
Docker / ToolBox.env.example 定义的完整独立服务环境配置
HsSqlAgent.Hosting通过 ASP.NET Core configuration 使用相同的标准第一方组合
HsSqlAgent.ServerHost 明确选择各 Capability 自己的 Options

DML 审批

MCP Elicitation 是第一方默认 Provider。独立 Docker 与 HsSqlAgent.Hosting 可切换到官方通用 Webhook adapter,而无需改变 SQL 执行 primitive。

环境变量用途
DML_APPROVAL_PROVIDERMcpElicitationWebhook
DML_APPROVAL_WEBHOOK_ENDPOINT外部审批服务 endpoint
DML_APPROVAL_WEBHOOK_CALLBACK_URL完成 pending approval 的公开 callback URL
DML_APPROVAL_WEBHOOK_SIGNING_SECRETWebhook 签名 secret,至少 32 UTF-8 bytes
{
  "DmlApproval": {
    "Provider": "Webhook",
    "Webhook": {
      "Endpoint": "https://approval.example.com/hssqlagent/requests",
      "CallbackUrl": "https://sql-agent.example.com/api/hs-sql-agent/approvals/webhook",
      "SigningSecret": "replace-with-a-unique-secret-at-least-32-bytes"
    }
  }
}

未知 Provider 名称会在启动时失败。异步 Provider 可返回 Pending;Durable Resume 需要 Admin Store,以保存受保护的 Resume Intent 与 Approval Fingerprint。

模块化 HsSqlAgent.Server 可注册 HsSqlAgent.Approvals.Webhook 或自己的 IDmlApprovalProvider。审批 Provider 不会获得 Database Connection、Transaction、已验证 Plan 或 commit primitive。

应用与 Control Plane

独立服务配置涵盖 Application Hosting、Admin Database、MCP HMAC/Public Endpoint、内置 Admin JWT、SMTP/Password Reset、OIDC/MFA、Bootstrap、Audit、Health、Delivery,以及 Cache、Rate Limit、Policy Sync、Outbound Delivery Sync、SQL Concurrency、Prometheus 和 OTLP。

HMAC_KEYJWT_KEY 必须使用不同且至少 32 bytes 的 secrets。启用受保护身份状态时请持久化 DATA_PROTECTION_KEY_PATH

单机与分布式 Provider

单机可以使用 SQLite Admin Database 与 process-local Memory Provider。多 Instance 时,使用共享 Admin Database,并以 Redis-backed Provider 处理 Cache、Rate Limiting、Security Policy Sync、Outbound Delivery Sync 与 SQL Concurrency。

Observability

Prometheus 使用 PROMETHEUS_ENABLEDPROMETHEUS_HOSTPROMETHEUS_PORT 的独立 Listener;OTLP 使用 OTLP_ENDPOINTOTEL_SERVICE_NAME

Embedded .NET Host

HsSqlAgent.Hosting 负责完整标准组合;HsSqlAgent.ServerAddHsSqlAgentCore() 开始,只验证实际选择 Capability 的 Options。Host Authorization 可替换内置 Identity,DML 审批 Provider 也可以独立替换。

另见 部署ASP.NET Core 集成Safe DML