Skip to main content
Moonshot provides the Kimi API with OpenAI-compatible endpoints. Fresh Moonshot onboarding selects moonshot/kimi-k3; use kimi/kimi-for-coding for the separate Kimi Coding provider.
Moonshot and Kimi Coding are separate providers, each shipped as a separate external plugin. Keys are not interchangeable, endpoints differ, and model refs differ (moonshot/... vs kimi/...).

Built-in model catalog

Catalog cost estimates use Moonshot’s published pay-as-you-go rates. Check the live vendor pages for Kimi K3 and Kimi K2.7 Code before making cost decisions. Kimi K3 always reasons and accepts reasoning_effort values low, high, and max (the default). OpenClaw exposes those exact levels and maps /think xhigh to max; it omits the K2-only thinking field and removes sampling overrides (temperature, top_p, n, presence_penalty, and frequency_penalty) that K3 fixes to provider defaults. Kimi K2.7 Code also always uses native thinking but requires both thinking and reasoning_effort to be omitted; the HighSpeed variant uses the same contract. Kimi K3 is the onboarding default. See Moonshot’s Kimi K3 quickstart.

Getting started

Both Moonshot and Kimi Coding are external plugins - install one before onboarding.
Best for: Kimi K3 and K2 models via the Moonshot Open Platform.
1

Install the plugin

2

Choose your endpoint region

3

Run onboarding

Or for the China endpoint:
4

Confirm the Kimi K3 default

Fresh onboarding selects Kimi K3. Existing installations can switch explicitly:
5

Verify models are available

6

Run a live smoke test

Use an isolated state dir when you want to verify model access and cost tracking without touching your normal sessions:
The JSON response should report provider: "moonshot" and model: "kimi-k3". The assistant transcript entry stores normalized token usage plus estimated cost under usage.cost when Moonshot returns usage metadata.

Config example

The Moonshot plugin also registers Kimi as a web_search provider, backed by Moonshot web search.
1

Run interactive web search setup

Choose Kimi in the web-search section to store plugins.entries.moonshot.config.webSearch.*.
2

Configure the web search region and model

Interactive setup prompts for:
Config lives under plugins.entries.moonshot.config.webSearch:

Advanced configuration

Moonshot API Kimi K3 always reasons at maximum effort. OpenClaw exposes only /think max, sends reasoning_effort: "max", and ignores stale lower or off settings.Kimi Code K3 exposes /think off|minimal|low|medium|high|adaptive|xhigh|max. Its Anthropic-compatible endpoint receives thinking.type: "disabled" for off. Every enabled level uses adaptive thinking; minimal/low maps to low effort, medium/high/adaptive maps to high effort, and xhigh/max maps to max effort. This applies to both kimi/k3 and kimi/k3-256k. Legacy kimi/k3[1m] normalizes to kimi/k3. Moonshot API K3 supports auto, none, required, and pinned tool choices, so OpenClaw preserves the requested tool_choice. For multi-turn tool use, OpenClaw preserves the assistant reasoning content required by Moonshot’s replay contract.Kimi K2.7 Code always uses native thinking. Moonshot requires clients to omit the thinking field for this model, so OpenClaw exposes only on and ignores stale off settings. K2.7 also fixes temperature, top_p, n, presence_penalty, and frequency_penalty; OpenClaw omits configured overrides for those fields.Other Moonshot Kimi models support binary native thinking:
  • thinking: { type: "enabled" }
  • thinking: { type: "disabled" }
Configure it per model via agents.defaults.models.<provider/model>.params:
OpenClaw maps runtime /think levels for those models:
When Moonshot K2 thinking is enabled, tool_choice must be auto or none. A pinned tool choice (type: "tool" or type: "function") forces thinking back to disabled instead, so the requested tool still runs; tool_choice: "required" is normalized to auto instead. Kimi K2.7 Code cannot disable thinking, so its incompatible tool_choice is normalized to auto. Kimi K3 uses its separate reasoning-effort contract and preserves supported tool choices.
Kimi K2.6 also accepts an optional thinking.keep field that controls multi-turn retention of reasoning_content. Set it to "all" to keep full reasoning across turns; omit it (or leave it null) to use the server default strategy. OpenClaw only forwards thinking.keep for moonshot/kimi-k2.6 and strips it from other models. Kimi K2.7 Code preserves full reasoning history by default while OpenClaw omits the entire thinking field.
Moonshot Kimi serves native tool_call ids shaped like functions.<name>:<index>. OpenClaw preserves the first occurrence of each native Kimi id and rewrites later duplicates to deterministic OpenAI-style call_* ids. Matching tool results are remapped with the same id so replay remains unique without stripping Kimi’s first native id. This behavior is wired into the bundled Moonshot provider and is not a user-configurable setting.
Native Moonshot endpoints (https://api.moonshot.ai/v1 and https://api.moonshot.cn/v1) advertise streaming usage compatibility. OpenClaw keys this off the endpoint host, not the provider id, so a custom provider id pointed at the same native Moonshot host inherits the same streaming-usage behavior.With the catalog K3 pricing, streamed usage that includes input, output, and cache-read tokens is also converted into local estimated USD cost for /status, /usage full, /usage cost, and transcript-backed session accounting.
  • Kimi web search uses KIMI_API_KEY or MOONSHOT_API_KEY, and defaults to https://api.moonshot.ai/v1 with model kimi-k2.6.
  • Override pricing and context metadata in models.providers if needed.
  • If Moonshot publishes different context limits for a model, adjust contextWindow accordingly.

Model selection

Choosing providers, model refs, and failover behavior.

Web search

Configuring web search providers including Kimi.

Configuration reference

Full config schema for providers, models, and plugins.

Moonshot Open Platform

Moonshot API key management and documentation.