存量基座产品统一到 open
已对接 UM、或家族产品之间互相对接的基座平台/网站/应用,如何零推翻收敛到 open 能力总线。
适用对象
- 已对接 UM(OAuth / UMID)的基座产品(如 lh-trade、model-open、modelflow…)
- 家族产品之间互相对接的站点(共享 UM 身份后端)
- 任何想从「各自域名对外」收敛为「open 一个入口」的网站 / 应用 / 软件
核心模型(先理解,再动手)
UM = 身份后端(登录 / 账号),open = 能力总线 + 开放门户(对接 / 调用 / 密钥)。 「统一到 open」是指能力对接收敛到 open,身份仍委托 UM——open 已帮你解析 UM token,产品无需改动鉴权。
3 步收敛(零推翻)
保留现有 UM 身份
不动你的登录 / 账号体系。UM token 由 open 侧 decodeUmTokenUserId 解析,你继续用 UM 做身份源,无需对接方感知 UM。
在 open 多登记一个能力端点
打开 能力自助登记,把你已有的能力端点(upstream_url)登记一次。
登记后,该能力自动进入 open 能力总线——对外暴露面从「你的域名」收敛为「open 一个入口」。
从点对点升级为总线式
原本产品 A ↔ B 互相对接的能力,挂到 open 总线后:
- 新增任一产品,其它所有产品自动可见、可直接调用,不再逐个联调;
- 第三方也只需面对 open,看不见你内部的点对点拓扑。
要登记哪些端点?
把你「对外提供能力」的 MCP 端点都登记到 open(如模型调用、支付、存储、音视频…)。 只登记对外能力,内部纯前端页面不用登记。
迁移前后对比
| 维度 | 迁移前 | 迁移后 |
|---|---|---|
| 对外入口 | 各自域名 / 多个对接文档 | open 一个入口 |
| 新增对接方 | 逐个联调 | 总线自动可见 |
| 第三方感知 | 要分别找各产品 / UM | 只面对 open |
| 身份 | UM(不变) | UM(不变,open 代接) |
相关
批量登记(家族产品一键纳管)
多个家族基座产品要统一加入时,不必逐个在控制台手填。在 scripts/capabilities-to-onboard.json 填好各产品的 member 与 upstream_url(端点地址),运行:
node scripts/seed-capabilities.mjs # 登记清单内全部产品
node scripts/seed-capabilities.mjs --dry # 仅校验,不写库
脚本会跳过已存在的成员(幂等可重复跑),并拦截未补全端点的条目(upstream_url: "TODO"),避免登记假地址。补全端点后重跑即可。