news 2026/6/9 10:16:50

Provider 抽象:为什么 OpenClaw 可以接不同模型

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Provider 抽象:为什么 OpenClaw 可以接不同模型

如果 OpenClaw 只能接一个模型,它就只是某个模型的客户端。

真正让它变成平台的是 Provider 抽象。

Provider 抽象回答的问题是:

不同模型 API 都不一样,OpenClaw 为什么还能用同一套 Agent loop 调它们?

Provider 把模型差异挡在运行时边界外

不同 Provider 负责不同事情:

认证方式 模型目录 请求协议 工具 schema 清理 stream 包装 usage 统计 reasoning / thinking 参数 错误分类 failover 判断

Agent Runtime 不应该关心每家 API 的字段细节。它只需要稳定地看到:

messages / context tool schemas assistant text tool call tool result usage finish reason error

Provider plugin 就是把外部模型世界翻译成这些内部概念的层。

Provider 和 Model 不是一回事

OpenClaw 的模型引用通常长这样:

provider/model openai/gpt-5.5 anthropic/claude-opus-4-6 google/gemini-*

provider是接入方式,model是这个 provider 下的具体模型。

这带来一个好处:

你可以换模型而不换 Agent 架构

也可以用同一个 Provider 支持多个模型、多个认证 profile、多个 fallback。

Provider plugin 负责什么

官方文档说明,多数 Provider 逻辑位于 provider plugins。它们拥有 onboarding、model catalogs、auth env-var mapping、transport/config normalization、tool-schema cleanup、failover classification、OAuth refresh、usage reporting、thinking/reasoning profiles 等职责。

可以把它拆成四层:

配置层 model ref、默认模型、context window、max tokens 认证层 API key、OAuth、CLI reuse、auth profiles 请求层 provider-specific payload、stream、transport 回收层 usage、error、retry、failover、cooldown

为什么不能直接写死 OpenAI/Claude/Gemini

因为 Agent 系统需要长期演化。

模型会变:

接口变 工具调用格式变 上下文长度变 计费方式变 reasoning 参数变 流式协议变

如果把这些写进 Agent loop,核心运行时会越来越乱。

Provider 抽象让变化停在边界:

外部 provider 改变 ↓ provider plugin 更新 ↓ Agent loop 仍然处理统一事件

一个真实场景

你默认使用:

openai/gpt-5.5

后来某些长上下文任务改用:

google/gemini-*

某些代码审查改用:

anthropic/claude-*

OpenClaw 不需要重写 Gateway、session、tool loop、workspace。它只需要在模型选择和 Provider 插件层完成映射。

常见误解

误解一:Provider 就是 API key

不是。API key 只是认证的一部分。

误解二:所有 Provider 能力完全一样

不一样。工具调用、上下文、reasoning、流式、媒体能力都会有差异。

误解三:OpenAI Compatible 就等于 OpenAI

不等于。兼容通常指接口形状类似,但模型能力、错误、usage、工具细节可能不同。

最后总结

Provider 抽象让 OpenClaw 把不同模型接入同一个 Agent Runtime。

一句话总结:

Provider 负责适配差异,Runtime 负责稳定执行。

本节作业

  1. 写出三个provider/model形式的模型引用。
  2. 区分 Provider、Model、Auth Profile。
  3. 思考一个 Provider 插件最少需要处理哪些错误。
  4. 解释为什么工具 schema 清理应该放在 Provider 边界附近。

下一节预告

下一节讲 OpenAI、Claude、Gemini 与 OpenAI Compatible 的接入方式。

参考资料

  • OpenClaw Docs:Model providers
  • OpenClaw Docs:Provider directory
  • OpenClaw Docs:Agent runtimes
  • OpenClaw Docs:Building provider plugins

原文链接:Provider 抽象:为什么 OpenClaw 可以接不同模型 | Harries Blog™

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 10:14:07

计算机毕业设计之基于Django的知谷计算机在线教育系统

本世纪以来,随着越来越多的人使用网络,互联网得到了极大的发展,各种网络资源呈一个爆发性的增长,越来越多的人通过各种各样的网络工具,例如一些专业百度的官网,查询各种各样的信息,为了适应社会…

作者头像 李华
网站建设 2026/6/9 10:13:37

QMCDecode:三步解锁QQ音乐加密文件的终极macOS指南

QMCDecode:三步解锁QQ音乐加密文件的终极macOS指南 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac,qmc0,qmc3转mp3, mflac,mflac0等转flac),仅支持macOS,可自动识别到QQ音乐下载目录,默认转换…

作者头像 李华
网站建设 2026/6/9 10:08:55

【2027最新】基于SpringBoot+Vue的政府管理系统管理系统源码+MyBatis+MySQL

摘要 随着信息技术的快速发展,政府管理系统的数字化转型成为提升行政效率和服务质量的重要途径。传统政府管理模式面临着数据分散、流程繁琐、信息共享不足等问题,亟需通过信息化手段实现资源整合与流程优化。基于SpringBootVue的政府管理系统旨在构建一…

作者头像 李华
网站建设 2026/6/9 10:08:29

洛雪音乐六音音源修复版终极指南:三步解决音乐播放问题

洛雪音乐六音音源修复版终极指南:三步解决音乐播放问题 【免费下载链接】New_lxmusic_source 六音音源修复版 项目地址: https://gitcode.com/gh_mirrors/ne/New_lxmusic_source 还在为洛雪音乐突然"失声"而烦恼吗?你的音乐播放器是否变…

作者头像 李华
网站建设 2026/6/9 10:06:44

LangGraph驱动的新闻生成Agent:闭环迭代与结构化事实控制

1. 项目概述:一个能自我迭代的新闻内容生产流水线你有没有遇到过这样的场景:团队每天要从几十家媒体、上百条快讯里筛出真正有价值的新闻线索,再人工提炼核心事实、组织成稿、校对逻辑、最后还要反复润色?我带过的三个内容团队里&…

作者头像 李华