每个有用的智能体都会延伸到你的代码库之外:它要在 Slack 上发消息、提交拉取请求、查询 Snowflake,或调用内部 API。这种延伸能力正是它的价值所在,也是风险所在,因为多年来,授予这种能力就意味着配发一个长期有效的令牌,然后祈祷它永远不要泄露。
Vercel Connect 用代码在运行时请求的令牌取代长期令牌,这些令牌的权限范围限定于当前任务,并会自行过期。
在公开测试期间,我们把生态扩展到了 100 多个连接器,统一了它们的工作方式,并增加了团队在生产环境中所需的治理能力。
今天,Vercel Connect 正式发布(GA)。


通过安全、限定范围的令牌连接 100 多项服务
密钥库解决不了长期令牌的问题
管理凭据本身已经成了一项工作负载。团队要编写轮换脚本,在各环境之间复制密钥,在用户之间共享令牌。把令牌放进密钥库让它更难被窃取,但一旦被窃,危险程度并未降低。它永不过期,也没有任何密钥库能限制泄露的凭据能做什么。
智能体让问题更加严重:它们以更高的自主性、更频繁地接触更多系统。然而,用来约束密钥的工具却没有改变。
使用 Vercel Connect,你的应用不再存储凭据,而是去请求凭据:
- 你为 Slack、GitHub、Snowflake、Shopify 等提供方,或你自己的 OAuth 服务注册一次连接器
- 你把它关联到需要它的项目和环境
- 你的代码在运行时请求令牌,令牌会自动刷新
- 你的应用里没有提供方密钥,也就不会被误提交
vercel connect create slack --name acme-slack
创建一个名为 acme-slack 的 Slack 连接器
import { getToken } from '@vercel/connect';
const token = await getToken('slack/acme-slack', {
subject: { type: 'app' },
});
请求应用级 Slack 令牌
请求令牌不需要另一个密钥。Vercel 上的每次部署都带有一个 OIDC 身份,SDK 用它来证明请求者是谁。
当访问变成一次请求,会有什么不同
差异体现在凭据的各项属性上:
| 属性 | 存储的令牌 | Vercel Connect |
|---|---|---|
| 生命周期 | 永不过期 | 短期有效,自动刷新 |
| 权限范围 | 智能体可能需要的一切 | 限定于请求中指定的任务 |
| 身份 | 所有用户共用一个机器人 | 应用或某个指定的具名用户 |
| 轮换 | 生成新令牌、更新各处副本、重新部署 | 无需执行 |
| 撤销 | 轮换并重新部署 | 一条命令,可按用户或针对所有令牌 |
过去在工作结束后仍长期留在环境中的凭据,现在会自行过期。不会有任何东西留给攻击者去发现。
生成短期令牌,而不是把提供方凭据保存在暂停的沙箱里,为我们消除了一整类安全风险。
Fraser Brown BuildPass
权限范围按每次请求划定。智能体的某一步可能是读取一个仓库,下一步是创建一个 issue,每一步只请求所需的权限。
令牌能细化到什么程度取决于服务本身,GitHub 就是最清晰的例子。请求可以把令牌限制在单个仓库并仅授予只读权限,而不必信任一个覆盖整个组织的长期授权。
开源的 GitHub Tools SDK 把这一做法付诸实践。选择 code-review 这样的预设,它就会生成只带必要权限范围的令牌。
身份同样按每次请求确定。令牌默认以应用身份行事,但如果把某个具名用户作为 subject 传入,令牌就会代表该用户行事,权限范围限定于其在一次性授权流程中同意的内容。
面向你已在使用的服务的连接器
Vercel Connect 现已内置 100 多个预设连接器,覆盖 Notion、Shopify、Workday 等开发者工具和 SaaS 提供方,另有面向 Slack、GitHub、Linear、Salesforce 等的托管连接器。
你自己的服务通过自定义 OAuth 和 API Key 认证遵循同样的模型,任何支持 OAuth 的 MCP 服务器也都可以充当连接器。
查找和创建连接器也更快了。可以在 Vercel 网站上浏览完整目录,用更少的步骤创建连接器,并通过控制台、CLI 或 API 管理一切。
Vercel Connect 让我们能够快速向团队部署新的 AI 智能体和渠道集成,省去了自行搭建安全令牌管理的时间和麻烦。
Pat Dunn EF World Journeys USA
随团队规模扩展的治理能力
采用 Vercel Connect 的团队需要的不止是限定范围的令牌,还需要控制谁可以管理连接器,并追踪访问是如何被使用的。
GA 版本新增三项能力:
- 细粒度 RBAC 控制谁可以创建和管理连接器
- 审计日志记录授权和连接器活动
- 令牌和触发器的可观测性展示跨项目的使用情况
再结合按环境关联和一条命令撤销,访问就成了可以检查、可以证明的东西。
当审计人员询问谁在何时拥有某个系统的访问权限时,答案只是对审计日志的一次查询,而不是跨项目、跨 Slack 讨论串的一场调查。
无论你的智能体在哪里运行
无论你和你的用户身在何处,都可以使用 Vercel Connect:
- 支持自定义环境(Custom Environments),因此
qa环境可以在生产、预览和开发环境之外拥有自己的连接器 - eve 开箱即支持 Connect,连接按智能体分别声明
- Chat SDK 支持把同样的模型带到对话式应用中
在 v0 中构建互联应用
在 v0 中构建的应用和智能体使用同样的模型。
告诉 v0 你的应用需要哪项服务,它会在构建期间设置好连接器。Slack、GitHub 等托管连接器无需在提供方一侧做任何配置,而且由于令牌是在运行时生成的,生成的应用里没有需要保管的密钥。
KERNEL 团队就是这样发布了一个语音驱动的浏览器智能体:
v0 用 Connect 处理了所有认证的接线工作,所以我不必再为管理 API 密钥而卡住,而是可以让任何人通过 OAuth 带上自己的 AI Gateway 和 KERNEL 访问权限,直接开始体验。
Danny Prevoznik KERNEL
事件流入,同样不需要密钥
请求令牌只是事情的一半。你的智能体还需要接收事件通知。
触发器(Triggers)在不把密钥放回应用的前提下处理这件事。当用户在 Slack 中发帖时,提供方会把事件发送给 Vercel Connect。Vercel Connect 在服务端验证签名,用 OIDC 身份对事件重新证明(re-attest),然后转发给你的项目。即使启用了部署保护(Deployment Protection),转发的事件也能送达。
你的应用没有可用来行动的机器人令牌,也没有验证 webhook 的签名密钥,整个闭环却依然能够运转。
Moonpig Group 在生产环境中就用这个闭环运行其内部法务智能体:
我们今天已在生产环境中使用 Connect。我们的内部法务智能体通过 Connect 处理 Slack、Jira 和 Google Drive,因此我们自己无需管理令牌、密钥或事件订阅。
Jorian Kalse Moonpig Group
围绕一次调用构建
一切的底层是 Vercel Connect SDK 中的 getToken。
无论你的智能体是基于 eve 还是 AI SDK 构建,作为 Vercel Workflows 中的后台任务运行,还是你自己编写的循环,它索取凭据的方式都是一样的。
围绕这次调用,适配器负责处理接线:
@vercel/connect/eve为智能体的连接提供背后的凭据@vercel/connect/chat把 Connect 接入 Chat SDK 适配器@vercel/connect/betterauth和@vercel/connect/authjs为 Better Auth 和 Auth.js 生成提供方配置@vercel/connect/ai-sdk和@vercel/connect/mcp为 AI SDK 工具和 MCP 客户端做同样的事,无论你的智能体是直接调用工具还是通过服务器调用
对于 eve 智能体和 Chat SDK 应用,Slack 集成通常要保存在你环境中的两个密钥 SLACK_BOT_TOKEN 和 SLACK_SIGNING_SECRET 已经完全从你的应用中消失了。
定价与可用性
Vercel Connect 适用于所有套餐,按令牌请求次数和触发器事件数计费。Hobby 套餐每月包含 500 次令牌请求和 1,000 次触发器事件,无需额外费用。Pro 套餐按每 1,000 次令牌请求 $3、每 1,000 次触发器事件 $0.95 计费,Enterprise 套餐为定制定价。
如果你在测试期间使用过 Vercel Connect,当前的计费条款在 2026 年 9 月 25 日之前保持不变,届时更新后的定价生效。
开始使用
- 部署一个带有 Vercel Connect 的软件工厂模板,或浏览源码
- 阅读知识库中的完整指南,或查看更新日志
- 把下面的提示词交给你的编码智能体,来设置 Vercel Connect:
给编码智能体的提示词
Help me set up Vercel Connect in this application. Install the Vercel Connect skill first with `npx skills add vercel/vercel-plugin --skill vercel-connect` and follow it. Read vercel.com/docs/connect.md for anything the skill does not cover. Link the project (`vercel link`) and pull a local OIDC token (`vercel env pull`). Ask me which provider to connect, create a connector for it, and attach it to this project. Then install @vercel/connect and request a token at runtime with getToken. Make a test call against the provider to confirm it works. If you have any questions or get stuck, don't assume the answer, just ask me.
贡献者
Joe Sadowski, Bhrigu Srivastava, Allen Zhou, Raghav Agarwal, Yasoob Rasheed, Tony Pan
