核心概念
核心概念
概述
UCP 通过三层抽象模型解决商业互操作问题:
- Service(服务):定义 API 表面和传输绑定
- Capability(能力):声明支持的功能特性
- Extension(扩展):可选的能力增强模块
这种设计让 UCP 既保持核心简洁,又支持垂直领域扩展。
参与者角色
UCP 定义了四种主要参与者,各自承担明确的职责:
| 角色 | 职责 | 示例 |
|---|---|---|
| Platform(平台) | 发现商家能力,发起结账会话,向用户展示界面 | AI 购物助手、超级应用、搜索引擎 |
| Business(商家) | 暴露商业能力,履行订单,处理支付 | 零售商、航空公司、酒店集团 |
| Credential Provider(凭证提供方) | 安全管理用户敏感数据,发行支付令牌 | Google Wallet、Apple Pay |
| Payment Service Provider(支付服务商) | 处理支付授权、清算、结算 | Stripe、Adyen、PayPal |
关键设计原则
- 商家作为 Merchant of Record:商家保留财务责任和订单所有权
- 平台不接触原始支付数据:通过令牌化最小化 PCI-DSS 合规范围
- 凭证单向流动:支付凭证仅从平台流向商家,商家不回传
Service:服务层
Service 定义了一个垂直领域(如 shopping、common)的 API 表面,包含:
| 字段 | 说明 | 示例 |
|---|---|---|
version | 服务版本(YYYY-MM-DD 格式) | 2026-01-11 |
spec | 服务文档 URL | https://ucp.dev/specification/overview |
rest | REST 传输绑定(可选) | OpenAPI 3.x 规范 |
mcp | MCP 传输绑定(可选) | OpenRPC 规范 |
a2a | A2A 传输绑定(可选) | Agent Card URL |
embedded | 嵌入式传输绑定(可选) | OpenRPC 规范 |
传输绑定示例
{
"rest": {
"schema": "https://ucp.dev/services/shopping/rest.openapi.json",
"endpoint": "https://business.example.com/api/v2"
}
}命名规范
所有 Service 和 Capability 名称使用反向域名格式:
{reverse-domain}.{service}.{capability}示例:
| 名称 | 权威方 | 服务 | 能力 |
|---|---|---|---|
dev.ucp.shopping.checkout | ucp.dev | shopping | checkout |
dev.ucp.common.identity_linking | ucp.dev | common | identity_linking |
com.example.payments.installments | example.com | payments | installments |
Capability:能力层
Capability 是 Service 内的独立功能特性,声明支持的功能和文档位置。
Capability 定义
| 字段 | 必填 | 说明 |
|---|---|---|
name | 是 | 能力名称(反向域名格式) |
version | 是 | 能力版本(YYYY-MM-DD 格式) |
spec | 是 | 规范文档 URL |
schema | 是 | JSON Schema URL |
extends | 否 | 父能力名称(用于扩展) |
标准能力
UCP 定义了以下核心能力:
| 能力 | 说明 |
|---|---|
| Checkout | 结账会话管理,包括购物车和税费计算 |
| Identity Linking | 基于 OAuth 2.0 的身份关联 |
| Order | 订单生命周期事件通知 |
Extension:扩展层
Extension 是可选的能力增强模块,通过 extends 字段声明父能力。
扩展示例
{
"name": "dev.ucp.shopping.fulfillment",
"version": "2026-01-11",
"spec": "https://ucp.dev/specification/fulfillment",
"schema": "https://ucp.dev/schemas/shopping/fulfillment.json",
"extends": "dev.ucp.shopping.checkout"
}扩展类型
| 扩展 | 说明 | 扩展自 |
|---|---|---|
| Fulfillment | 履约配送 | Checkout |
| Discount | 折扣优惠 | Checkout |
| AP2 Mandates | AP2 加密支付指令 | Checkout |
Profile:配置文件
Profile 是参与者在 /.well-known/ucp 发布的 JSON 文档,声明身份、支持的能力和端点。
Business Profile 示例
{
"ucp": {
"version": "2026-01-11",
"services": {
"dev.ucp.shopping": {
"version": "2026-01-11",
"spec": "https://ucp.dev/specification/overview",
"rest": {
"schema": "https://ucp.dev/services/shopping/rest.openapi.json",
"endpoint": "https://business.example.com/ucp/v1"
}
}
},
"capabilities": [
{
"name": "dev.ucp.shopping.checkout",
"version": "2026-01-11",
"spec": "https://ucp.dev/specification/checkout",
"schema": "https://ucp.dev/schemas/shopping/checkout.json"
}
]
},
"payment": {
"handlers": [...]
},
"signing_keys": [...]
}能力协商
UCP 使用"服务端选择"架构进行能力协商:
- 平台声明:通过
UCP-Agentheader 或请求体声明 Profile URI - 能力交集:商家计算平台和商家能力的交集
- 剪枝孤立扩展:移除父能力不在交集中的扩展
- 响应声明:商家在响应中包含活跃能力列表
协商流程
Platform Profile → Business Profile → 交集计算 → 活跃能力
[A, B] [A, C] [A] [A]传输协议
UCP 是传输无关的,支持多种协议:
| 传输 | 适用场景 | 规范格式 |
|---|---|---|
| REST | 标准应用集成 | OpenAPI 3.x |
| MCP | LLM 智能体直接调用 | OpenRPC |
| A2A | 智能体间协作 | Agent Card |
| Embedded | 内嵌商家 UI | OpenRPC |