阅读时间:1 分钟
0 字
注册服务商协议
如果你要扩展新的服务商协议,当前系统已经支持通过事件注册新的协议元信息。
事件入口
服务商协议注册事件是:
ai.provider.protocol
事件对象是:
App\Ai\Event\ProviderProtocolEvent
这类注册解决的是什么问题
它主要解决的是:
- 后台服务商表单里要显示新的协议选项
- 向导里要显示新的协议说明
- 默认 Base URL 和是否要求 API Key 要有统一来源
也就是说,这一层主要是“协议元信息注册”,不是直接负责具体运行时调用。
最小注册示例
php
#[Listener(name: 'ai.provider.protocol')]
public function handle(ProviderProtocolEvent $event): void
{
$event->register([
'value' => 'my_protocol',
'label' => 'My Protocol',
'description' => '自定义协议',
'default_base_url' => 'https://api.example.com/v1',
'requires_api_key' => true,
]);
}一个协议通常至少要提供什么
value:协议值label:展示名称description:协议说明default_base_url:默认地址requires_api_key:是否必须填写 API Key
要注意什么
这一步只负责把协议注册进后台和配置体系。
如果你真的要让这个协议能跑通聊天、图片、视频、Embedding 等能力,后面还要继续接对应的 provider factory 或运行时实现。
适合什么场景
- 新增自定义模型协议
- 给现有兼容协议做品牌化入口
- 让插件或应用商店扩展新的协议选项