fix: add Kimi Code docs + defaults (#1085) (thanks @dan-dr)
This commit is contained in:
@@ -6,6 +6,7 @@ Docs: https://docs.clawd.bot
|
|||||||
|
|
||||||
### Changes
|
### Changes
|
||||||
- macOS: strip prerelease/build suffixes when parsing gateway semver patches. (#1110) — thanks @zerone0x.
|
- macOS: strip prerelease/build suffixes when parsing gateway semver patches. (#1110) — thanks @zerone0x.
|
||||||
|
- Models: add Kimi Code provider onboarding and docs. (#1085) — thanks @dan-dr.
|
||||||
|
|
||||||
## 2026.1.16-2
|
## 2026.1.16-2
|
||||||
|
|
||||||
|
|||||||
@@ -155,6 +155,34 @@ Moonshot uses OpenAI-compatible endpoints, so configure it as a custom provider:
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Kimi Code
|
||||||
|
|
||||||
|
Kimi Code uses a dedicated endpoint and key (separate from Moonshot):
|
||||||
|
|
||||||
|
- Provider: `kimi-code`
|
||||||
|
- Auth: `KIMICODE_API_KEY`
|
||||||
|
- Example model: `kimi-code/kimi-for-coding`
|
||||||
|
|
||||||
|
```json5
|
||||||
|
{
|
||||||
|
env: { KIMICODE_API_KEY: "sk-..." },
|
||||||
|
agents: {
|
||||||
|
defaults: { model: { primary: "kimi-code/kimi-for-coding" } }
|
||||||
|
},
|
||||||
|
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" }]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
### Synthetic
|
### Synthetic
|
||||||
|
|
||||||
Synthetic provides Anthropic-compatible models behind the `synthetic` provider:
|
Synthetic provides Anthropic-compatible models behind the `synthetic` provider:
|
||||||
|
|||||||
@@ -2234,6 +2234,49 @@ Notes:
|
|||||||
- Model ref: `moonshot/kimi-k2-0905-preview`.
|
- Model ref: `moonshot/kimi-k2-0905-preview`.
|
||||||
- Use `https://api.moonshot.cn/v1` if you need the China endpoint.
|
- Use `https://api.moonshot.cn/v1` if you need the China endpoint.
|
||||||
|
|
||||||
|
### Kimi Code
|
||||||
|
|
||||||
|
Use Kimi Code's dedicated OpenAI-compatible endpoint (separate from Moonshot):
|
||||||
|
|
||||||
|
```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:
|
||||||
|
- Set `KIMICODE_API_KEY` in the environment or use `clawdbot onboard --auth-choice kimi-code-api-key`.
|
||||||
|
- Model ref: `kimi-code/kimi-for-coding`.
|
||||||
|
|
||||||
### Synthetic (Anthropic-compatible)
|
### Synthetic (Anthropic-compatible)
|
||||||
|
|
||||||
Use Synthetic's Anthropic-compatible endpoint:
|
Use Synthetic's Anthropic-compatible endpoint:
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ Looking for chat channel docs (WhatsApp/Telegram/Discord/Slack/etc.)? See [Chann
|
|||||||
- [Anthropic (API + Claude Code CLI)](/providers/anthropic)
|
- [Anthropic (API + Claude Code CLI)](/providers/anthropic)
|
||||||
- [OpenRouter](/providers/openrouter)
|
- [OpenRouter](/providers/openrouter)
|
||||||
- [Vercel AI Gateway](/providers/vercel-ai-gateway)
|
- [Vercel AI Gateway](/providers/vercel-ai-gateway)
|
||||||
- [Moonshot AI (Kimi)](/providers/moonshot)
|
- [Moonshot AI (Kimi + Kimi Code)](/providers/moonshot)
|
||||||
- [OpenCode Zen](/providers/opencode)
|
- [OpenCode Zen](/providers/opencode)
|
||||||
- [Z.AI](/providers/zai)
|
- [Z.AI](/providers/zai)
|
||||||
- [GLM models](/providers/glm)
|
- [GLM models](/providers/glm)
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ model as `provider/model`.
|
|||||||
- [Anthropic (API + Claude Code CLI)](/providers/anthropic)
|
- [Anthropic (API + Claude Code CLI)](/providers/anthropic)
|
||||||
- [OpenRouter](/providers/openrouter)
|
- [OpenRouter](/providers/openrouter)
|
||||||
- [Vercel AI Gateway](/providers/vercel-ai-gateway)
|
- [Vercel AI Gateway](/providers/vercel-ai-gateway)
|
||||||
- [Moonshot AI (Kimi)](/providers/moonshot)
|
- [Moonshot AI (Kimi + Kimi Code)](/providers/moonshot)
|
||||||
- [Synthetic](/providers/synthetic)
|
- [Synthetic](/providers/synthetic)
|
||||||
- [OpenCode Zen](/providers/opencode)
|
- [OpenCode Zen](/providers/opencode)
|
||||||
- [Z.AI](/providers/zai)
|
- [Z.AI](/providers/zai)
|
||||||
|
|||||||
@@ -95,7 +95,8 @@ Tip: `--json` does **not** imply non-interactive mode. Use `--non-interactive` (
|
|||||||
- **Synthetic (Anthropic-compatible)**: prompts for `SYNTHETIC_API_KEY`.
|
- **Synthetic (Anthropic-compatible)**: prompts for `SYNTHETIC_API_KEY`.
|
||||||
- More detail: [Synthetic](/providers/synthetic)
|
- More detail: [Synthetic](/providers/synthetic)
|
||||||
- **Moonshot (Kimi K2)**: config is auto-written.
|
- **Moonshot (Kimi K2)**: config is auto-written.
|
||||||
- More detail: [Moonshot AI](/providers/moonshot)
|
- **Kimi Code**: config is auto-written.
|
||||||
|
- More detail: [Moonshot AI (Kimi + Kimi Code)](/providers/moonshot)
|
||||||
- **Skip**: no auth configured yet.
|
- **Skip**: no auth configured yet.
|
||||||
- Pick a default model from detected options (or enter provider/model manually).
|
- Pick a default model from detected options (or enter provider/model manually).
|
||||||
- Wizard runs a model check and warns if the configured model is unknown or missing auth.
|
- Wizard runs a model check and warns if the configured model is unknown or missing auth.
|
||||||
|
|||||||
@@ -43,6 +43,12 @@ const KIMI_CODE_CONTEXT_WINDOW = 262144;
|
|||||||
const KIMI_CODE_MAX_TOKENS = 32768;
|
const KIMI_CODE_MAX_TOKENS = 32768;
|
||||||
const KIMI_CODE_HEADERS = { "User-Agent": "KimiCLI/0.77" } as const;
|
const KIMI_CODE_HEADERS = { "User-Agent": "KimiCLI/0.77" } as const;
|
||||||
const KIMI_CODE_COMPAT = { supportsDeveloperRole: false } as const;
|
const KIMI_CODE_COMPAT = { supportsDeveloperRole: false } as const;
|
||||||
|
const KIMI_CODE_DEFAULT_COST = {
|
||||||
|
input: 0,
|
||||||
|
output: 0,
|
||||||
|
cacheRead: 0,
|
||||||
|
cacheWrite: 0,
|
||||||
|
};
|
||||||
|
|
||||||
function normalizeApiKeyConfig(value: string): string {
|
function normalizeApiKeyConfig(value: string): string {
|
||||||
const trimmed = value.trim();
|
const trimmed = value.trim();
|
||||||
@@ -200,7 +206,7 @@ function buildKimiCodeProvider(): ProviderConfig {
|
|||||||
name: "Kimi For Coding",
|
name: "Kimi For Coding",
|
||||||
reasoning: true,
|
reasoning: true,
|
||||||
input: ["text"],
|
input: ["text"],
|
||||||
cost: MOONSHOT_DEFAULT_COST,
|
cost: KIMI_CODE_DEFAULT_COST,
|
||||||
contextWindow: KIMI_CODE_CONTEXT_WINDOW,
|
contextWindow: KIMI_CODE_CONTEXT_WINDOW,
|
||||||
maxTokens: KIMI_CODE_MAX_TOKENS,
|
maxTokens: KIMI_CODE_MAX_TOKENS,
|
||||||
headers: KIMI_CODE_HEADERS,
|
headers: KIMI_CODE_HEADERS,
|
||||||
|
|||||||
Reference in New Issue
Block a user