OpenClaw Reference (Mirrored)

Moonshot AI (Kimi)

Mirrored from OpenClaw (MIT)
This mirror is provided for convenience. OpenClawdBots is not affiliated with or endorsed by OpenClaw.

Moonshot AI (Kimi)

Moonshot provides the Kimi API with OpenAI-compatible endpoints. Configure the provider and set the default model to moonshot/kimi-k2.5, or use Kimi Coding with kimi/kimi-code.

WARNING

Moonshot and Kimi Coding are separate providers. Keys are not interchangeable, endpoints differ, and model refs differ (moonshot/... vs kimi/...).

Built-in model catalog

Model refNameReasoningInputContextMax output
moonshot/kimi-k2.5Kimi K2.5Notext, image262,144262,144
moonshot/kimi-k2-thinkingKimi K2 ThinkingYestext262,144262,144
moonshot/kimi-k2-thinking-turboKimi K2 Thinking TurboYestext262,144262,144
moonshot/kimi-k2-turboKimi K2 TurboNotext256,00016,384

Getting started

Choose your provider and follow the setup steps.

Moonshot API

Best for: Kimi K2 models via the Moonshot Open Platform.

  1. Choose your endpoint region
    Auth choiceEndpointRegion
    moonshot-api-keyhttps://api.moonshot.ai/v1International
    moonshot-api-key-cnhttps://api.moonshot.cn/v1China
  2. Run onboarding
    openclaw onboard --auth-choice moonshot-api-key
    

    Or for the China endpoint:

    openclaw onboard --auth-choice moonshot-api-key-cn
    
  3. Set a default model
    {
      agents: {
        defaults: {
          model: { primary: "moonshot/kimi-k2.5" },
        },
      },
    }
    
  4. Verify models are available
    openclaw models list --provider moonshot
    

Config example

{
  env: { MOONSHOT_API_KEY: "sk-..." },
  agents: {
    defaults: {
      model: { primary: "moonshot/kimi-k2.5" },
      models: {
        // moonshot-kimi-k2-aliases:start
        "moonshot/kimi-k2.5": { alias: "Kimi K2.5" },
        "moonshot/kimi-k2-thinking": { alias: "Kimi K2 Thinking" },
        "moonshot/kimi-k2-thinking-turbo": { alias: "Kimi K2 Thinking Turbo" },
        "moonshot/kimi-k2-turbo": { alias: "Kimi K2 Turbo" },
        // moonshot-kimi-k2-aliases:end
      },
    },
  },
  models: {
    mode: "merge",
    providers: {
      moonshot: {
        baseUrl: "https://api.moonshot.ai/v1",
        apiKey: "${MOONSHOT_API_KEY}",
        api: "openai-completions",
        models: [
          // moonshot-kimi-k2-models:start
          {
            id: "kimi-k2.5",
            name: "Kimi K2.5",
            reasoning: false,
            input: ["text", "image"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 262144,
            maxTokens: 262144,
          },
          {
            id: "kimi-k2-thinking",
            name: "Kimi K2 Thinking",
            reasoning: true,
            input: ["text"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 262144,
            maxTokens: 262144,
          },
          {
            id: "kimi-k2-thinking-turbo",
            name: "Kimi K2 Thinking Turbo",
            reasoning: true,
            input: ["text"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 262144,
            maxTokens: 262144,
          },
          {
            id: "kimi-k2-turbo",
            name: "Kimi K2 Turbo",
            reasoning: false,
            input: ["text"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 256000,
            maxTokens: 16384,
          },
          // moonshot-kimi-k2-models:end
        ],
      },
    },
  },
}
Kimi Coding

Best for: code-focused tasks via the Kimi Coding endpoint.

NOTE

Kimi Coding uses a different API key and provider prefix (kimi/...) than Moonshot (moonshot/...). Legacy model ref kimi/k2p5 remains accepted as a compatibility id.

  1. Run onboarding
    openclaw onboard --auth-choice kimi-code-api-key
    
  2. Set a default model
    {
      agents: {
        defaults: {
          model: { primary: "kimi/kimi-code" },
        },
      },
    }
    
  3. Verify the model is available
    openclaw models list --provider kimi
    

Config example

{
  env: { KIMI_API_KEY: "sk-..." },
  agents: {
    defaults: {
      model: { primary: "kimi/kimi-code" },
      models: {
        "kimi/kimi-code": { alias: "Kimi" },
      },
    },
  },
}

OpenClaw also ships Kimi as a web_search provider, backed by Moonshot web search.

  1. Run interactive web search setup
    openclaw configure --section web
    

    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:

    SettingOptions
    API regionhttps://api.moonshot.ai/v1 (international) or https://api.moonshot.cn/v1 (China)
    Web search modelDefaults to kimi-k2.5

Config lives under plugins.entries.moonshot.config.webSearch:

{
  plugins: {
    entries: {
      moonshot: {
        config: {
          webSearch: {
            apiKey: "sk-...", // or use KIMI_API_KEY / MOONSHOT_API_KEY
            baseUrl: "https://api.moonshot.ai/v1",
            model: "kimi-k2.5",
          },
        },
      },
    },
  },
  tools: {
    web: {
      search: {
        provider: "kimi",
      },
    },
  },
}

Advanced

Native thinking mode

Moonshot Kimi supports binary native thinking:

  • thinking: { type: "enabled" }
  • thinking: { type: "disabled" }

Configure it per model via agents.defaults.models.<provider/model>.params:

{
  agents: {
    defaults: {
      models: {
        "moonshot/kimi-k2.5": {
          params: {
            thinking: { type: "disabled" },
          },
        },
      },
    },
  },
}

OpenClaw also maps runtime /think levels for Moonshot:

/think levelMoonshot behavior
/think offthinking.type=disabled
Any non-off levelthinking.type=enabled
WARNING

When Moonshot thinking is enabled, tool_choice must be auto or none. OpenClaw normalizes incompatible tool_choice values to auto for compatibility.

Streaming usage compatibility

Native Moonshot endpoints (https://api.moonshot.ai/v1 and https://api.moonshot.cn/v1) advertise streaming usage compatibility on the shared openai-completions transport. OpenClaw keys that off endpoint capabilities, so compatible custom provider ids targeting the same native Moonshot hosts inherit the same streaming-usage behavior.

Endpoint and model ref reference
ProviderModel ref prefixEndpointAuth env var
Moonshotmoonshot/https://api.moonshot.ai/v1MOONSHOT_API_KEY
Moonshot CNmoonshot/https://api.moonshot.cn/v1MOONSHOT_API_KEY
Kimi Codingkimi/Kimi Coding endpointKIMI_API_KEY
Web searchN/ASame as Moonshot API regionKIMI_API_KEY or MOONSHOT_API_KEY
  • Kimi web search uses KIMI_API_KEY or MOONSHOT_API_KEY, and defaults to https://api.moonshot.ai/v1 with model kimi-k2.5.
  • Override pricing and context metadata in models.providers if needed.
  • If Moonshot publishes different context limits for a model, adjust contextWindow accordingly.