Fireworks Provider Setup: Auth and Model Selection
Learn how to install the Fireworks provider plugin, set your API key, and choose from GLM routers or custom models. This guide is for developers integrating Fireworks with OpenClaw.
Read this when
- You want to use Fireworks with OpenClaw
- You need the Fireworks API key env var or default model id
- You are debugging Kimi thinking-off behavior on Fireworks
Fireworks provides open-weight and routed models through an API that works like OpenAI's. To access the current Fire Pass GLM router, two pre-cataloged Kimi models, and any Fireworks model or router id at runtime, install the official Fireworks provider plugin.
| Property | Value |
|---|---|
| Provider id | fireworks (alias: fireworks-ai) |
| Package | @openclaw/fireworks-provider |
| Auth env var | FIREWORKS_API_KEY |
| Onboarding flag | --auth-choice fireworks-api-key |
| Direct CLI flag | --fireworks-api-key <key> |
| API | OpenAI-compatible (openai-completions) |
| Base URL | https://api.fireworks.ai/inference/v1 |
| Default model | fireworks/accounts/fireworks/routers/glm-5p2-fast |
| Default alias | GLM 5.2 Fast |
Getting started
Install the plugin
openclaw plugins install @openclaw/fireworks-provider
Set the Fireworks API key
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-...
When you onboard, the key is saved under the fireworks provider in your auth profiles, and Fireworks' current Fire Pass GLM 5.2 Fast router gets set as the default model.
Verify the model is available
openclaw models list --provider fireworks
Make sure GLM 5.2 Fast, Kimi K2.6, and Kimi K2.6 Fast appear in the list. If FIREWORKS_API_KEY cannot be resolved, openclaw models status --json flags the missing credential under auth.unusableProfiles.
Non-interactive setup
For automated or CI setups, supply all parameters directly on the command line:
openclaw onboard --non-interactive \
--mode local \
--auth-choice fireworks-api-key \
--fireworks-api-key "$FIREWORKS_API_KEY" \
--skip-health \
--accept-risk
Built-in catalog
| Model ref | Name | Input | Context | Max output | Thinking |
|---|---|---|---|---|---|
fireworks/accounts/fireworks/routers/glm-5p2-fast | GLM 5.2 Fast | text | 256,000 | 256,000 | On (default) |
fireworks/accounts/fireworks/models/kimi-k2p6 | Kimi K2.6 | text + image | 262,144 | 262,144 | Forced off |
fireworks/accounts/fireworks/routers/kimi-k2p6-turbo | Kimi K2.6 Fast | text + image | 262,144 | 256,000 | Forced off |
Note
OpenClaw locks every Fireworks Kimi model to
thinking: offbecause, unless the request explicitly turns off thinking, Kimi on Fireworks can expose chain-of-thought in the visible reply. If you route the same model through Moonshot directly, Kimi reasoning output is preserved. To switch between providers, check thinking modes.
Custom Fireworks model ids
At runtime, OpenClaw will take any Fireworks model or router id. Use the exact id shown by Fireworks and prepend fireworks/ to it. Dynamic resolution relies on the Fire Pass template's OpenAI-compatible API and tags GLM ids as text-only; other dynamic ids claim text + image input. When the id matches the Kimi pattern, thinking is turned off automatically. For a model with different capabilities, set up a custom model entry that lists its supported input types.
{
agents: {
defaults: {
model: {
primary: "fireworks/accounts/fireworks/models/<your-model-id>",
},
},
},
}
How model id prefixing works
In OpenClaw, every Fireworks model ref begins with fireworks/, followed by the exact id or router path from the Fireworks platform. For instance:
- Router model:
fireworks/accounts/fireworks/routers/kimi-k2p6-turbo - Direct model:
fireworks/accounts/fireworks/models/<model-name>
When building the API request, OpenClaw removes the fireworks/ prefix and sends the remaining path to the Fireworks endpoint as the OpenAI-compatible model field.
Why thinking is forced off for Kimi
Since Fireworks delivers Kimi without a separate reasoning channel, chain-of-thought may show up in the visible content stream. For every Fireworks Kimi request, OpenClaw sends thinking: { type: "disabled" } and removes reasoning, reasoning_effort, and reasoningEffort from the payload (extensions/fireworks/stream.ts). The provider policy (extensions/fireworks/thinking-policy.ts) advertises only the off thinking level for Kimi model ids, so manual /think switches and provider-policy surfaces match the runtime contract.
To get Kimi reasoning end-to-end, set up the Moonshot provider and route the same model through it.
Environment availability for the daemon
If the Gateway runs as a managed service (launchd, systemd, Docker), the Fireworks key must be accessible to that process, not just to your interactive shell.
Warning
A key exported only in an interactive shell won't help a launchd or systemd daemon unless that environment is also imported there. To make the key readable from the gateway process, set it in
~/.openclaw/.envor viaenv.shellEnv.
OpenClaw reads ~/.openclaw/.env at config load time, so any keys placed there are available to managed gateway services across all platforms. After you rotate the key, restart the gateway or execute openclaw doctor --fix again.
Related
-
Model providers, How to pick providers, reference models, and set up failover.
-
Thinking modes,
/thinksettings, provider rules, and directing reasoning-capable models. -
Moonshot, Use Kimi with native thinking output via Moonshot's API.
-
Troubleshooting, Common issues and answers.