Moonshot AI (Kimi)

Moonshot 提供 Kimi API,端點相容 OpenAI。設定供應商並將預設模型設為 moonshot/kimi-k2.5,或使用 Kimi Coding 的 kimi-coding/k2p5

目前的 Kimi K2 模型 ID:

{/_ 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}
openclaw onboard --auth-choice moonshot-api-key

Kimi Coding:

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

注意:Moonshot 和 Kimi Coding 是不同的供應商。金鑰不可互用、端點不同、模型參考也不同(Moonshot 使用 moonshot/...,Kimi Coding 使用 kimi-coding/...)。

設定範例(Moonshot API)

{
  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
        ],
      },
    },
  },
}

Kimi Coding

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

注意事項

  • Moonshot 模型參考使用 moonshot/<modelId>。Kimi Coding 模型參考使用 kimi-coding/<modelId>
  • 如有需要,可在 models.providers 中覆寫定價和上下文中繼資料。
  • 如果 Moonshot 針對某個模型公布了不同的上下文限制,請相應調整 contextWindow
  • 國際端點使用 https://api.moonshot.ai/v1,中國端點使用 https://api.moonshot.cn/v1

原生思考模式(Moonshot)

Moonshot Kimi 支援二元原生思考:

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

透過 agents.defaults.models.<provider/model>.params 為每個模型設定:

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

OpenClaw 也會為 Moonshot 對應執行時的 /think 層級:

  • /think off -> thinking.type=disabled
  • 任何非 off 的思考層級 -> thinking.type=enabled

當 Moonshot 思考模式啟用時,tool_choice 必須是 autonone。OpenClaw 會自動將不相容的 tool_choice 值正規化為 auto 以確保相容性。