自架服務
oomol-lab/open-connector avatar
oomol-lab/open-connector

OpenConnector:把 SaaS 凭证边界放在 AI agent 之外

開源身份驗證網關,透過 SDK、CLI、MCP、HTTP 和 OpenAPI 將 1000 多個 SaaS 供應商連接到 AI 代理程式。

5,755 個 Star497 個 ForkTypeScriptApache-2.0

秒懂

它是什麼?
OpenConnector 是 Apache-2.0 许可的开源连接器网关,README 描述了 SDK、CLI、MCP、HTTP、OpenAPI、Web Console、OAuth、Action schema、策略控制与本地、Cloudflare、Fly.io、OOMOL Hosted 部署路径。
適合誰用?
适合需要让 AI agent 访问用户既有 SaaS 账户、同时希望把凭证留在运行时边界内的产品团队;不适合把 1,000+ provider 和 10,000+ Action 的 README 规模声明当作每个连接器都已通过业务验证。先在隔离环境启动本地 runtime,创建一个无副作用连接,检查 `/openapi.json`、`/v1/actions/*`、MCP、scope、allow/block policy、redacted logs 和令牌撤销。
可以商用嗎?
可以。Apache-2.0 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
還在維護嗎?
有在維護。儲存庫最近一次提交在 1 天前。
用什麼語言寫的?
主要是 TypeScript(依據 GitHub 的語言統計)。

以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。

開源專案深度解析

Gateway 把凭证与 agent 分开

OpenConnector 的核心承诺是用户账户只连接一次,agent 和应用通过共享 catalog 发现并运行 Actions。README 的架构图把 Gateway、Credential & OAuth Boundary、Provider Catalog、Action Executors、Policy 和 Run Logs 分开,说明 agent 获得的是元数据、账户标签和执行结果,而不是 provider secret。

这一边界适合需要 GitHub、Gmail、Notion、BigQuery、Google Analytics、Supabase、Airtable 或 Slack 等工具访问的 agent 产品。它不能替应用决定 scope、同意流程和数据保留。验收时先连接一个测试账户,检查请求、响应、日志和错误对象中是否出现 access token、refresh token 或不应暴露的字段。

围绕Gateway 把凭证与 agent 分开阅读OpenConnector:把 SaaS 凭证边界放在 AI agent 之外时,最有价值的记录是能回到 README 的原始对象。把本节提到的命令、版本、平台或接口名称逐项写下,保留成功输出与失败输出的差异,再与仓库中的对应文件和 release 对照。这样得到的是针对该项目的事实记录,不会把未说明的能力补成承诺,也能在升级后重新检查同一处行为。

Action contract 是集成的稳定面

README 称每个 Action 可检查 request/response schema、required scopes 和 lazy-loaded executor source。SDK、oo CLI、MCP、HTTP/OpenAPI 共享 provider id、Action id、schema 和 contract,便于不同入口调用同一能力。文档把 endpoint、auth headers、MCP tools 和 Action examples 放在 `docs/runtime-api.md`。

先用 `/openapi.json` 发现一个只读 Action,再用 `/v1/actions/*` 调用,比较 SDK、CLI 与 MCP 返回的 envelope、状态码、scope 错误和执行结果。若接口版本变化,必须把 contract 差异记录为客户端升级事项,不能因为 provider 名称相同就假设参数不变。

围绕Action contract 是集成的稳定面阅读OpenConnector:把 SaaS 凭证边界放在 AI agent 之外时,最有价值的记录是能回到 README 的原始对象。把本节提到的命令、版本、平台或接口名称逐项写下,保留成功输出与失败输出的差异,再与仓库中的对应文件和 release 对照。这样得到的是针对该项目的事实记录,不会把未说明的能力补成承诺,也能在升级后重新检查同一处行为。

部署选项对应不同责任

README 列出 OOMOL Hosted、Cloudflare Workers 配合 D1/R2/Static Assets,以及 Docker 或 Node.js 自托管;本地路径可用 SQLite 或 PostgreSQL state 和本地或 S3-compatible transit storage,也可部署到 Fly.io。托管方式减少部署和 OAuth app setup,自托管则由团队管理存储和 OAuth apps。

比较方案时应把凭证注册、状态数据库、临时文件传输、备份、网络入口和升级责任写成清单。Cloudflare 试验要检查 D1/R2/Static Assets 的绑定与权限;Docker 试验要检查卷、端口和重启后的 state。README 没有给出所有 provider 的可用性和配额,因此需按实际连接逐项测试。

