Kimi Code CLI через RouterAI: настройка config.toml для Kimi K3, Claude и DeepSeek
Kimi Code CLI
Kimi Code CLI — терминальный coding-агент от Moonshot AI (репозиторий MoonshotAI/kimi-code, npm-пакет @moonshot-ai/kimi-code). Он читает и правит файлы, запускает команды, подключает MCP-серверы и ведёт сессии в интерактивном TUI. Команда запуска — kimi.
Это новое поколение инструмента, а не старый Python-проект kimi-cli: тот репозиторий заархивирован и больше не обновляется. Новый CLI переписан на TypeScript, поставляется как готовый бинарник (Node.js для скрипта установки не нужен) и хранит данные в ~/.kimi-code/, а не в ~/.kimi/. Если у вас остались данные старой версии, при первом запуске kimi предложит их перенести, либо выполните kimi migrate.
RouterAI подключается как обычный провайдер в config.toml: по OpenAI-совместимому протоколу или по Anthropic Messages API. В одном агенте доступны Kimi K3, Kimi K3.1 Pro, Claude, DeepSeek и другие модели из каталога, работа из России без VPN и оплата в рублях.
Требования
- macOS, Linux или Windows (на Windows нужен Git for Windows: CLI использует Git Bash как оболочку)
- Node.js 22.19.0 или новее — только если ставите через npm; установочному скрипту Node не нужен
- API-ключ из личного кабинета
Установка
Рекомендуемый способ — официальный скрипт, он скачивает последний релиз, проверяет контрольную сумму и кладёт kimi в PATH.
# 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.js 22.19.0+):
npm install -g @moonshot-ai/kimi-code
kimi --version
Команда kimi --version выводит номер версии, на момент написания — 2.5.2. Обновление — kimi upgrade.
Подключение к RouterAI
Kimi Code CLI читает ключи провайдеров только из ~/.kimi-code/config.toml. Просто export OPENAI_API_KEY=... в терминале ничего не даст. Исключение — поле api_key_env: в нём указывают имя переменной окружения, и CLI берёт ключ из неё при каждом запросе. Так ключ не попадает в файл конфигурации и в репозиторий с dotfiles.
- Сохраните ключ в переменной окружения (для постоянной работы добавьте строку в
~/.bashrcили~/.zshrc):
export ROUTERAI_API_KEY=sk-xxxxxxxxxxxxxxxx
- Откройте
~/.kimi-code/config.toml(файл создаётся при первом запуске) и добавьте провайдера, модели и модель по умолчанию. Алиас модели с точкой в имени берите в кавычки.
Вариант 1: OpenAI-совместимый провайдер
Подходит для Kimi, DeepSeek, GPT и других моделей из каталога. Base URL — https://routerai.ru/api/v1.
default_model = "routerai/k3-1-pro"
[providers.routerai]
type = "openai"
base_url = "https://routerai.ru/api/v1"
api_key_env = "ROUTERAI_API_KEY"
[models."routerai/k3-1-pro"]
provider = "routerai"
model = "moonshotai/kimi-k3.1-pro"
max_context_size = 1048576
display_name = "Kimi K3.1 Pro (RouterAI)"
[models."routerai/k3"]
provider = "routerai"
model = "moonshotai/kimi-k3"
max_context_size = 1048576
display_name = "Kimi K3 (RouterAI)"
Вариант 2: Anthropic-совместимый провайдер
Тот же ключ работает и с Anthropic Messages API. Base URL здесь без /v1 — https://routerai.ru/api, SDK добавляет путь сам:
[providers.routerai-anthropic]
type = "anthropic"
base_url = "https://routerai.ru/api"
api_key_env = "ROUTERAI_API_KEY"
[models."routerai-anthropic/sonnet"]
provider = "routerai-anthropic"
model = "anthropic/claude-sonnet-5.5"
max_context_size = 1000000
display_name = "Claude Sonnet 5.5 (RouterAI)"
Поля таблицы models: provider — имя из providers, model — id модели ровно как в каталоге RouterAI (с префиксом производителя), max_context_size — размер контекста в токенах. Ключ таблицы (routerai/k3-1-pro) — это алиас, который вы указываете в default_model и в флаге -m.

