OpenConnector:把 1000 多个 SaaS 账号的凭证,挡在 AI Agent 外面
开源身份验证网关,通过 SDK、CLI、MCP、HTTP 和 OpenAPI 将 1000 多个 SaaS 提供商连接到 AI 代理。
秒懂
- 它是什么?
- OpenConnector 是一个开源连接器网关,让 AI Agent 通过 SDK、CLI、MCP 或 HTTP 调用用户已有的 SaaS 账号,而凭证本身不进入 Agent 进程。本文基于仓库文档,说明它的运行机制、部署路径,以及它不适合哪些场景。
- 适合谁用?
- OpenConnector 适合那些需要让 Agent 访问用户既有工作账号,但又不愿把 API 密钥或 OAuth token 直接交给 Agent 进程的产品团队。它特别适合已经用 Cloudflare Workers 或想从 OOMOL 托管起步、后续再迁移到自托管的项目。
- 能商用吗?
- 可以。Apache-2.0 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
- 还在维护吗?
- 在维护。仓库最近一次提交在 1 天前。
- 用什么语言写的?
- 主要是 TypeScript(依据 GitHub 的语言统计)。
以上回答依据项目的 GitHub 数据(最近同步于 2026年9月15日)和我们的分析,不构成法律意见。
开源项目深度解析
它解决的是凭证扩散问题,不是 API 封装问题
很多 AI Agent 项目卡在一个地方:Agent 要调用用户的 Gmail、Notion 或 GitHub,但直接把凭证塞给 Agent 进程,等于把钥匙交给了一个可能被提示注入攻击的进程。OpenConnector 把这一层单独拆出来。它的定位是连接器网关,不是又一个 API 聚合库。文档里明确写着,Agent 获得的是元数据、安全账号标签和执行结果,真正的 provider 密钥留在运行时边界后面。这个边界是它的核心卖点,也是它区别于普通 SDK 的关键。
一次连接,多处调用:账号、Action 与策略的分离
从仓库的架构图看,数据流是单向的。Agent 通过 SDK、CLI、MCP 或 HTTP 到达网关,网关内部依次经过凭证与 OAuth 边界、提供商目录、Action 执行器、令牌与作用域策略,最后是运行日志。用户的应用账号只连接一次,之后所有 Agent 都通过连接别名来引用它。这里有个设计取舍:它把连接身份和调用身份分开,连接身份是用户账号,调用身份是运行时令牌。这样做的好处是撤销某个 Agent 的访问权限时,不需要重新走一遍 OAuth。代价是你要管理两套凭证体系,配置复杂度比直接调 API 高。
Action 契约是可检查的,这是它和 Pipedream 的实质差异
OpenConnector 把每个 Action 定义为可检查的契约,包含请求与响应 schema、所需 scope,以及懒加载的执行器源码。这意味着调用方在真正执行之前,就能看到这个 Action 会请求哪些权限、返回什么结构。README 把它定位为 Pipedream 和 Composio 的替代品,但替代的方式不同。Pipedream 的强项是事件驱动的工作流编排,而 OpenConnector 把重心放在契约的可检查性和运行时策略上。它的 Action 执行器是开源的,schema 是显式的,这让审计成为可能。对于需要向客户证明 Agent 不会越权的产品团队,这一点比黑盒 API 更有说服力。
三条部署路径,运维负担从零到完全自管
部署选项分成三档。第一档是 OOMOL 托管,不需要部署,也不需要自己创建 OAuth app,适合快速验证。第二档是 Cloudflare Workers,配合 D1、R2 和 Static Assets,存储和 OAuth app 都由你管理。第三档是本地或自有基础设施,用 Docker 或 Node.js,存储用 SQLite 或 PostgreSQL,临时文件传输用本地目录或 S3 兼容存储。这三档对应不同的信任边界。托管模式把凭证放在 OOMOL 的运行时里,自托管则完全在你的控制下。值得注意的一点是,文档说同一套 provider id、Action id、schema 和契约在开源与商业 SaaS 部署之间是一致的,这意味着从托管迁移到自托管时,调用方的代码不需要改。这是一个实际的迁移优势,但前提是你一开始就按这套约定写代码。
运行方式:从 oo CLI 到 MCP 再到裸 HTTP
开发者工具有四层。Connector SDK 是 TypeScript 写的 HTTP 客户端,自托管用 OpenConnector 类,OOMOL 托管用 Connector 或 ProjectConnector。oo CLI 是本地 Agent 的中继,可以用 oo connector 子命令搜索、检查并运行 Action。MCP 端点暴露在 http://localhost:3000/mcp,这意味着任何支持 MCP 的 Agent 主机都能直接挂载这些 Action。最后是裸 HTTP,调用 /v1/actions/* 路径,或者读取 /openapi.json 来生成客户端。这四层覆盖了从命令行调试到生产调用的全部场景。README 提到端点细节、响应信封、认证头和 MCP 工具格式都在 docs/runtime-api.md 里,但这份文档在给出的材料里被截断了,具体格式无法确认。
Dashboard 与管理面:策略、令牌和运行日志
仓库自带一个本地 Dashboard,用于浏览连接器、配置凭证、创建运行时令牌和检查运行时用量。管理面提供的控制包括连接身份、scope、运行时令牌、Action 的允许与阻止策略、临时文件传输,以及脱敏后的运行日志。这里有一个值得注意的细节:日志是脱敏的。这意味着排查问题时,你看到的是经过处理的日志,而不是原始请求体。对安全是好事,但对调试可能是个障碍。如果你需要精确复现某个失败的 Action 调用,脱敏日志可能不够用。文档没有说明脱敏的粒度,这一点需要实测才能确认。
它不擅长什么:简单集成和低延迟场景
OpenConnector 的架构决定了它不适合两类场景。第一类是只需要一两个固定 API 的简单集成,比如只调用一个天气 API。为此引入一个网关、一套凭证体系和一套 Action 契约,是过度的。第二类是对每次调用的延迟极其敏感的场景。请求要经过网关的凭证检查、策略匹配、Action 执行器加载,然后才到达 provider。每一层都有开销。文档没有给出任何延迟数字,但从架构上看,它比直连 API 多至少两跳。另外,它依赖 SQLite 或 PostgreSQL 作为状态存储,这本身是一个运维点。如果状态库挂了,网关的身份验证和策略检查都会失败,即使 provider 本身是健康的。
替代方案与许可证边界
README 明确把 Pipedream 和 Composio 列为替代对象。Pipedream 的差异在于它是事件驱动的工作流平台,处理的是触发器、定时任务和步骤链,而 OpenConnector 处理的是 Agent 发起的同步 Action 调用。Composio 更接近 Agent 工具调用层,但它的托管服务和开源版本之间的功能划分与 OpenConnector 不同。选择哪一个,取决于你的工作负载是事件流还是请求响应。许可证方面,OpenConnector 使用 Apache-2.0,这是一个宽松许可证,允许商用和修改,但要注意提供商名称和商标属于各自所有者,README 特别声明了这一点。仓库最后推送时间是 2026 年 8 月,v1.4.0 在同一天发布,说明项目处于活跃开发状态。
编辑结论
OpenConnector 适合那些需要让 Agent 访问用户既有工作账号,但又不愿把 API 密钥或 OAuth token 直接交给 Agent 进程的产品团队。它特别适合已经用 Cloudflare Workers 或想从 OOMOL 托管起步、后续再迁移到自托管的项目。不适合的场景包括:只需要一两个固定 API 的简单集成,或者对运行时依赖有极强控制要求的团队,因为网关本身是额外的服务层,需要维护。采纳前应先验证三件事:你的目标提供商是否在目录中且 Action 覆盖你需要的操作;你能否接受 SQLite 或 PostgreSQL 作为状态存储,以及本地或 S3 兼容的临时文件传输;以及你打算用哪一种部署形态,因为 Cloudflare 路径和 Node.js 路径的运维负担完全不同。仓库的 docs/runtime-api.md 是必读的起点,它定义了响应信封、认证头和 MCP 工具的具体格式。
社区笔记