Providers

Moonshot AI

A Moonshot fornece a API Kimi com endpoints compatíveis com OpenAI. Configure o provider e defina o modelo padrão como moonshot/kimi-k2.6, ou use Kimi Coding com kimi/kimi-code.

Catálogo de modelos incluído

Model ref Nome Raciocínio Entrada Contexto Saída máx.
moonshot/kimi-k2.6 Kimi K2.6 Não text, image 262,144 262,144
moonshot/kimi-k2.5 Kimi K2.5 Não text, image 262,144 262,144
moonshot/kimi-k2-thinking Kimi K2 Thinking Sim text 262,144 262,144
moonshot/kimi-k2-thinking-turbo Kimi K2 Thinking Turbo Sim text 262,144 262,144
moonshot/kimi-k2-turbo Kimi K2 Turbo Não text 256,000 16,384

As estimativas de custo incluídas para os modelos K2 atuais hospedados pela Moonshot usam as tarifas pay-as-you-go publicadas pela Moonshot: Kimi K2.6 custa $0.16/MTok em cache hit, $0.95/MTok de entrada e $4.00/MTok de saída; Kimi K2.5 custa $0.10/MTok em cache hit, $0.60/MTok de entrada e $3.00/MTok de saída. Outras entradas legadas do catálogo mantêm placeholders de custo zero, a menos que você os substitua na configuração.

Primeiros passos

Escolha seu provider e siga as etapas de configuração.

Moonshot API