Ключ можно записать и прямо в файл (api_key = "sk-xxxxxxxxxxxxxxxx"), но тогда следите, чтобы config.toml не попал в git. Поля api_key и api_key_env взаимоисключающие: указывайте одно из них.
Разовый запуск с другой моделью без правки default_model:
kimi -m routerai/k3
Выбор модели
В агенте переключайте модель командой /model: список строится из таблицы models в вашем config.toml. Команда /provider работает с каталогами провайдеров и реестрами, поэтому для RouterAI проще дописать провайдера в файл.

| Модель | Для чего |
|---|---|
moonshotai/kimi-k3.1-pro |
Основная модель для сложных задач: рефакторинг, отладка, большие репозитории (контекст 1 048 576 токенов) |
moonshotai/kimi-k3 |
Универсальная модель того же поколения с таким же контекстом |
moonshotai/kimi-k2.7-code |
Модель Moonshot AI, заточенная под код (контекст 262 144 токенов) |
anthropic/claude-sonnet-5.5 |
Альтернатива для сложного кода через Anthropic-провайдер |
deepseek/deepseek-v4-flash |
Дешёвые массовые правки и переименования |
Цены на токены и актуальный список смотрите в каталоге моделей. Подробнее о моделях — в статьях Kimi K3 и Kimi K3.1 Pro. Для агента важна поддержка вызова инструментов (tool calling): у всех моделей из таблицы она есть.
Проверка подключения
Быстрая проверка без интерактивного интерфейса: флаг -p (--prompt) выполняет один запрос, печатает ответ и завершает работу.
kimi -p "Ответь одним словом: OK"
Для проверки в работе перейдите в папку проекта с тестами, запустите kimi и попросите: «Запусти npm test и коротко скажи, что проверяют тесты». Агент покажет вызов инструмента Bash и спросит разрешение (Approve once, Approve for this session, Reject, Reject with feedback). Режим Ask When Needed (флаг --yolo) выполняет обычные команды сам и спрашивает только про рискованные. В строке статуса видна модель из вашего config.toml, а рядом — занятый контекст.

Полезные команды внутри сессии: /sessions — история и возврат к диалогу, /new — чистый контекст, /compact — сжатие контекста, /help — список команд. Продолжить последний диалог можно запуском kimi -c.
Решение проблем

provider.auth_error: 401 Unauthorized
Ключ неверный или скопирован не полностью. Проверьте значение ROUTERAI_API_KEY и сверьте с ключом в личном кабинете. Переменную CLI читает при старте процесса: после смены ключа перезапустите kimi.
config.invalid: variable is not set or is empty
В api_key_env указано имя переменной, которой нет в окружении того терминала, где запущен kimi. Выполните export ROUTERAI_API_KEY=... в той же сессии или добавьте строку в профиль оболочки. Одновременно api_key и api_key_env задавать нельзя.
Model '…' not found
Идентификатор в поле model не совпадает с каталогом. Берите id целиком, с префиксом производителя, из каталога, например moonshotai/kimi-k3.1-pro. Не путайте поле model (id для RouterAI) с алиасом — ключом таблицы models.
provider.api_error без текста или 404
Чаще всего неверный Base URL или тип провайдера. Для type = "openai" нужен https://routerai.ru/api/v1 (с /v1), для type = "anthropic" — https://routerai.ru/api (без /v1). Если в OpenAI-провайдере указать https://routerai.ru/api, запрос уйдёт на несуществующий путь и сервер вернёт 404, а CLI покажет api_error без пояснений. Подробности ищите в логе ~/.kimi-code/logs/kimi-code.log.
402 Payment Required
Недостаточно средств на балансе — пополните его в разделе Биллинг.
Что дальше
- Каталог моделей — подберите модель под задачу
- Аутентификация — управление API-ключами
- Kimi K3 и Kimi K3.1 Pro — о моделях Moonshot AI
- Codewhale через RouterAI и Open Interpreter через RouterAI — другие терминальные агенты
-
Документация Kimi Code — полное описание
config.toml, MCP-серверов и плагинов
Инструкция проверена на Kimi Code CLI 2.5.2.