Титульная карточка с надписью «Kimi K3.1 Pro в Claude Code и Codex», подзаголовком «конфигурация, молчаливые сбои» и тремя чипами статистики с надписями «Messages API», «Responses API» и «контекст 1M».
Guides & Insights

Запуск Kimi K3.1 Pro в Claude Code и Codex: конфигурация, тихие сбои и переключение одной строкой

Автор

Rowan Sterling

Дата публикации

Новые модели · 20Все модели →
Бенчмарки: Artificial Analysis · обновляется ежедневно
Назад ко всем статьям

Kimi K3.1 Pro поддерживает три протокола: OpenAI Chat Completions, OpenAI Responses и Anthropic Messages. Именно поэтому он без прокси-транслятора подключается к Claude Code и Codex — каждый из этих инструментов уже говорит на одном из трёх протоколов, а Moonshot обслуживает этот протокол нативно. В одном случае настройка сводится к нескольким переменным окружения, в другом — к блоку TOML из пяти строк. Дороже всего людям обходится не конфигурация, а режим отказа. Claude Code использует четыре разных уровня моделей для разных задач, и любой не заданный уровень завершается молча, а не с явной ошибкой.

Это руководство написано на основе собственной документации Moonshot по интеграции, сверенной 24 октября 2026 года, с учётом оговорок, которые документация умалчивает. Если значение отличается при направлении тех же инструментов на маршрутизирующий шлюз, а не напрямую в Moonshot, это отмечается отдельно.

Почему прокси не нужен

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.

Об одном следствии стоит сказать до описания конфигурации: модель всегда рассуждает. Переключателя размышлений нет, а глубина задаётся полем верхнего уровня reasoning_effort, которое принимает значения low, high и max и по умолчанию равно max. Параметры сэмплирования фиксированы — temperature 1.0, top-p 0.95, n равно 1 — и передача других значений возвращает ошибку. Если в вашей прежней настройке temperature подбиралась, эта настройка не сохранится при переходе.

Claude Code: блок окружения

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 читает свою конфигурацию из env-блока файла ~/.claude/settings.json. Переменные, записанные там, переопределяют одноимённые переменные, экспортированные в вашей оболочке, что является и возможностью, и ловушкой: устаревший экспорт в вашем терминале не спасёт вас, если в файле указано что-то другое.

• 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 — ваш ключ API Kimi. Именно эту переменную Claude Code фактически использует для bearer-токена; ключ API, указанный вместо неё в ANTHROPIC_API_KEY, — самая распространённая причина, по которой корректная на вид конфигурация возвращает 401.

• ANTHROPIC_MODEL — основная модель диалога: kimi-k3.1-pro.

• ANTHROPIC_DEFAULT_OPUS_MODEL, ANTHROPIC_DEFAULT_SONNET_MODEL, ANTHROPIC_DEFAULT_HAIKU_MODEL, ANTHROPIC_DEFAULT_FABLE_MODEL — по одному на каждый уровень. Настройте как минимум первые три, а HAIKU направьте на дешёвую быструю модель, а не на флагманскую; в собственном примере Moonshot этот уровень сопоставлен с их моделью для программирования.

• CLAUDE_CODE_SUBAGENT_MODEL — что используют субагенты. Если не задано, работа субагентов ухудшается или завершается сбоем.

• CLAUDE_CODE_AUTO_COMPACT_WINDOW — установите значение 1000000, соответствующее размеру контекстного окна. Слишком маленькое значение приводит к раннему сжатию и отбрасыванию контекста; слишком большое вызывает ошибки длины контекста.

• CLAUDE_CODE_EFFORT_LEVEL — руководство Moonshot устанавливает для него значение max, которое также является значением по умолчанию для модели. Снижение этого значения ухудшает качество на сложных задачах, а изменение в середине сессии аннулирует попадания в префиксный кэш.

Четыре уровня, которые молча дают сбой

Это тот сбой, к которому стоит подготовиться заранее. Claude Code использует разные модели для основного диалога, фонового суммирования, субагентов и небольших служебных вызовов. Настройте только ANTHROPIC_MODEL, и остальные пути не выдадут ошибку — они тихо не сделают ничего полезного или откатятся к резервным вариантам так, что инструмент будет казаться сломанным, при этом причина так и не будет названа. Справочная таблица Moonshot прямо указывает, что каждый ненастроенный уровень приводит к сбою соответствующей задачи, а симптомы выглядят как медленный или растерянный агент, а не как ошибка конфигурации.

Практический чек-лист: задайте все четыре переменные уровней плюс переменную субагента за одно редактирование, перезапустите Claude Code, а затем в сеансе убедитесь, что субагент действительно запускается. Если он зависает, первое, что нужно проверить, — это уровень, а не модель.

Codex: один блок 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.

Сам ключ должен находиться в окружении, а не в файле. Codex читает его из переменной, имя которой указано в env_key, поэтому храните config.toml без секретов и задайте переменную в профиле вашей оболочки или в системном окружении.

Два ограничения, о которых стоит знать, прежде чем сообщать об ошибке. Codex CLI не принимает видео на вход, хотя модель это умеет, — это ограничение входного слоя Codex, поэтому работу с видео приходится вести напрямую через API. И собственное управление контекстом Codex по-прежнему действует: окно в 1 млн токенов не означает, что каждую сессию нужно вести в нём.

Вместо этого направить оба инструмента на один шлюз

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

Всё описанное выше работает без изменений, если заменить базовые URL Moonshot на URL шлюза — это удобно, когда одна и та же кодовая база также обращается к моделям других поставщиков. OrcaRouter предоставляет все три интерфейса для Kimi K3.1 Pro — /v1/chat/completions, /v1/responses и /v1/messages — и публикует модель под идентификатором 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.

Взамен вы получаете единые учётные данные для каждой модели в каталоге и политику маршрутизации, которая позволяет переключать запрос между поставщиками без изменения кода приложения — именно это делает возможным план резервного переключения, когда endpoint новой модели упирается в лимиты запросов в неделю запуска. Чем вы жертвуете — это собственной консолью поставщика и любыми его фирменными бета-интерфейсами. Цены передаются по прайс-листу провайдера: $2.00 за миллион входных токенов и $10.00 за миллион выходных для Kimi K3.1 Pro, без какой-либо наценки.

Пятиминутная проверка

• Прежде чем трогать клиент, обратитесь к эндпоинту напрямую: POST-запрос к маршруту Messages или Chat Completions с запросом на один токен должен вернуть JSON, а 401 означает, что ключ неверен или принадлежит другой платформе.

• В Claude Code задайте вопрос, который вынуждает задействовать субагента — поиск по нескольким файлам — и посмотрите, завершится ли он. Это самый быстрый способ проверить конфигурацию уровней.

• В Codex запустите сеанс в небольшом репозитории и проверьте, что модель сообщает окно 1M; если она сообщает меньший размер по умолчанию, model_context_window не применился.

• Задавайте уровень усилий осознанно, один раз, в начале сессии: max для сложной отладки, high для обычных правок, low для извлечения и форматирования. По умолчанию используется max, и на этой модели это дорогостоящий выбор.