Kimi Code API

v2.0.0

One-click setup to use Kimi K2.5 (Kimi Code) as your coding model in OpenClaw and Claude Code CLI. Kimi Code is Anthropic Messages API compatible — swap the...

0· 194·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for jack-yang-ai/kimi-code-api.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Kimi Code API" (jack-yang-ai/kimi-code-api) from ClawHub.
Skill page: https://clawhub.ai/jack-yang-ai/kimi-code-api
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install kimi-code-api

ClawHub CLI

Package manager switcher

npx clawhub@latest install kimi-code-api
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The name/description match the instructions (how to configure OpenClaw and Claude Code to point at a Kimi Anthropic-compatible endpoint). Minor mismatch: marketing text says "one-click setup" but the SKILL.md provides manual config snippets and environment-variable examples rather than an automated installer.
Instruction Scope
SKILL.md only instructs the agent/user to set base URL and API key fields in OpenClaw config or export ANTHROPIC_* env vars and to call the Kimi API endpoints; it does not instruct reading unrelated system files, exfiltrating data, or contacting unexpected endpoints.
Install Mechanism
This is instruction-only (no install spec, no downloads, no code files). There is nothing written to disk or installed by the skill itself.
Credentials
The skill declares no required environment variables, which is consistent for an instruction-only guide. The runtime examples do ask users to provide ANTHROPIC_BASE_URL and ANTHROPIC_API_KEY — expected and proportionate for an API integration. One thing to note: examples show placing the API key in openclaw.json (config file) which may persist secrets in plaintext; using environment variables or a secrets manager is safer.
Persistence & Privilege
The skill is not always-enabled, does not request elevated privileges, and contains no installation steps that modify other skills or system-wide settings.
Assessment
This skill is an integration guide — it won't install code. Before using: (1) verify the domain (https://api.kimi.com/coding) is the official Kimi endpoint and that the service is trusted; (2) create and use a dedicated Kimi API key (do not reuse other provider keys), limit its scope if possible, and rotate/revoke it when not needed; (3) prefer exporting the key as an environment variable or using a secrets manager rather than embedding it in openclaw.json (which may store secrets in plaintext); (4) test with non-sensitive prompts first and confirm responses come from the expected service; and (5) if anything in your environment already assumes Anthropic endpoints, double-check you are not unintentionally routing other workloads to the Kimi endpoint.

Like a lobster shell, security has layers — review code before you run it.

latestvk9743gs3bg724ncr7dsae1rgwx83grnd
194downloads
0stars
3versions
Updated 1mo ago
v2.0.0
MIT-0

Kimi Code API — OpenClaw + Claude Code Integration

Kimi Code (K2.5) is Anthropic Messages API compatible. One config change and your OpenClaw runs Claude Code on Kimi's backend.

Quick Start: Get Your API Key

  1. Open Kimi Code Console
  2. Create an API Key → format: sk-kimi-...

Setup 1: OpenClaw — Add Kimi as a Provider + Model

Add to your openclaw.json under providers and models:

// In providers:
{
  "id": "kimi",
  "type": "anthropic",          // Kimi speaks Anthropic protocol
  "baseUrl": "https://api.kimi.com/coding",
  "apiKey": "sk-kimi-..."
}

// In models (or agents.defaults.models):
{
  "kimi/kimi-k2.5": {
    "alias": "Kimi K2.5",
    "params": {}
  }
}

Then use it anywhere in OpenClaw:

  • Set as agent model: "model": "kimi/kimi-k2.5"
  • Switch in chat: /model kimi/kimi-k2.5
  • Use as default for a specific agent

Setup 2: Claude Code CLI — Direct

export ANTHROPIC_BASE_URL="https://api.kimi.com/coding"
export ANTHROPIC_API_KEY="sk-kimi-..."

# Interactive
claude

# One-shot
claude --print "Refactor this function to use async/await"

Claude Code auto-appends /v1/messages to the base URL. No other changes needed.

Setup 3: OpenClaw Spawns Claude Code with Kimi

In OpenClaw, spawn a Claude Code (ACP) session that uses Kimi as the backend:

# In your agent config or via sessions_spawn:
sessions_spawn(
    runtime="acp",
    task="Your coding task here",
    env={
        "ANTHROPIC_BASE_URL": "https://api.kimi.com/coding",
        "ANTHROPIC_API_KEY": "sk-kimi-..."
    }
)

Or configure it globally in openclaw.json so every ACP spawn uses Kimi by default.

API Reference

PropertyValue
Base URLhttps://api.kimi.com/coding
Messages endpointhttps://api.kimi.com/coding/v1/messages
Auth headerx-api-key: sk-kimi-...
Version headeranthropic-version: 2023-06-01
Model (request)kimi-k2.5
Model (response)kimi-for-coding
ProtocolAnthropic Messages API
Streaming"stream": true → SSE

Raw Call Examples

curl

curl -s https://api.kimi.com/coding/v1/messages \
  -H "x-api-key: sk-kimi-..." \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{"model":"kimi-k2.5","max_tokens":1024,"messages":[{"role":"user","content":"Hello"}]}'

Python (no dependencies)

import json, urllib.request

req = urllib.request.Request(
    "https://api.kimi.com/coding/v1/messages",
    data=json.dumps({
        "model": "kimi-k2.5",
        "max_tokens": 4096,
        "messages": [{"role": "user", "content": "Hello"}]
    }).encode(),
    headers={
        "Content-Type": "application/json",
        "x-api-key": "sk-kimi-...",
        "anthropic-version": "2023-06-01",
    },
)
with urllib.request.urlopen(req, timeout=120) as resp:
    print(json.loads(resp.read())["content"][0]["text"])

Gotchas

  • Model name mismatch: Request sends kimi-k2.5, response returns kimi-for-coding. Don't assert on the response model field.
  • Anthropic format only: /v1/messages works. /v1/chat/completions (OpenAI format) returns 404.
  • api.moonshot.cn ≠ Kimi Code: That's the general Moonshot API — different product, different auth.
  • Timeout: Set ≥120s for complex prompts.
  • Provider type: Always "type": "anthropic" in OpenClaw config — Kimi speaks Anthropic, not OpenAI.

Comments

Loading comments...