OpenClaw 接入 Fireworks 官方 Provider 插件:安装、认证、模型目录与 Kimi 思考策略全解析
2026/9/10 3:53:09 网站建设 项目流程

OpenClaw 接入 Fireworks 官方 Provider 插件:安装、认证、模型目录与 Kimi 思考策略全解析

【免费下载链接】openclawThe AI that really does things. Any OS. Any Platform. The lobster way. 🦞项目地址: https://gitcode.com/GitHub_Trending/cl/openclaw

本文聚焦 OpenClaw 项目中官方 Fireworks 模型提供方插件(@openclaw/fireworks-provider),完整讲解从插件安装、API Key 认证到模型目录(内置 GLM 5.2 Fast 与 Kimi K2.6 系列)的配置与验证流程,并深入源码剖析"Fireworks 上 Kimi 模型思考能力被强制关闭"这一关键行为的底层实现。读完本文,你将掌握在 OpenClaw 中接入 Fireworks OpenAI 兼容 API、动态解析任意模型 ID、以及为守护进程正确注入密钥的完整实战方案。

Fireworks 插件概览

Fireworks 提供开源权重模型与路由(router)模型,并通过 OpenAI 兼容 API 对外服务。OpenClaw 通过官方插件@openclaw/fireworks-provider接入,当前内置了 Fire Pass 的 GLM 5.2 Fast 路由模型、两款 Kimi 预目录模型,并支持在运行时动态解析任意 Fireworks 模型或路由 ID。

插件核心属性如下(来源:官方文档 与 插件清单):

