
图片:METAL
摘要
- OpenAI 于 9 月 18 日在 ChatGPT 的大多数插件上开放了多账号连接。
- 已连接的账号全部对模型可见,每次工具调用都使用所选账号的凭据与权限。
- 现有插件无需修改即可运行,但账号标签与重复检测需要声明 profile 工具。
OpenAI 开放了在 ChatGPT 的大多数插件上连接多个账号。工作账号与个人账号可以同处一次对话,模型会挑选与请求相符的账号再去调用工具。
在 OpenAI 负责插件、MCP 与 Skills 的 Max Stoiber 于 9 月 18 日在 X 上写道,从今天起可以在 ChatGPT 的大多数插件上连接多个账号。帖子所附截图显示,同一个 Notion 插件上并排挂着 kiki@acme.org 与 kiki@gmail.com 两个地址。该帖阅读量超过 61 万次,OpenAI 开发者官方账号随后发布的帖子也超过 25 万次。
用户实际操作的地方是插件设置页。在 chatgpt.com/plugins 目录中,给已连接的插件再添一个账号就是全部流程。根据 OpenAI 的文档,已连接的账号会全部暴露给模型,模型读取请求后挑出所需的一个或多个账号,再调用工具。每一次调用都原样使用该账号的凭据与权限。
开发者原则上无需改动。Stoiber 在同一篇帖子中表示,这项功能无需任何改动即可自动生效。已在运行的 MCP 服务器保持原样就能获得多账号能力。
不过,要让屏幕上的名牌显示正确,就得再开一个工具。这是一个只读工具,返回经过认证的凭据所代表的 profile,名称可自由选择,get_profile 或 whoami 都可以。在元数据中把 _meta 下的 openai/profile 声明为 true,OpenAI 便会在运行时找到并调用该工具,验证响应之后再使用 profile 信息。
契约的核心是 id 这一个字段。它必须是非空字符串,并且在令牌刷新、重新连接或权限范围提升之后仍返回相同的值。不同的 profile 必须拥有不同的值,显示名称或邮箱变更后该值也要保持不变。把已删除 profile 的值重新分配给另一个 profile 同样被禁止。文档另有一行写明,不要按每次登录、每个令牌、每个会话、每次工具调用生成新值。
把邮箱当作标识符这一常见习惯也被挡住了。理由是会变更或被转移的地址无法充当稳定的 profile 标识符。使用 Google OIDC 时,文档要求用 sub 而不是 email 声明。姓名与邮箱应放在 name、email、nickname 这类显示字段中,文档还写明不要把姓名、邮箱或组织关系编码进标识符内部。
响应放入 structuredContent 以便依据 outputSchema 校验,为兼容起见,同样的内容还会以 JSON 字符串形式放进 text 内容项。文档以一个名为 Moonwaffle 的虚构服务为例,展示一个人分别连接两个 profile 的情形。个人 profile 为 prf_42a9c6e0,工作 profile 为 prf_8d7e4b19,各自生成一次不透明的值并保存,在重新连接、令牌刷新与显示名称变更之后仍返回同一个值。
没有 profile 工具,账号照样能连上。只是文档指出,账号标签、再识别与重复检测的可靠性会下降。文档还警告,声明了却返回无效身份,可能直接导致账号无法连接。
METAL 通读的 OpenAI 开发者文档认证章节,在多账号之前用很长篇幅讲客户端身份。ChatGPT 连接 MCP 服务器时会出示由 OpenAI 管理的客户端证书,服务器可以检查叶证书是否链接到 OpenAI Connectors mTLS 中间 CA,以及其 SAN dnsName 是否为 mtls.prod.connectors.openai.com。客户端注册推荐 CIMD,DCR 仍然受理,而 ChatGPT 不支持客户端凭据、服务账号、JWT bearer 断言这类机器对机器的授权方式。
在工程师看来,这次变化的分量在边界而不在便利。账号只有一个时,一个令牌就是一份权限;如今一次对话里并存着权限各异的多个令牌,而挑选用哪一个的是模型。文档用三行反复强调工具要设为只读、不要求调用方提供用户 ID、邮箱或账号选择器、认证失败时返回认证错误而不是占位标识符或别人的 profile,原因就在这里。一个配错的 profile,就会把公司工作区的文档拉进个人账号的对话。
责任的位置也很清楚。OAuth 流程结束后,OpenAI 会把拿到的访问令牌原样附加到后续 MCP 请求上,此后的签名校验、签发方与受众匹配、过期处理、重放考量、作用域执行全归服务器。文档另有一句写明,通过结构校验并不能证明标识符的唯一性与稳定性,也不能证明凭据作用域正确。
METAL 曾报道过 ChatGPT 从应用目录直接驱动 Runway 与 Blender,当时确认的流程以一次连接一个账号为前提。这次加入的多账号,把那条连接分成了多股。
插件生态的竞争轴正在从功能转向身份。除了提供哪些工具之外,服务器能多准确地说清这些工具以谁的权限运行,如今决定着连接的质量。把账号名牌挂对,已经成了一项产品功能。





评论