The documentation incorrectly suggested using api.moonshot.cn as an alternative China endpoint. Testing shows this endpoint returns 401 Invalid Authentication errors even with valid API keys. The correct global endpoint is api.moonshot.ai/v1, which is already used in the source code (src/agents/models-config.providers.ts). Updated the docs to reflect this and removed the misleading note about the .cn endpoint to prevent user confusion.
163 lines
4.6 KiB
Markdown
163 lines
4.6 KiB
Markdown
---
|
|
summary: "Configure Moonshot K2 vs Kimi Code (separate providers + keys)"
|
|
read_when:
|
|
- You want Moonshot K2 (Moonshot Open Platform) vs Kimi Code setup
|
|
- You need to understand separate endpoints, keys, and model refs
|
|
- You want copy/paste config for either provider
|
|
---
|
|
|
|
# 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 Code with `kimi-code/kimi-for-coding`.
|
|
|
|
Current Kimi K2 model IDs:
|
|
{/* moonshot-kimi-k2-ids:start */}
|
|
- `kimi-k2.5`
|
|
- `kimi-k2-0905-preview`
|
|
- `kimi-k2-turbo-preview`
|
|
- `kimi-k2-thinking`
|
|
- `kimi-k2-thinking-turbo`
|
|
{/* moonshot-kimi-k2-ids:end */}
|
|
|
|
```bash
|
|
openclaw onboard --auth-choice moonshot-api-key
|
|
```
|
|
|
|
Kimi Code:
|
|
|
|
```bash
|
|
openclaw onboard --auth-choice kimi-code-api-key
|
|
```
|
|
|
|
Note: Moonshot and Kimi Code are separate providers. Keys are not interchangeable, endpoints differ, and model refs differ (Moonshot uses `moonshot/...`, Kimi Code uses `kimi-code/...`).
|
|
|
|
## 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
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
## Kimi Code
|
|
|
|
```json5
|
|
{
|
|
env: { KIMICODE_API_KEY: "sk-..." },
|
|
agents: {
|
|
defaults: {
|
|
model: { primary: "kimi-code/kimi-for-coding" },
|
|
models: {
|
|
"kimi-code/kimi-for-coding": { alias: "Kimi Code" }
|
|
}
|
|
}
|
|
},
|
|
models: {
|
|
mode: "merge",
|
|
providers: {
|
|
"kimi-code": {
|
|
baseUrl: "https://api.kimi.com/coding/v1",
|
|
apiKey: "${KIMICODE_API_KEY}",
|
|
api: "openai-completions",
|
|
models: [
|
|
{
|
|
id: "kimi-for-coding",
|
|
name: "Kimi For Coding",
|
|
reasoning: true,
|
|
input: ["text"],
|
|
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
|
contextWindow: 262144,
|
|
maxTokens: 32768,
|
|
headers: { "User-Agent": "KimiCLI/0.77" },
|
|
compat: { supportsDeveloperRole: false }
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
## Notes
|
|
|
|
- Moonshot model refs use `moonshot/<modelId>`. Kimi Code model refs use `kimi-code/<modelId>`.
|
|
- Override pricing and context metadata in `models.providers` if needed.
|
|
- If Moonshot publishes different context limits for a model, adjust
|
|
`contextWindow` accordingly.
|
|
- The global endpoint is `https://api.moonshot.ai/v1`. Use this for all regions.
|