桃子桃子快讯
返回首页
工具

AgentGate 开源:给 AI 智能体调用 SaaS 加一道可验签的审计网关

开发者推出开源 API 网关 AgentGate,让 AI 智能体代用户调用 GitHub、Slack、Google W…

2026.08.30 · 周日4 分钟阅读

AgentGate 是一款面向 AI 智能体的轻量级 API 网关,已在 GitHub 开源并在 Hacker News 发起 Show HN。它解决的核心问题是:当 AI 智能体替用户去调用 GitHub、Slack、Google Workspace 等 SaaS 服务时,如何既不把用户的 OAuth 令牌交给模型,又能为每一次调用留下不可抵赖、可独立验证的操作证据。

设计思路:令牌不外露,每次动作都有签名回执

AgentGate 在智能体与上游 SaaS API 之间充当一个中间层。智能体只持有 AgentGate 颁发的 API Key,发起请求时附带「服务名、操作名、代谁执行」等元数据;真正涉及凭据的 OAuth 令牌、加密存储、请求转发则全部由网关侧完成,模型全程看不到用户令牌。

更关键的是「签名回执」机制:无论调用成功还是失败(例如用户尚未绑定账号,返回 token_missing),网关都会向本地 SQLite 日志中追加一条带签名的 receipt,形成无空缺的链式记录。这意味着审计人员拿到的不是「成功动作清单」,而是包含尝试、失败、成功在内的完整轨迹,避免静默绕过。

快速上手:一条 Docker 命令即可启动

项目目前以容器镜像形式发布到 GHCR,无需 Go 工具链或本地编译:

  • 启动网关:docker run 加载 ghcr.io/clawdlinux/agentgate:latest,挂载本地数据卷并设置 AGENTGATE_VAULT_KEYAGENTGATE_ADMIN_SECRET 两个环境变量。
  • 首次启动会自动生成一个 agent API Key 并写入日志,仅显示一次,需要立即保存。
  • 调用示例:通过 POST /v1/act 发起动作,Header 中携带 Bearer Token,请求体描述服务、操作和代谁执行,例如列出 GitHub 仓库。
  • 接入真实账号:先在 GitHub 注册 OAuth App,把 Client ID/Secret 以环境变量传入,再调用 /admin/link 获取授权链接,用户在浏览器中完成授权后即可发起真实调用。

容器本身采用 FROM scratch 构建,没有 shell 也没有包管理器,从设计上就排除了「在容器内偷改状态」的可能。

离线审计:无需网关在线即可验签

回执的可验证性是这套方案的卖点之一。审计流程不依赖 AgentGate 服务是否在线、不依赖 Docker 是否运行,只读本地文件:

  • 从网关导出 trust.json(公钥信任根),并从 GitHub Releases 下载与平台匹配的独立验证器 agentgate-verify
  • 验证器读取 SQLite 日志与本地 trust.json,给出 PASS 结果;若附 --expected-head <seq>:<hash>,还能在链完整性的基础上断言「没有漏掉的序号」。
  • 支持 --format json 输出机器可读结果,也可用 --quiet 只打印 PASS 摘要。

这种「日志 + 信任根 + 独立验证器」的三件套,理论上任何拿到副本的第三方都能复验,包括从未见过该项目仓库的人。

架构概览与适用场景

请求路径为:智能体 → POST /v1/act → 认证中间件 → 服务注册中心 → Vault 取令牌 → Proxy 转发上游 → 返回响应。网关侧还附带限流、审计日志、OAuth 回调等模块。

目前支持的上游服务包括 GitHub、Slack、Google Workspace,主要面向需要让 AI 智能体在受控范围内操作用户工作区的开发者,例如:

  • 企业内让模型代发 Slack 消息、读写 Google Drive 文件;
  • 让模型在 GitHub 上创建 Issue、合并 PR,但要求事后可审计;
  • 任何需要「代客执行 + 事后追责」的智能体 SaaS 集成场景。

项目代码与镜像已在 GitHub(Clawdlinux/agentgate)公开,开发者可自行部署或基于源码二次改造。

信源