Настройка Kimi Code CLI
Подключение QCode.cc к Kimi Code CLI в ~/.kimi-code/config.toml: type anthropic для Claude, type openai для GPT и китайских моделей
Нужен API-ключ? Зарегистрироваться →Эндпоинты и Base URL →
Содержание
Последняя проверка: 2026-10-13 · 📄 По официальной документации (Kimi Code CLI 2.1.1)
Кратко¶
| Параметр | Значение |
|---|---|
| Доступные модели | Claude ✅ (type = "anthropic") · GPT ✅ · Китайские модели ✅ (type = "openai") · Gemini ❌ (QCode не предоставляет семейство Gemini — используйте Claude, GPT или китайскую модель) |
| Протокол и Base URL | Anthropic Messages: https://api.qcode.cc/api · OpenAI Chat Completions: https://api.qcode.cc/openai/v1 |
| Где настраивать | ~/.kimi-code/config.toml — по одной таблице [providers.<name>] на протокол и по записи [models.<alias>] на модель |
| Официальная документация | moonshotai.github.io/kimi-code |
Kimi Code CLI — это агент для программирования от Moonshot AI, работающий в терминале. Документация описывает три способа получить модель: вход в управляемый сервис Kimi Code в один клик, «connecting Claude with an Anthropic API key, or connecting third-party inference services via the OpenAI-compatible protocol». Последние два — ровно те две конечные точки, которые открывает QCode, поэтому одним ключом QCode закрываются Claude, GPT и китайские модели в одном и том же инструменте. Актуальный на момент подготовки страницы выпуск — 2.1.1 (2026-09-24).
Какой протокол выбрать¶
Поле type в таблице [providers.<name>] определяет, какая реализация протокола будет использована. Официальный справочник перечисляет шесть значений — kimi, anthropic, openai, openai_responses, google-genai, vertexai, — а вам нужны два.
| Нужные модели | type |
base_url |
|---|---|---|
claude-sonnet-5, claude-opus-5, claude-haiku-5-5 |
anthropic |
https://api.qcode.cc/api |
gpt-6.1-sol, gpt-6-sol и китайские семейства |
openai |
https://api.qcode.cc/openai/v1 |
🔴 Никогда не направляйте модели Claude на OpenAI-совместимую конечную точку. QCode отдаёт семейство Claude только через Anthropic Messages; идентификатор claude-*, отправленный на https://api.qcode.cc/openai/v1, будет отклонён. Две конечные точки не взаимозаменяемы — см. Конечные точки и пути API.
Base URL вводите ровно как в таблице: остановитесь на /api или /openai/v1, не дописывайте /v1/messages и /chat/completions и не оставляйте слэш в конце.
Установка¶
Официально доступны два пути: установочный скрипт (рекомендуется, не требует заранее установленного Node.js) и глобальная установка через npm.
# macOS / Linux
curl -fsSL https://code.kimi.com/kimi-code/install.sh | bash
# Windows (PowerShell)
irm https://code.kimi.com/kimi-code/install.ps1 | iex
# npm — сначала проверьте версию: node --version
npm install -g @moonshot-ai/kimi-code
Для пути через npm требуется Node.js 22.19.0 или новее. Скрипт сам загружает последний выпуск, проверяет контрольную сумму и ставит исполняемый файл kimi в PATH. Убедившись, что команда доступна, перейдите в каталог проекта и запустите kimi, чтобы открыть интерактивный интерфейс.
kimi --version
cd your-project
kimi
Настройка Claude (type = "anthropic")¶
Учётные данные читаются только из файла конфигурации. Документация говорит прямо: CLI «does not fall back to shell environment variables automatically: running export KIMI_API_KEY in the terminal does not give any provider its key». То есть ключ либо пишется в файл, либо указывается api_key_env с именем переменной, которую CLI перечитывает на каждый запрос.
# ~/.kimi-code/config.toml
default_model = "claude-sonnet-5"
[providers.qcode]
type = "anthropic"
base_url = "https://api.qcode.cc/api"
api_key_env = "QCODE_API_KEY"
[models."claude-sonnet-5"]
provider = "qcode"
model = "claude-sonnet-5"
max_context_size = 262144
export QCODE_API_KEY=cr_your_qcode_key
qcode — просто имя провайдера, которое вы придумали; каждая запись [models.<alias>] ссылается на него через обязательное поле provider. Если переменную окружения заводить не хочется, замените api_key_env на api_key = "cr_your_qcode_key". Документация отмечает, что это значение хранится в файле открытым текстом, а api_key и api_key_env взаимоисключающи — задавать нужно ровно одно.
| Поле | Таблица | Что указывать |
|---|---|---|
type |
providers | anthropic — провайдер, описанный как «For connecting to the Claude API» |
base_url |
providers | https://api.qcode.cc/api; без значения следует умолчанию Anthropic SDK |
api_key / api_key_env |
providers | сам ключ или имя переменной, где он лежит |
custom_headers |
providers | необязательная таблица дополнительных HTTP-заголовков для каждого запроса |
provider |
models | обязательно — имя провайдера, определённое выше |
model |
models | обязательно — идентификатор, отправляемый на сервер, например claude-sonnet-5 |
max_context_size |
models | обязательно, не менее 1 токена — 262144 в примере выше лишь заглушка; укажите длину контекста той модели, которую реально используете |
max_output_size |
models | необязательно, ограничение вывода, соответствует max_tokens; сейчас его читает только провайдер anthropic |
Материковый Китай: Anthropic-точка отвечает также на
https://asia.qcode.cc/apiиhttps://us.qcode.cc/api— ключ тот же, меняется только хост вbase_url. Флаги возможностей: для стандартных имён моделей Claude vision, tool use и Thinking включаются сами; модель, которую CLI не знает, требует явногоcapabilitiesв[models.<alias>](thinking,image_in,tool_useи т. д.), и эти теги только добавляются, но не удаляются.
Настройка GPT и китайских моделей (type = "openai")¶
Тот же файл, другая конечная точка. Про тип openai в документации сказано: «For connecting to the OpenAI Chat Completions protocol, as well as any third-party service compatible with that protocol (override base_url as needed)». Встроенное значение — https://api.openai.com/v1, поэтому именно переопределение base_url превращает это соединение из OpenAI в QCode.
[providers.qcode-openai]
type = "openai"
base_url = "https://api.qcode.cc/openai/v1"
api_key_env = "QCODE_API_KEY"
[models."gpt-6.1-sol"]
provider = "qcode-openai"
model = "gpt-6.1-sol"
max_context_size = 262144
[models."deepseek-v4.1-flash"]
provider = "qcode-openai"
model = "deepseek-v4.1-flash"
max_context_size = 262144
[models."qwen3.8-max"]
provider = "qcode-openai"
model = "qwen3.8-max"
max_context_size = 262144
- Алиасы с точкой берутся в кавычки.
gpt-6.1-solиqwen3.8-maxнужно писать как[models."qwen3.8-max"]; иначе TOML прочитает точку как разделитель вложенных таблиц. Имена полей при этом всегда в snake_case (default_model,max_context_size). - Числа выше — условные значения для обязательного поля. Фактическую длину контекста берите из спецификации самой модели; оплата берётся за токены, цены по моделям — на qcode.cc/models.
- Оба провайдера могут сосуществовать в одном конфиге. Модель на сессию задаётся флагом
-m <алиас>(параметры запуска имеют приоритет над файлом, но только на время текущего запуска), а в TUI переключаются через/model. Значениеdefault_modelобязательно должно быть одним из определённых вами алиасов. - Вывод размышлений: для сторонних reasoning-моделей поле
reasoning_contentи подстановкуreasoning_effortCLI обрабатывает сам; если ваш шлюз отдаёт это содержимое под нестандартным именем поля, задайтеreasoning_keyна алиасе модели. - Другие идентификаторы этой конечной точки — в разделе Китайские модели. Идентификаторы
claude-*здесь не работают.
Проверка связи¶
Сначала проверьте файлы, не запуская TUI:
kimi doctor
kimi doctor config
kimi doctor выполняет «Validate config.toml and tui.toml without starting the TUI or modifying either file» и завершается кодом 0, когда все проверяемые файлы корректны или пропущены, и 1, если какой-то отсутствует или некорректен. Документированный охват проверки — только эти два файла; о том, что команда проверяет доступность конечной точки, в документации не сказано.
Посмотрите, что CLI действительно зарегистрировал:
kimi provider list
Затем введите /provider в TUI — откроется интерактивный provider manager, где настроенные провайдеры можно просматривать, добавлять и удалять. kimi provider — его неинтерактивный эквивалент для скриптов и CI.
В конце запросите конечную точку напрямую (подставьте свой ключ):
KEY="cr_your_qcode_key"
curl -X POST https://api.qcode.cc/api/v1/messages \
-H "x-api-key: $KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-sonnet-5","max_tokens":32,"messages":[{"role":"user","content":"ping"}]}'
Страница собрана по документации; запросы выше не выполнялись с настоящим ключом, поэтому никакой код состояния здесь не обещается. Читайте тело JSON-ошибки: по нему видно, ошибка ли это в пути, в ключе или в том, что модель недоступна на этой конечной точке.
У официально описанного пути через каталог сторонних сервисов есть короткая команда:
kimi provider catalog add anthropic --api-key sk-ant-... --default-model claude-opus-4-7. Протокол, base URL и список моделей в ней берёт каталог, а--base-urlпозволяет переопределить адрес конечной точки (--default-modelзаписываетdefault_modelкак<providerId>/<modelId>). Идентификатор в примере взят из публичного каталога, а не из QCode; числится ли там QCode, страница не проверяла, поэтому рекомендует вариант с TOML выше.
Диагностика и известные ограничения¶
| Симптом | Что говорит документация | Что делать |
|---|---|---|
| Запуск падает с сообщением об отсутствии учётных данных | Приоритет: api_key или api_key_env (ровно одно), затем ключ в таблице [providers.<name>.env], а если нет ничего — запуск завершается ошибкой |
Принятые имена ключей для этого типа — ANTHROPIC_API_KEY и ANTHROPIC_BASE_URL, их пишут в [providers.qcode.env]; это ключи файла конфигурации, а не поиск в shell. При обновлении /models провайдер с невыставленной или пустой переменной падает отдельно, не затрагивая остальные |
export ANTHROPIC_API_KEY=… будто не срабатывает |
Переменные shell не являются общим запасным путём; в shell смотрят только api_key_env провайдера и семейство KIMI_MODEL_* |
Используйте api_key_env. KIMI_MODEL_PROVIDER_TYPE принимает kimi, anthropic, openai, а с выставленным KIMI_MODEL_NAME CLI собирает временный провайдер в памяти, который исчезает после перезапуска |
| Правки в файле не применяются | Параметры запуска важнее файла и действуют только на текущую сессию, сам файл читается при старте | Перезапустите kimi или выполните /reload, чтобы применить свежий config.toml |
| Ошибка конфигурации или неизвестный алиас, если алиас с точкой не взят в кавычки | default_model обязан быть определён в models, а алиас с точкой без кавычек превращается во вложенную таблицу |
Возьмите алиас в кавычки: [models."qwen3.8-max"] |
| Ошибка 404 или неверный путь | Документация не описывает, как именно сторонний шлюз собирает путь | base_url заканчивается на /api (Claude) или /openai/v1 (GPT и китайские модели): без слэша на конце и без ручного пути API |
Claude отвергается на провайдере openai |
— | QCode не отдаёт семейство Claude на этой конечной точке; вернитесь к type = "anthropic" |
| Разным проектам нужны разные конечные точки | Механизма проектной конфигурации нет — CLI читает единственный пользовательский файл, и куда бы вы его ни перенесли, файл называется config.toml |
Направьте KIMI_CODE_HOME на отдельный каталог данных для каждого проекта |
Помимо самого инструмента:
- Gemini: у Kimi Code есть тип
google-genaiдля прямого доступа к API Google Gemini, но QCode не предоставляет семейство Gemini — используйте Claude, GPT или китайскую модель. - luna: QCode не предоставляет
gpt-6-lunaиgpt-5.6-luna; возьмите другой идентификатор GPT —gpt-6.1-sol,gpt-6-solилиgpt-5.6-terra. max_output_sizeчитает только провайдерanthropic, поэтому ограничение вывода на алиасеopenaiне действует.- Как подобрать модель под задачу — в разделе Выбор модели; если сбой не связан с этим инструментом, идите по шагам руководства по устранению неполадок.
Смежные документы¶
- Конечные точки и пути API — протоколы против семейств моделей
- Совместимость инструментов — какой инструмент какой конечной точкой пользуется
- Китайские модели — идентификаторы и пути конечной точки OpenAI
- Выбор модели — модель под тип задачи
- Настройка OpenCode — другой терминальный агент на тех же двух конечных точках
Начните с QCode
Один API-ключ для Claude Code, Codex и других инструментов; тарификация по токенам, цены каждой модели — на qcode.cc/models