Ideal para: modelos Kimi K2 via Moonshot Open Platform.

  • Escolha a região do seu endpoint

    Escolha de auth Endpoint Região
    moonshot-api-key https://api.moonshot.ai/v1 Internacional
    moonshot-api-key-cn https://api.moonshot.cn/v1 China
  • Execute o onboarding

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

    Ou, para o endpoint da China:

    openclaw onboard --auth-choice moonshot-api-key-cn
    
  • Defina um modelo padrão

    {
      agents: {
        defaults: {
          model: { primary: "moonshot/kimi-k2.6" },
        },
      },
    }
    
  • Verifique se os modelos estão disponíveis

    openclaw models list --provider moonshot
    
  • Execute um teste smoke ao vivo

    Use um diretório de estado isolado quando quiser verificar o acesso ao modelo e o rastreamento de custo sem tocar nas suas sessões normais:

    OPENCLAW_CONFIG_PATH=/tmp/openclaw-kimi/openclaw.json \
    OPENCLAW_STATE_DIR=/tmp/openclaw-kimi \
    openclaw agent --local \
      --session-id live-kimi-cost \
      --message 'Reply exactly: KIMI_LIVE_OK' \
      --thinking off \
      --json
    

    A resposta JSON deve informar provider: "moonshot" e model: "kimi-k2.6". A entrada de transcrição do assistente armazena o uso de tokens normalizado além do custo estimado em usage.cost quando a Moonshot retorna metadados de uso.

  • Exemplo de configuração

    {
      env: { MOONSHOT_API_KEY: "sk-..." },
      agents: {
        defaults: {
          model: { primary: "moonshot/kimi-k2.6" },
          models: {
            // moonshot-kimi-k2-aliases:start
            "moonshot/kimi-k2.6": { alias: "Kimi K2.6" },
            "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.6",
                name: "Kimi K2.6",
                reasoning: false,
                input: ["text", "image"],
                cost: { input: 0.95, output: 4, cacheRead: 0.16, cacheWrite: 0 },
                contextWindow: 262144,
                maxTokens: 262144,
              },
              {
                id: "kimi-k2.5",
                name: "Kimi K2.5",
                reasoning: false,
                input: ["text", "image"],
                cost: { input: 0.6, output: 3, cacheRead: 0.1, 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

    Ideal para: tarefas focadas em código via endpoint do Kimi Coding.

  • Execute o onboarding

    openclaw onboard --auth-choice kimi-code-api-key
    
  • Defina um modelo padrão

    {
      agents: {
        defaults: {
          model: { primary: "kimi/kimi-code" },
        },
      },
    }
    
  • Verifique se o modelo está disponível

    openclaw models list --provider kimi
    
  • Exemplo de configuração

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

    Pesquisa na web do Kimi

    O OpenClaw também inclui Kimi como provider de web_search, com suporte da pesquisa na web da Moonshot.

  • Execute a configuração interativa da pesquisa na web

    openclaw configure --section web
    

    Escolha Kimi na seção de pesquisa na web para armazenar plugins.entries.moonshot.config.webSearch.*.

  • Configure a região da pesquisa na web e o modelo

    A configuração interativa solicita:

    Configuração Opções
    Região da API https://api.moonshot.ai/v1 (internacional) ou https://api.moonshot.cn/v1 (China)
    Modelo de pesquisa na web O padrão é kimi-k2.6
  • A configuração fica em plugins.entries.moonshot.config.webSearch:

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

    Configuração avançada

    Modo nativo de raciocínio

    O Moonshot Kimi oferece suporte a raciocínio nativo binário:

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

    Configure isso por modelo em agents.defaults.models.<provider/model>.params:

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

    O OpenClaw também mapeia níveis de /think em tempo de execução para a Moonshot:

    nível de /think comportamento da Moonshot
    /think off thinking.type=disabled
    Qualquer nível não-off thinking.type=enabled

    O Kimi K2.6 também aceita um campo opcional thinking.keep que controla a retenção de reasoning_content em múltiplos turnos. Defina-o como "all" para manter todo o raciocínio entre os turnos; omita-o (ou deixe-o como null) para usar a estratégia padrão do servidor. O OpenClaw só encaminha thinking.keep para moonshot/kimi-k2.6 e o remove dos outros modelos.

    {
      agents: {
        defaults: {
          models: {
            "moonshot/kimi-k2.6": {
              params: {
                thinking: { type: "enabled", keep: "all" },
              },
            },
          },
        },
      },
    }
    
    Sanitização de IDs de chamadas de ferramenta

    O Moonshot Kimi fornece IDs de tool_call no formato functions.<name>:<index>. O OpenClaw os preserva sem alterações para que as chamadas de ferramenta em múltiplos turnos continuem funcionando.

    Para forçar uma sanitização estrita em um provider personalizado compatível com OpenAI, defina sanitizeToolCallIds: true:

    {
      models: {
        providers: {
          "my-kimi-proxy": {
            api: "openai-completions",
            sanitizeToolCallIds: true,
          },
        },
      },
    }
    
    Compatibilidade de uso com streaming

    Os endpoints nativos da Moonshot (https://api.moonshot.ai/v1 e https://api.moonshot.cn/v1) anunciam compatibilidade de uso com streaming no transporte compartilhado openai-completions. O OpenClaw baseia isso nas capacidades do endpoint, então IDs de provider personalizados compatíveis que apontam para os mesmos hosts nativos da Moonshot herdam o mesmo comportamento de uso com streaming.

    Com o preço incluído do K2.6, o uso em streaming que inclui tokens de entrada, saída e leitura de cache também é convertido em custo estimado local em USD para /status, /usage full, /usage cost e para a contabilidade de sessão baseada em transcrição.

    Referência de endpoint e model ref
    Provider Prefixo de model ref Endpoint Variável de ambiente de auth
    Moonshot moonshot/ https://api.moonshot.ai/v1 MOONSHOT_API_KEY
    Moonshot CN moonshot/ https://api.moonshot.cn/v1 MOONSHOT_API_KEY
    Kimi Coding kimi/ Endpoint do Kimi Coding KIMI_API_KEY
    Pesquisa na web N/A Igual à região da API Moonshot KIMI_API_KEY ou MOONSHOT_API_KEY
    • A pesquisa na web do Kimi usa KIMI_API_KEY ou MOONSHOT_API_KEY e, por padrão, usa https://api.moonshot.ai/v1 com o modelo kimi-k2.6.
    • Substitua metadados de preço e contexto em models.providers, se necessário.
    • Se a Moonshot publicar limites de contexto diferentes para um modelo, ajuste contextWindow conforme necessário.

    Relacionado