多模型Provider抽象
Multi-Provider Model Abstraction
统一抽象20+LLM提供商,实现模型别名、认证轮换和provider适配
子问题
1.Provider统一接口
2.模型别名映射
3.OAuth认证管理
4.Provider特定适配
5.认证类型优先级排序与 round-robin 负载均衡
6.冷却窗口不可变性防止重试风暴
7.子Agent凭证继承与主Agent同步
8.运行时本地模型服务探测(Ollama/vLLM)
9.Legacy 认证格式迁移与向后兼容
各项目的解法1 solutions
Signals
横向对比
| 维度 | OpenClaw |
|---|---|
| Provider注册方式 | 隐式发现:env + auth-profiles 自动注册 20+ Provider |
| 模型标识策略 | 双向别名索引 + Provider/Model 二元组归一化 |
| 认证轮换机制 | 三类型优先级排序(OAuth>Token>ApiKey)+ round-robin + 指数退避冷却 |
| 运行时发现 | Ollama/vLLM/Venice/Bedrock/HuggingFace HTTP 探测自动发现模型 |
| 冷却策略 | 5^n 指数退避(1m→5m→25m→60m),billing 独立 2^n 退避(5h→24h) |
| 凭证继承 | 子 Agent 自动从主 Agent 继承 OAuth 凭证,比较 expires 取最新 |
最佳实践
1.auth-profile优先级排序
2.模型ID标准化
3.provider-specific参数透传
4.冷却窗口一旦激活不可被后续重试延长
5.Billing 错误与普通错误使用独立退避策略
6.隐式Provider发现实现零配置体验
7.文件锁保护并发认证状态更新