Nvidia NIM + Kimi K2 mit OpenAI-kompatiblem Protokoll betreiben
Dieses Dokument fasst alle technischen Details zusammen, die benötigt werden, um diesen Claude-Code-Fork mit der Nvidia NIM API (OpenAI-kompatibel) und dem Modell moonshotai/kimi-k2 zu betreiben.
Analyse des Repos
Das Projekt ist der dekompilierte Quellcode von Claude Code (Anthropic CLI). Es nutzt intern:
@anthropic-ai/sdk für API-Calls (src/utils/api.ts)
- Modellkonfiguration über
globalConfig (src/utils/config.ts)
- API-Key aus
ANTHROPIC_API_KEY Env-Variable
- API-Base-URL über
ANTHROPIC_BASE_URL Env-Variable (offiziell vom Anthropic SDK unterstützt)
Kimi K2 auf Nvidia NIM
Nvidia NIM Endpoint für Kimi K2
Base URL: https://integrate.api.nvidia.com/v1
Model: moonshotai/kimi-k2
API Key: nvapi-xxxxxxxxxxxxxxxxxxxx (von build.nvidia.com)
Protokoll
Nvidia NIM verwendet das OpenAI-kompatible API-Protokoll (/v1/chat/completions).
Das Anthropic SDK unterstützt offiziell die Weiterleitung an OpenAI-kompatible Endpoints über:
ANTHROPIC_BASE_URL=https://integrate.api.nvidia.com/v1
Achtung: Diese Option funktioniert nur mit einem spezialisierten Reverse-Proxy/Adapter, da das Anthropic SDK intern das Anthropic-Nachrichtenformat sendet, nicht OpenAI-Format.
Lösung: Lokaler OpenAI→Anthropic Adapter
Da das Claude Code CLI das Anthropic Messages API Format erwartet, aber Nvidia NIM nur OpenAI Chat Completions liefert, braucht man einen lokalen Proxy.
Option A: litellm als lokaler Proxy (empfohlen)
litellm --model nvidia_nim/moonshotai/kimi-k2 \
--api_key nvapi-DEIN_KEY \
--port 8080
Dann das CLI starten:
export ANTHROPIC_BASE_URL=http://localhost:8080
export ANTHROPIC_API_KEY=nvapi-DEIN_NVIDIA_KEY
export CLAUDE_MODEL=moonshotai/kimi-k2
Option B: openai-anthropic-proxy (Node.js)
npx openai-anthropic-proxy --port 8080 --upstream https://integrate.api.nvidia.com/v1 --key nvapi-DEIN_KEY
Dann:
export ANTHROPIC_BASE_URL=http://localhost:8080
export ANTHROPIC_API_KEY=dummy
Relevante Env-Variablen für dieses Projekt
| Variable |
Wert |
Beschreibung |
ANTHROPIC_API_KEY |
nvapi-xxxx |
Nvidia NIM API Key (oder dummy wenn Proxy Key übernimmt) |
ANTHROPIC_BASE_URL |
http://localhost:8080 |
Lokaler Proxy (litellm oder openai-anthropic-proxy) |
CLAUDE_MODEL |
moonshotai/kimi-k2 |
Modell-Override (falls in config.ts unterstützt) |
ANTHROPIC_SMALL_FAST_MODEL |
moonshotai/kimi-k2 |
Small model override |
Direkte Konfiguration in src/utils/config.ts
In der Konfig-Datei gibt es ein model-Feld in GlobalConfig. Dieses kann geändert werden:
// In getDefaultModel() oder wo das Standardmodell gesetzt wird:
return process.env.CLAUDE_MODEL ?? 'moonshotai/kimi-k2'
Die API-URL kommt aus dem Anthropic SDK, das ANTHROPIC_BASE_URL direkt ausliest.
Nvidia NIM API Key besorgen
- Gehe zu https://build.nvidia.com
- Account erstellen / einloggen
- Unter "API Keys" → neuen Key erstellen
- Key beginnt mit
nvapi-
- Free-Tier: 1000 Credits (ausreichend für Tests)
Kimi K2 Modell-Seite auf NIM:
https://build.nvidia.com/moonshotai/kimi-k2
Direkter cURL-Test (zum Verifizieren)
curl https://integrate.api.nvidia.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer nvapi-DEIN_KEY" \
-d '{
"model": "moonshotai/kimi-k2",
"messages": [{"role": "user", "content": "Hello!"}],
"max_tokens": 100
}'
Vollständiger Start-Workflow
# 1. Lokalen Proxy starten (Terminal 1)
litellm --model nvidia_nim/moonshotai/kimi-k2 \
--api_key nvapi-DEIN_NVIDIA_API_KEY \
--port 8080
# 2. Claude Code mit Nvidia NIM starten (Terminal 2)
export ANTHROPIC_BASE_URL=http://localhost:8080
export ANTHROPIC_API_KEY=nvapi-DEIN_NVIDIA_API_KEY
bun run start
Issue erstellt zur Dokumentation der Nvidia NIM / Kimi K2 Integration.
Nvidia NIM + Kimi K2 mit OpenAI-kompatiblem Protokoll betreiben
Dieses Dokument fasst alle technischen Details zusammen, die benötigt werden, um diesen Claude-Code-Fork mit der Nvidia NIM API (OpenAI-kompatibel) und dem Modell moonshotai/kimi-k2 zu betreiben.
Analyse des Repos
Das Projekt ist der dekompilierte Quellcode von Claude Code (Anthropic CLI). Es nutzt intern:
@anthropic-ai/sdkfür API-Calls (src/utils/api.ts)globalConfig(src/utils/config.ts)ANTHROPIC_API_KEYEnv-VariableANTHROPIC_BASE_URLEnv-Variable (offiziell vom Anthropic SDK unterstützt)Kimi K2 auf Nvidia NIM
Nvidia NIM Endpoint für Kimi K2
Protokoll
Nvidia NIM verwendet das OpenAI-kompatible API-Protokoll (
/v1/chat/completions).Das Anthropic SDK unterstützt offiziell die Weiterleitung an OpenAI-kompatible Endpoints über:
Achtung: Diese Option funktioniert nur mit einem spezialisierten Reverse-Proxy/Adapter, da das Anthropic SDK intern das Anthropic-Nachrichtenformat sendet, nicht OpenAI-Format.
Lösung: Lokaler OpenAI→Anthropic Adapter
Da das Claude Code CLI das Anthropic Messages API Format erwartet, aber Nvidia NIM nur OpenAI Chat Completions liefert, braucht man einen lokalen Proxy.
Option A:
litellmals lokaler Proxy (empfohlen)litellm --model nvidia_nim/moonshotai/kimi-k2 \ --api_key nvapi-DEIN_KEY \ --port 8080Dann das CLI starten:
Option B:
openai-anthropic-proxy(Node.js)Dann:
Relevante Env-Variablen für dieses Projekt
ANTHROPIC_API_KEYnvapi-xxxxdummywenn Proxy Key übernimmt)ANTHROPIC_BASE_URLhttp://localhost:8080CLAUDE_MODELmoonshotai/kimi-k2ANTHROPIC_SMALL_FAST_MODELmoonshotai/kimi-k2Direkte Konfiguration in
src/utils/config.tsIn der Konfig-Datei gibt es ein
model-Feld inGlobalConfig. Dieses kann geändert werden:Die API-URL kommt aus dem Anthropic SDK, das
ANTHROPIC_BASE_URLdirekt ausliest.Nvidia NIM API Key besorgen
nvapi-Kimi K2 Modell-Seite auf NIM:
https://build.nvidia.com/moonshotai/kimi-k2
Direkter cURL-Test (zum Verifizieren)
Vollständiger Start-Workflow
Issue erstellt zur Dokumentation der Nvidia NIM / Kimi K2 Integration.