Karta tytułowa z napisem Kimi K3.1 Pro w Claude Code i Codex, z podtytułem „konfiguracja, ciche awarie” oraz trzema plakietkami statystyk z napisami Messages API, Responses API i 1M context
Guides & Insights

Uruchamianie Kimi K3.1 Pro w Claude Code i Codex: konfiguracja, ciche awarie i przełączenie jedną linijką

Autor

Rowan Sterling

Data publikacji

Najnowsze modele · 20Zobacz wszystkie modele →
Benchmarki: Artificial Analysis · aktualizowane codziennie
Powrót do wszystkich wpisów

Kimi K3.1 Pro obsługuje trzy protokoły: OpenAI Chat Completions, OpenAI Responses i Anthropic Messages. To jest cały powód, dla którego można go użyć w Claude Code i Codex bez proxy tłumaczeniowego — każde z tych narzędzi już obsługuje jeden z tych trzech protokołów, a Moonshot udostępnia ten protokół natywnie. Konfiguracja to w jednym przypadku kilka zmiennych środowiskowych, a w drugim pięciowierszowy blok TOML. To, co kosztuje ludzi popołudnie, to nie konfiguracja; to tryb awarii. Claude Code używa czterech różnych poziomów modeli do różnych zadań, a każdy nieustawiony poziom kończy się cichym niepowodzeniem, a nie głośnym błędem.

Ten przewodnik powstał na podstawie własnej dokumentacji integracyjnej Moonshot, sprawdzonej 24 października 2026 r., i uwzględnia zastrzeżenia, które dokumentacja ukrywa. Wszędzie tam, gdzie wartość się różni, gdy te same narzędzia skierujesz na bramę routingu zamiast bezpośrednio na Moonshot, zostało to wyraźnie wskazane.

Dlaczego nie jest potrzebne proxy

Claude Code talks to Anthropic's Messages API; Codex talks to the Responses API. Moonshot exposes both. Its Anthropic-compatible surface lives at https://api.moonshot.ai/anthropic and its Responses API at https://api.moonshot.ai/v1, and the model id is kimi-k3.1-pro on both. Nothing in either client needs to know it is not talking to the vendor it was built for.

Jedną konsekwencję warto przedstawić przed konfiguracją: model zawsze rozumuje. Nie ma przełącznika myślenia, a głębokość ustawia się za pomocą pola najwyższego poziomu reasoning_effort, które przyjmuje wartości low, high i max, domyślnie max. Parametry próbkowania są stałe — temperature 1.0, top-p 0.95, n wynosi 1 — a przekazanie innych wartości zwraca błąd. Jeśli w poprzedniej konfiguracji dostrajano temperature, to dostrojenie nie przetrwa przełączenia.

Claude Code: blok środowiska

Setup card headed One model, three protocols with four rows: Claude Code uses the Anthropic Messages API, Codex uses the OpenAI Responses API, the model id is kimi-k3.1-pro, and the key variable is ANTHROPIC_AUTH_TOKEN

Claude Code odczytuje swoją konfigurację z bloku env w pliku ~/.claude/settings.json. Zapisane tam zmienne nadpisują te same nazwy wyeksportowane w twojej powłoce, co jest jednocześnie zaletą i pułapką: nieaktualny eksport w terminalu nie uratuje cię, jeśli plik mówi coś innego.

• ANTHROPIC_BASE_URL — the Kimi endpoint root. Set it to https://api.moonshot.ai/anthropic. If you leave it unset, requests go to Anthropic and fail authentication.

• ANTHROPIC_AUTH_TOKEN — Twój klucz API Kimi. To jest zmienna, której Claude Code faktycznie używa jako tokenu bearer; klucz API umieszczony zamiast tego w ANTHROPIC_API_KEY to najczęstsza przyczyna zwracania błędu 401 przez pozornie poprawną konfigurację.

• ANTHROPIC_MODEL — główny model rozmowy: kimi-k3.1-pro.

• ANTHROPIC_DEFAULT_OPUS_MODEL, ANTHROPIC_DEFAULT_SONNET_MODEL, ANTHROPIC_DEFAULT_HAIKU_MODEL, ANTHROPIC_DEFAULT_FABLE_MODEL — po jednym na każdy poziom. Ustaw co najmniej pierwsze trzy i wskaż HAIKU tani, szybki model, a nie flagowy; własny przykład Moonshot przypisuje ten poziom do swojego modelu do kodowania.

• CLAUDE_CODE_SUBAGENT_MODEL — z czego korzystają podagenty. Gdy nie jest ustawiona, praca podagentów ulega pogorszeniu lub kończy się niepowodzeniem.

• CLAUDE_CODE_AUTO_COMPACT_WINDOW — ustaw na 1000000, aby odpowiadało oknu kontekstu. Zbyt mała wartość powoduje zbyt wczesną kompaktację i utratę kontekstu; zbyt duża powoduje błędy długości kontekstu.

• CLAUDE_CODE_EFFORT_LEVEL — Przewodnik Moonshot ustawia tę wartość na max, co jest również domyślnym ustawieniem modelu. Obniżenie jej pogarsza jakość w złożonych zadaniach, a zmiana jej w trakcie sesji unieważnia trafienia w pamięć podręczną prefiksów.