属性
Provider idfireworks(别名:fireworks-ai
包名@openclaw/fireworks-provider
认证环境变量FIREWORKS_API_KEY
交互式认证标记--auth-choice fireworks-api-key
直连 CLI 标记--fireworks-api-key <key>
API 形态OpenAI 兼容(openai-completions
Base URLhttps://api.fireworks.ai/inference/v1
默认模型fireworks/accounts/fireworks/routers/glm-5p2-fast
默认别名GLM 5.2 Fast

从插件入口实现 extensions/fireworks/index.ts 可以看到,插件通过defineSingleProviderPluginEntry注册,声明了aliases: ["fireworks-ai"]docsPath: "/providers/fireworks",并将模型目录配置为discoveryMode: "strict"allowExplicitBaseUrl: trueliveModelDiscovery: true——即支持实时模型发现,同时允许显式指定 Base URL。插件测试 extensions/fireworks/index.test.ts 中也验证了 provider id、别名与FIREWORKS_API_KEY环境变量的注册关系。

快速开始:三步接入

第一步:安装插件

openclaw plugins install @openclaw/fireworks-provider

第二步:配置 Fireworks API Key

有三种方式可选,按需取其一:

# 方式一:交互式 onboarding openclaw onboard --auth-choice fireworks-api-key
# 方式二:直接传参(非交互 + 跳过健康检查) openclaw onboard --non-interactive --accept-risk --skip-health \ --auth-choice fireworks-api-key \ --fireworks-api-key "$FIREWORKS_API_KEY"
# 方式三:仅设置环境变量 export FIREWORKS_API_KEY=fw-...

Onboarding 会把密钥按fireworksprovider 写入你的 auth profiles,并将 Fireworks 当前的 Fire Pass GLM 5.2 Fast 路由模型设为默认模型。--auth-choice fireworks-api-key--fireworks-api-key <key>的对应关系定义在插件清单的providerAuthChoices中(见 openclaw.plugin.json),该配置声明了appGuidedSecret: true,说明该密钥属于引导式安全凭证。

第三步:验证模型可用性

openclaw models list --provider fireworks

列表中应包含GLM 5.2 FastKimi K2.6Kimi K2.6 Fast三款模型。如果FIREWORKS_API_KEY未解析,openclaw models status --json会在auth.unusableProfiles字段下报告缺失的凭证。

非交互式安装(脚本 / CI 场景)

对于脚本化或 CI 安装,可一次性把所有参数放在命令行上:

openclaw onboard --non-interactive \ --mode local \ --auth-choice fireworks-api-key \ --fireworks-api-key "$FIREWORKS_API_KEY" \ --skip-health \ --accept-risk

其中--mode local指定本地运行模式,--skip-health跳过健康检查、--accept-risk接受非交互模式下的风险确认,适合无人值守的自动化流程。

内置模型目录:三个预置模型

Onboarding 配置应用器(extensions/fireworks/onboard.ts)会保存连接设置与别名,但不会把生成的目录行复制进你的配置文件;只有当配置中显式设置models.mode: "replace"时,目录种子(catalog seeding)才会被启用,此时自定义模型行依然保持完整不受影响。

内置目录模型如下:

模型引用名称输入上下文最大输出思考(Thinking)
fireworks/accounts/fireworks/routers/glm-5p2-fastGLM 5.2 Fasttext256,000256,000开启(默认)
fireworks/accounts/fireworks/models/kimi-k2p6Kimi K2.6text + image262,144262,144强制关闭
fireworks/accounts/fireworks/routers/kimi-k2p6-turboKimi K2.6 Fasttext + image262,144256,000强制关闭

这三行的权威来源是插件清单modelCatalog(openclaw.plugin.json),其中还登记了更多细节:

  • GLM 5.2 Fastreasoning: true,上下文与最大输出均为 256,000;成本参数input: 2.1output: 6.6cacheRead: 0.21
  • Kimi K2.6reasoning: false,支持文本 + 图片输入;成本参数input: 0.95output: 4cacheRead: 0.16
  • Kimi K2.6 Fastreasoning: false,上下文 262,144、最大输出 256,000;成本参数input: 2output: 8cacheRead: 0.3;并带有兼容性标记unsupportedToolSchemaKeywords: ["not"],提示该模型的工具 schema 不支持not关键字。

模型目录构建逻辑集中在 extensions/fireworks/provider-catalog.ts:它从插件清单读取 provider 配置,导出FIREWORKS_BASE_URLFIREWORKS_DEFAULT_MODEL_IDFIREWORKS_DEFAULT_CONTEXT_WINDOW(256,000)与FIREWORKS_DEFAULT_MAX_TOKENS(256,000),供入口与 onboard 逻辑复用;buildFireworksCatalogModels()会以结构化克隆方式返回清单中的模型行,避免外部修改污染清单源数据。

注意:OpenClaw 将所有 Fireworks Kimi 模型固定为thinking: off,原因是 Kimi 在 Fireworks 平台上若不显式关闭思考,可能把思维链(chain-of-thought)泄漏进可见回复中。若希望保留 Kimi 的推理输出,可将同一模型改经 Moonshot 直接路由;思考模式的跨 provider 切换可参考 思考模式。

自定义 Fireworks 模型 ID

OpenClaw 在运行时接受任何 Fireworks 模型或路由 ID:使用 Fireworks 平台显示的确切 ID,并加上fireworks/前缀即可。动态解析会复用 Fire Pass 模板的 OpenAI 兼容 API,将 GLM 类 ID 标记为纯文本输入,其他动态 ID 则声明为文本 + 图片输入;当 ID 命中 Kimi 模式时自动关闭思考。若模型能力不同,可配置自定义模型条目并声明其支持的输入类型:

{ agents: { defaults: { model: { primary: "fireworks/accounts/fireworks/models/<your-model-id>", }, }, }, }

模型 ID 前缀的工作机制

OpenClaw 中每个 Fireworks 模型引用都以fireworks/开头,后接 Fireworks 平台上的确切 ID 或路由路径。例如:

  • 路由模型:fireworks/accounts/fireworks/routers/kimi-k2p6-turbo
  • 直连模型:fireworks/accounts/fireworks/models/<model-name>

发起 API 请求时,OpenClaw 会剥离fireworks/前缀,把剩余路径作为 OpenAI 兼容的model字段发给 Fireworks 端点。

这一逻辑在 extensions/fireworks/index.ts 的resolveFireworksDynamicModel中实现:如果模型 ID 命中内置目录(isFireworksCatalogModelId),直接返回undefined走目录行;否则克隆默认模型模板,按是否 Kimi 模型决定reasoning取值,并通过isFireworksGlmModelId(末段匹配/^glm[-_.]/正则)判断输入类型——GLM 为纯文本,其余动态 ID 默认为文本 + 图片。normalizeModelCompat兜底分支会以FIREWORKS_DEFAULT_CONTEXT_WINDOW(256,000)与FIREWORKS_DEFAULT_MAX_TOKENS(256,000)为动态模型补齐上下文与输出上限。

深入原理:为什么 Fireworks 上的 Kimi 思考被强制关闭

流层:请求载荷补丁

Fireworks 以不含独立推理通道的方式服务 Kimi,因此思维链可能出现在可见的content流中。为此,OpenClaw 对每个 Fireworks Kimi 请求发送thinking: { type: "disabled" },并从载荷中剥离reasoningreasoning_effortreasoningEffort三个字段。实现位于 extensions/fireworks/stream.ts:wrapFireworksProviderStream仅在 provider 归一化后为fireworks/fireworks-ai、模型 API 为openai-completions且模型 ID 命中 Kimi 判定时生效,通过createPayloadPatchStreamWrapper对流请求载荷打补丁。

策略层:思考等级声明

extensions/fireworks/thinking-policy.ts 为 Kimi 模型 ID 返回固定的思考画像:levels: [{ id: "off" }]defaultLevel: "off"——即只对外暴露off一个等级。这样手动的/think切换与 provider 策略面(provider-policy surfaces)都会与运行时契约保持一致,避免用户误以为 Kimi 在 Fireworks 上可以开启思考。

判定层:Kimi 模型 ID 正则

extensions/fireworks/model-id.ts 定义了 Kimi 判定正则:

/^kimi-k2(?:p[56]|[.-][56])(?:[-_].+)?$/

它匹配kimi-k2p5kimi-k2p6kimi-k2.6kimi-k2-6等末段形态及其带后缀的变体,流层补丁、思考策略与动态模型解析三处共用该判定,保证行为一致。

保留推理的替代路径

如需端到端使用 Kimi 推理能力,可配置 Moonshot provider,将同一模型改经 Moonshot 自有 API 路由,即可获得原生思考输出。跨 provider 的思考等级与推理模型路由方式参见 思考模式 与 模型提供方概念。

守护进程场景下的密钥可用性

如果 Gateway 以托管服务方式运行(launchd、systemd、Docker),Fireworks 密钥必须对该进程可见——仅在交互式 shell 中export是不够的。

警告:仅在交互式 shell 导出的密钥,无法被 launchd 或 systemd 守护进程读取,除非把该环境一并导入。请在~/.openclaw/.env中设置密钥,或通过env.shellEnv配置,使其对 gateway 进程可读。

OpenClaw 在加载配置时会读取~/.openclaw/.env,因此存放在那里的密钥在每个平台都能被托管 gateway 服务读取到。轮换密钥后,请重启 gateway(或重新执行openclaw doctor --fix)使新密钥生效。

相关文档

  • 模型提供方概念:provider、模型引用与故障转移行为的选择
  • 思考模式:/think等级、provider 策略与推理模型路由
  • Moonshot provider:经 Moonshot 自有 API 运行带原生思考输出的 Kimi
  • 故障排查:通用排障与 FAQ
  • Fireworks 插件入口源码 与 插件测试:插件注册、别名、动态模型解析的验证用例

【免费下载链接】openclawThe AI that really does things. Any OS. Any Platform. The lobster way. 🦞项目地址: https://gitcode.com/GitHub_Trending/cl/openclaw

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询