← 返回全部文章

OpenConnector:让 AI Agent 一次接入 1400+ 个 SaaS 服务

OpenConnector 把账号授权、权限控制和 SaaS Action 收进一个网关,Agent 可以通过 SDK、MCP、HTTP 或 CLI 调用 GitHub、Gmail、Notion 等服务。

做一个能干活的 AI Agent,模型只是其中一段。它还得登录 GitHub 、 Gmail 、 Notion 、 Slack,处理 OAuth,保存 Token,判断权限,再把每家服务不同的参数翻译成自己的调用格式。

OpenConnector 把这些重复工作放进一个开源 gateway 。当前目录接口返回 1471 个 provider 和 15350 个 Action,数量会随目录更新变化,所以标题里的 1400+ 更适合当作规模说法,不是永久承诺。

Agent 调用的中间层

AI Agent / 应用
       ↓ SDK、CLI、MCP 或 HTTP
OpenConnector Runtime
       ↓ 账号、权限、Action 策略
GitHub、Gmail、Notion、Slack 等服务

应用先发现 Action,查看输入输出 schema 和所需 scope,再选择一个连接执行。上游账号的 credential 留在 runtime 里,Agent 获取的是本次调用需要的元数据、账号标签和结果。

这套设计解决的是接入层的重复建设。 Agent 从 MCP 换成 HTTP,或者从本地脚本换成后台服务时,provider id 、 Action id 和调用契约可以继续复用。

入口不止一个

OpenConnector 把同一套 Action 暴露给不同的使用方式:

  • Connector SDK:TypeScript 应用调用;
  • oo CLI:本地 Agent 搜索、查看和运行 Action;
  • MCP:交给支持 MCP 的 Agent host;
  • HTTP / OpenAPI:供脚本和自定义客户端接入;
  • Web Console:浏览 provider 、配置账号、看运行记录。

Action 不是一段让模型自由猜的接口。它有参数结构、返回结构和权限范围。执行失败时,至少能分辨是参数、权限还是上游服务出了问题。

权限控制比数量更重要

一个服务可能有个人账号和公司账号。 OpenConnector 支持给连接命名,调用时明确指定 connectionName 或连接别名。指定的账号不存在时,运行时会报错,不会悄悄换到另一个账号。

Runtime token 还可以限制 provider 、连接和 Action 。只读工单的 Agent,没有必要同时获得发邮件、改代码仓库或访问财务系统的权限。项目也提供 allow/block policy 和 provider proxy 权限,可以把可执行范围收窄。

这仍然不是自动安全。发邮件、修改仓库、删除数据等操作,最好保留人工确认,并为每类 Agent 单独配置 Token 。

两种上手路径

自托管可以直接用 Docker Compose:

docker compose up

也可以从源码构建:

docker compose -f docker-compose.yml -f docker-compose.build.yml up --build

启动后打开:

http://localhost:3000
http://localhost:3000/docs

先调用 Hacker News 的无鉴权 Action,能验证 runtime 是否正常:

curl -s -X POST http://localhost:3000/v1/actions/hackernews.get_top_stories \
  -H 'content-type: application/json' \
  -d '{"input":{}}'

接 GitHub 、 Gmail 等需要登录的服务时,还要配置 personal access token 、 API key 或 OAuth App 。自托管模式下,OAuth 应用、回调地址、数据库和凭据都由部署者负责。 Node.js 开发模式要求 Node.js 22 或更新版本,运行时默认使用 SQLite,也可以配置 PostgreSQL 。

谁适合用

如果你在做一个要持续访问用户工作软件的 Agent,OpenConnector 可以把“账号授权”和“Action 执行”从业务代码里拆出来。多个服务、多个账号、多个 Agent 同时存在时,这种统一入口才有明显收益。

只调用一个固定 API,官方 SDK 往往更简单。连接器数量多,也不代表每个 Action 都已经适合生产环境。部署前要看权限、错误处理、数据持久化、加密密钥和公网暴露方式。

项目采用 Apache-2.0 。第三方 provider 的产品、商标和服务条款仍归各自权利人所有。

项目地址:

https://github.com/oomol-lab/open-connector