围绕部署选项对应不同责任阅读OpenConnector:把 SaaS 凭证边界放在 AI agent 之外时,最有价值的记录是能回到 README 的原始对象。把本节提到的命令、版本、平台或接口名称逐项写下,保留成功输出与失败输出的差异,再与仓库中的对应文件和 release 对照。这样得到的是针对该项目的事实记录,不会把未说明的能力补成承诺,也能在升级后重新检查同一处行为。

策略与日志决定可审计性

运行时控制包括 connection identity、scopes、runtime tokens、Action allow/block policies、temporary file transit 和 redacted run logs。Dashboard 可浏览 connector catalog、配置 credentials、创建 runtime tokens,并查看 provider、Action、失败和 tool call 趋势。

创建一个只允许单个 Action 的 runtime token,阻断另一个 Action,再执行一次成功和一次失败调用。检查 Dashboard 与日志中是否能关联 connection alias、Action id、scope 和结果,同时确认日志脱敏不会破坏排障所需字段。令牌撤销、过期和多租户隔离也要在同一环境中验证。

围绕策略与日志决定可审计性阅读OpenConnector:把 SaaS 凭证边界放在 AI agent 之外时,最有价值的记录是能回到 README 的原始对象。把本节提到的命令、版本、平台或接口名称逐项写下,保留成功输出与失败输出的差异,再与仓库中的对应文件和 release 对照。这样得到的是针对该项目的事实记录,不会把未说明的能力补成承诺,也能在升级后重新检查同一处行为。

SDK、CLI、MCP 的入口取舍

Connector SDK 是 TypeScript HTTP client,`OpenConnector` 面向自托管,`Connector` 与 `ProjectConnector` 面向 OOMOL-hosted personal 或 SaaS end-user connections。`oo connector` 能搜索、检查和运行 Actions;MCP 默认入口写为 `http://localhost:3000/mcp`。

工程团队应先选一种主入口,再用另两种入口复现同一个只读 Action,观察 auth header、返回 envelope、超时和错误细节。这样才能判断问题来自 provider、gateway 还是客户端封装。对有副作用的 Action,先配置 allow/block policy 和人工审批,再扩大 scope。

围绕SDK、CLI、MCP 的入口取舍阅读OpenConnector:把 SaaS 凭证边界放在 AI agent 之外时,最有价值的记录是能回到 README 的原始对象。把本节提到的命令、版本、平台或接口名称逐项写下,保留成功输出与失败输出的差异,再与仓库中的对应文件和 release 对照。这样得到的是针对该项目的事实记录,不会把未说明的能力补成承诺,也能在升级后重新检查同一处行为。

Apache-2.0 下的采用判断

OpenConnector 使用 Apache-2.0。许可证允许在其条件下使用和修改代码,但不替项目完成 OAuth provider 审查、SaaS 合规、密钥轮换或租户隔离。README 的 1,000+ provider、10,000+ Action 是项目说明,不能代替你的连接器验收。

它适合确实需要 agent 工具访问并能运营凭证边界的团队。最终验收应固定一个 release,启动本地 Docker 或 Node.js runtime,跑一条 OAuth 或 API key 连接、一个只读 Action、一个被 policy 拒绝的 Action 和一次日志审查,再决定使用 hosted、Cloudflare 还是自托管。最后还要确认 provider catalog 的实际条目、连接别名隔离、临时文件清理和运行日志脱敏结果,避免仅凭网关启动成功就扩大授权范围。

围绕Apache-2.0 下的采用判断阅读OpenConnector:把 SaaS 凭证边界放在 AI agent 之外时,最有价值的记录是能回到 README 的原始对象。把本节提到的命令、版本、平台或接口名称逐项写下,保留成功输出与失败输出的差异,再与仓库中的对应文件和 release 对照。这样得到的是针对该项目的事实记录,不会把未说明的能力补成承诺,也能在升级后重新检查同一处行为。

編輯結論

适合需要让 AI agent 访问用户既有 SaaS 账户、同时希望把凭证留在运行时边界内的产品团队;不适合把 1,000+ provider 和 10,000+ Action 的 README 规模声明当作每个连接器都已通过业务验证。先在隔离环境启动本地 runtime,创建一个无副作用连接,检查 `/openapi.json`、`/v1/actions/*`、MCP、scope、allow/block policy、redacted logs 和令牌撤销。

官方來源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社群筆記

社群筆記