Files
openclaw/docs/providers/fireworks.md
Peter Steinberger f7d7148cf0 docs: rewrite published docs grounded in current source (#100142)
Source-grounded rewrite of 529 published docs pages with per-unit information-loss verification: 1,713 factual corrections cited to src/**, generated surfaces regenerated, frontmatter titles preserved for i18n, release notes pages untouched. All docs gates green.

Closes #100141
2026-07-05 00:32:47 -04:00

6.7 KiB

summary, title, read_when
summary title read_when
Fireworks setup (auth + model selection) Fireworks
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 exposes open-weight and routed models through an OpenAI-compatible API. Install the official Fireworks provider plugin to use two pre-cataloged Kimi models and any Fireworks model or router id at runtime.

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/kimi-k2p5-turbo
Default alias Kimi K2.5 Turbo

Getting started

```bash openclaw plugins install @openclaw/fireworks-provider ```
openclaw onboard --auth-choice fireworks-api-key
openclaw onboard --non-interactive \
  --auth-choice fireworks-api-key \
  --fireworks-api-key "$FIREWORKS_API_KEY"
export FIREWORKS_API_KEY=fw-...
</CodeGroup>

Onboarding stores the key against the `fireworks` provider in your auth profiles and sets the **Fire Pass** Kimi K2.5 Turbo router as the default model.
```bash openclaw models list --provider fireworks ```
The list should include `Kimi K2.6` and `Kimi K2.5 Turbo (Fire Pass)`. If `FIREWORKS_API_KEY` is unresolved, `openclaw models status --json` reports the missing credential under `auth.unusableProfiles`.

Non-interactive setup

For scripted or CI installs, pass everything 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/models/kimi-k2p6 Kimi K2.6 text + image 262,144 262,144 Forced off
fireworks/accounts/fireworks/routers/kimi-k2p5-turbo Kimi K2.5 Turbo (Fire Pass) text + image 256,000 256,000 Forced off (default)
OpenClaw pins all Fireworks Kimi models to `thinking: off` because Kimi on Fireworks can leak chain-of-thought into the visible reply unless the request explicitly disables thinking. Routing the same model through [Moonshot](/providers/moonshot) directly preserves Kimi reasoning output. See [thinking modes](/tools/thinking) for switching between providers.

Custom Fireworks model ids

OpenClaw accepts any Fireworks model or router id at runtime. Use the exact id shown by Fireworks and prefix it with fireworks/. Dynamic resolution clones the Fire Pass template (text + image input, OpenAI-compatible API, default cost zero) and disables thinking automatically when the id matches the Kimi pattern. GLM dynamic ids are marked text-only unless you configure a custom model entry with image input.

{
  agents: {
    defaults: {
      model: {
        primary: "fireworks/accounts/fireworks/models/<your-model-id>",
      },
    },
  },
}
Every Fireworks model ref in OpenClaw starts with `fireworks/` followed by the exact id or router path from the Fireworks platform. For example:
- Router model: `fireworks/accounts/fireworks/routers/kimi-k2p5-turbo`
- Direct model: `fireworks/accounts/fireworks/models/<model-name>`

OpenClaw strips the `fireworks/` prefix when constructing the API request and sends the remaining path to the Fireworks endpoint as the OpenAI-compatible `model` field.
Fireworks serves Kimi without a separate reasoning channel, so chain-of-thought can surface in the visible `content` stream. On every Fireworks Kimi request OpenClaw sends `thinking: { type: "disabled" }` and strips `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 stay aligned with the runtime contract.
To use Kimi reasoning end-to-end, configure the [Moonshot provider](/providers/moonshot) and route the same model through it.
If the Gateway runs as a managed service (launchd, systemd, Docker), the Fireworks key must be visible to that process — not just to your interactive shell.
<Warning>
  A key exported only in an interactive shell will not help a launchd or systemd daemon unless that environment is imported there too. Set the key in `~/.openclaw/.env` or via `env.shellEnv` to make it readable from the gateway process.
</Warning>

OpenClaw loads `~/.openclaw/.env` when it loads config, so keys stored there reach managed gateway services on every platform. Restart the gateway (or re-run `openclaw doctor --fix`) after rotating the key.
Choosing providers, model refs, and failover behavior. `/think` levels, provider policies, and routing reasoning-capable models. Run Kimi with native thinking output through Moonshot's own API. General troubleshooting and FAQ.