OpenClawSkills
GitHub
Providers • TutorialHeader.readTime

Moonshot AI

Configure Moonshot K2 vs Kimi Coding (separate providers + keys)

Moonshot provides the Kimi API with OpenAI-compatible endpoints. Configure provider and set default model to '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'moonshot/kimi-k2.5'</code>', or use Kimi Coding with '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'kimi-coding/k2p5'</code>'.

Current Kimi K2 model IDs:

{/_ moonshot-kimi-k2-ids:start _/ && null}

- kimi-k2.5

- kimi-k2-0905-preview

- kimi-k2-turbo-preview

- kimi-k2-thinking

- kimi-k2-thinking-turbo

{/_ moonshot-kimi-k2-ids:end _/ && null}

Bash
openclaw onboard --auth-choice moonshot-api-key

Kimi Coding:

Bash
openclaw onboard --auth-choice kimi-code-api-key

Note: Moonshot and Kimi Coding are separate providers. Keys are not interchangeable, endpoints differ, and model refs differ (Moonshot uses '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'moonshot/...'</code>', Kimi Coding uses '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'kimi-coding/...'</code>').

Tutorial.step

Config snippet (Moonshot API)

Json5
{
  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-0905-preview": { alias: "Kimi K2" },
        "moonshot/kimi-k2-turbo-preview": { alias: "Kimi K2 Turbo" },
        "moonshot/kimi-k2-thinking": { alias: "Kimi K2 Thinking" },
        "moonshot/kimi-k2-thinking-turbo": { alias: "Kimi K2 Thinking 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"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 256000,
            maxTokens: 8192,
          },
          {
            id: "kimi-k2-0905-preview",
            name: "Kimi K2 0905 Preview",
            reasoning: false,
            input: ["text"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 256000,
            maxTokens: 8192,
          },
          {
            id: "kimi-k2-turbo-preview",
            name: "Kimi K2 Turbo",
            reasoning: false,
            input: ["text"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 256000,
            maxTokens: 8192,
          },
          {
            id: "kimi-k2-thinking",
            name: "Kimi K2 Thinking",
            reasoning: true,
            input: ["text"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 256000,
            maxTokens: 8192,
          },
          {
            id: "kimi-k2-thinking-turbo",
            name: "Kimi K2 Thinking Turbo",
            reasoning: true,
            input: ["text"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 256000,
            maxTokens: 8192,
          },
          // moonshot-kimi-k2-models:end
        ],
      },
    },
  },
}
Tutorial.step

Kimi Coding

Json5
{
  env: { KIMI_API_KEY: "sk-..." },
  agents: {
    defaults: {
      model: { primary: "kimi-coding/k2p5" },
      models: {
        "kimi-coding/k2p5": { alias: "Kimi K2.5" },
      },
    },
  },
}
Tutorial.step

Notes

- Moonshot model refs use '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'moonshot/&lt;modelId&gt;'</code>'. Kimi Coding model refs use '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'kimi-coding/&lt;modelId&gt;'</code>'.

- Override pricing and context metadata in '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'models.providers'</code>' if needed.

- If Moonshot publishes different context limits for a model, adjust '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'contextWindow'</code>' accordingly.

- Use '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'https://api.moonshot.ai/v1'</code>' for international endpoint, and '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'https://api.moonshot.cn/v1'</code>' for China endpoint.