Cztery poziomy, które zawodzą po cichu

To jest awaria, na którą warto się przygotować. Claude Code używa różnych modeli do głównej rozmowy, podsumowywania w tle, podagentów i drobnych wywołań narzędziowych. Skonfiguruj tylko ANTHROPIC_MODEL, a pozostałe ścieżki nie zgłoszą błędu — po cichu nie robią nic użytecznego albo przechodzą w tryb zastępczy w sposób, przez który narzędzie wydaje się zepsute, nie wskazując przyczyny. Tabela referencyjna Moonshot wyraźnie mówi, że każdy nieskonfigurowany poziom powoduje niepowodzenie odpowiedniego zadania, a objawy wyglądają jak wolny lub zdezorientowany agent, a nie błąd konfiguracji.

Praktyczna lista kontrolna to ustawienie wszystkich czterech zmiennych poziomu oraz zmiennej podagenta w jednej edycji, ponowne uruchomienie Claude Code, a następnie potwierdzenie w sesji, że podagent faktycznie działa. Jeśli utknie, pierwszym elementem do sprawdzenia jest poziom, a nie model.

Codex: jeden blok TOML

Codex reads ~/.codex/config.toml (on Windows, %USERPROFILE%\.codex\config.toml). The connection is defined by four values in a provider block: the model id kimi-k3.1-pro, a provider named kimi, base_url pointing at https://api.moonshot.ai/v1, the environment-variable name that holds the key, and — the setting that makes the direct connection work — wire_api = "responses". Set model_context_window to 1048576 as well; without it Codex falls back to default model metadata, which degrades behaviour on long inputs.

Sam klucz powinien znajdować się w środowisku, a nie w pliku. Codex odczytuje go ze zmiennej wskazanej w env_key, więc trzymaj config.toml wolnym od sekretów i ustaw tę zmienną w profilu powłoki lub środowisku systemowym.

Dwa ograniczenia, o których warto wiedzieć przed zgłoszeniem błędu. Codex CLI nie przyjmuje wideo na wejściu, mimo że model to potrafi — to ograniczenie warstwy wejściowej Codeksa, więc prace z wideo trzeba prowadzić bezpośrednio przez API. Obowiązuje też zarządzanie kontekstem samego Codeksa: okno 1 mln tokenów nie oznacza, że każda sesja powinna z niego korzystać.

Zamiast tego skierowanie obu narzędzi na jedną bramę

Moonshot's Kimi platform documentation page titled Use Kimi in Claude Code, describing the Anthropic-compatible Messages API integration, with install commands for macOS, Linux, PowerShell and npmOrcaRouter's Kimi K3.1 Pro model page showing the identifier kimi/kimi-k3.1-pro, the three supported endpoints for chat completions, responses and messages, a 1M-token context window, 943K maximum output and $2.00 input and $10.00 output per million tokens

Wszystko powyższe działa bez zmian, jeśli zastąpisz bazowe adresy URL Moonshot adresami URL bramy, co jest przydatne, gdy ten sam kod również wywołuje modele innych dostawców. /v1/chat/completions, /v1/responses i /v1/messages — i publikuje model pod identyfikatorem kimi/kimi-k3.1-pro.

For Claude Code, that means ANTHROPIC_BASE_URL set to the gateway root (https://api.orcarouter.ai) with the provider-prefixed model id in the four tier variables. For Codex, the same TOML block with the base URL pointing at https://api.orcarouter.ai/v1 and the model id kimi/kimi-k3.1-pro. The key variable stays the same shape; it just holds a gateway key instead of a vendor key.

To, co otrzymujesz w zamian za tę zmianę, to jedno poświadczenie dla każdego modelu w katalogu oraz polityka routingu, która potrafi przenosić żądanie między dostawcami bez zmiany kodu aplikacji — to właśnie umożliwia plan awaryjny, gdy endpoint nowego modelu napotyka limity szybkości w tygodniu premiery. Z czego rezygnujesz, to konsola danego dostawcy i wszelkie powierzchnie beta specyficzne dla dostawcy. Ceny są przekazywane zgodnie z cennikiem dostawcy: 2,00 USD za milion tokenów wejściowych i 10,00 USD za milion tokenów wyjściowych dla Kimi K3.1 Pro, bez doliczanego narzutu.

Pięciominutowa weryfikacja

• Uderz bezpośrednio w endpoint, zanim ruszysz klienta: POST na trasę Messages lub Chat Completions z żądaniem obejmującym jeden token powinien zwrócić JSON, a 401 oznacza, że klucz jest błędny albo należy do drugiej platformy.

• W Claude Code zadaj pytanie, które wymusza użycie podagenta — wyszukiwanie w kilku plikach — i obserwuj, czy zakończy się ono pomyślnie. To najszybszy test konfiguracji poziomu.

• W Codexie rozpocznij sesję w małym repozytorium i sprawdź, czy model zgłasza okno 1M; jeśli zgłasza mniejszą wartość domyślną, model_context_window nie zadziałało.

• Ustaw poziom wysiłku świadomie, raz, na początku sesji: maksymalny do trudnego debugowania, wysoki do zwykłych edycji, niski do ekstrakcji i formatowania. Domyślnie jest to maksimum, a w przypadku tego modelu to kosztowny wybór.