Загрузка...

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.

  1. Сохраните ключ в переменной окружения (для постоянной работы добавьте строку в ~/.bashrc или ~/.zshrc):
export ROUTERAI_API_KEY=sk-xxxxxxxxxxxxxxxx
  1. Откройте ~/.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.

Версия Kimi Code CLI и config.toml с провайдерами RouterAI: type openai и type anthropic, ключ в api_key_env

Ключ можно записать и прямо в файл (api_key = "sk-xxxxxxxxxxxxxxxx"), но тогда следите, чтобы config.toml не попал в git. Поля api_key и api_key_env взаимоисключающие: указывайте одно из них.

Разовый запуск с другой моделью без правки default_model:

kimi -m routerai/k3

Выбор модели

В агенте переключайте модель командой /model: список строится из таблицы models в вашем config.toml. Команда /provider работает с каталогами провайдеров и реестрами, поэтому для RouterAI проще дописать провайдера в файл.

Команда /model в Kimi Code CLI: алиасы RouterAI из config.toml, Kimi K3.1 Pro отмечена как текущая

Модель Для чего
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, а рядом — занятый контекст.

Сессия Kimi Code CLI на демо-проекте: npm test выполнен, в строке статуса модель Kimi K3.1 Pro (RouterAI)

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

Решение проблем

Сообщения об ошибках Kimi Code CLI: 401 Unauthorized, модель не найдена, пустая api_error и незаданная переменная окружения

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

Недостаточно средств на балансе — пополните его в разделе Биллинг.

Что дальше

Инструкция проверена на Kimi Code CLI 2.5.2.