Разделы базы знаний ▾

Навигация

▸ Начните здесь По ролям

Категории

Инструменты 52
Глоссарий 12

Инструменты

MiniMax Code: агент MiniMax на своём ключе через Gonka

MiniMax Code (команда mcode) — терминальный кодовый агент лаборатории MiniMax: разбирается в проекте, правит файлы, запускает команды и тесты, а вы управляете им из TUI, из скриптов или из редактора. Исходники терминальной версии открыты, собственный код вендора — под лицензией MIT. Продукт молодой и быстро меняется, поэтому всё ниже привязано к версии 0.5.1, на которой мы прошли путь от установки до ответа агента.

Штатно mcode работает через аккаунт вендора и подписку Token Plan. Но в нём есть и BYOK: свой endpoint и свой ключ, причём входить в аккаунт для этого не нужно — так прямо сказано в README. Поддерживаются три формата API: openai-completions, openai-responses и anthropic-messages; JoinGonka Gateway говорит на всех трёх.

Сюжет получается симметричный. Сеть Gonka обслуживает открытую модель MiniMax M2.7, а вместе с ней DeepSeek V4 Flash и GLM-5.3 Flash — все по одной цене. Агент вендора работает на модели того же вендора, только считает её децентрализованная сеть, а платите вы за фактические токены; переключиться на соседнюю модель можно одной командой внутри сессии.

Что такое MiniMax Code и как его поставить

У агента три точки входа, и все три работают с BYOK-провайдером одинаково:

Точка входаКомандаДля чего
Интерактивный TUImcode [prompt]Исследовать код, вести диалог, просматривать правки и разрешения
Headlessmcode exec [prompt]Скрипты, CI, пакетные задачи
ACPmcode acpРедакторы и клиенты с поддержкой Agent Client Protocol

Официальный установщик ставит свежую версию в ~/.minimax-code, при необходимости подтягивает подходящий Node.js и не требует прав администратора:

# macOS / Linux / WSL
curl -fsSL https://filecdn.minimax.chat/public/install.sh | bash

# Windows (PowerShell)
irm https://filecdn.minimax.chat/public/install.ps1 | iex

Если Node.js уже есть (22.19 и новее в линейке 22, 24.2 и новее в линейке 24, а также 25 и 26), подойдёт npm:

npm install -g @minimax-ai/code@latest --registry=https://registry.npmjs.org/ --ignore-scripts=false --include=optional --allow-scripts=@minimax-ai/code,better-sqlite3

Длинная команда не случайна: агенту нужна нативная сборка SQLite, поэтому необязательные зависимости и установочные скрипты должны остаться включёнными. После установки откройте терминал заново и проверьте: mcode --version.

Внутри TUI пригодятся Shift+Tab (режим планирования), Alt+M (переключение режимов разрешений — Ask, Auto и Full access), @ для ссылки на файл и /help со списком команд. Прерванную работу продолжает mcode --continue, а mcode init . создаёт в проекте файл AGENTS.md с правилами для агента.

Пользовательские данные — config.yaml, сессии, состояние входа — лежат отдельно от программы, в каталоге ~/.minimax (у именованного профиля — ~/.minimax-<profile>); переменная MINIMAX_DATA_DIR задаёт другое место.

Ключ JoinGonka. Зарегистрируйтесь на gate.joingonka.ai/register: после подтверждения адреса на счёт придут 3M бесплатных токенов. Ключ с префиксом jg- создаётся в кабинете, в разделе «API-ключи»; удобно завести для агента отдельный — его трафик будет виден отдельной строкой.

Быстрый путь: установщик одной командой

Закройте mcode, если он запущен, и выполните:

npx @joingonka/setup --tool minimax-code --model minimax

Установщик спросит ключ, сохранит копию прежнего config.yaml, допишет в него только свой блок и закончит живым запросом к шлюзу: ключ, адрес и модель проверяются сразу, а не на первой задаче. В ~/.minimax/config.yaml появится провайдер joingonka в ветке custom_provider — именно там mcode держит сторонние endpoint:

custom_provider:
  joingonka:
    name: JoinGonka
    kind: custom
    enabled: true
    api: openai-completions
    options:
      apiKey: jg-your-key
      baseURL: https://gate.joingonka.ai/v1
      authMode: api-key
    models:
      MiniMaxAI/MiniMax-M2.7:
        name: MiniMax M2.7 (Gonka)
        limit:
          context: 200000
          output: 8192
      deepseek-ai/DeepSeek-V4-Flash-0731:
        name: DeepSeek V4 Flash (Gonka)
        reasoning: true
        limit:
          context: 380000
          output: 32768
      zai-org/GLM-5.3-Flash:
        name: GLM 5.3 Flash (Gonka)
        reasoning: true
        limit:
          context: 390000
          output: 8192
defaultModel: custom_provider:joingonka/MiniMaxAI/MiniMax-M2.7

Что стоит знать об этом блоке:

  • Формат API записан явно. Без поля api mcode считает провайдера Anthropic-совместимым; установщик выбирает openai-completions — канонический путь шлюза.
  • Лимиты у каждой модели свои. Незнакомой модели mcode приписывает окно 200 000 и ответ 16 384 токена; реальные значения сети другие, поэтому limit задан у всех трёх записей.
  • Ключ лежит в файле литералом, а сам файл получает права 600. Так же хранит ключи и mcode: его флаг --api-key-env читает переменную и записывает в конфиг значение, а не ссылку.
  • Модель по умолчанию. Флаг --model minimax ставит MiniMax M2.7. Без флага установщик выбирает для кодовых агентов DeepSeek V4 Flash — у неё больше окно и потолок ответа, — а --model glm даёт GLM-5.3 Flash. Если в конфиге уже выбрана модель другого провайдера, повторный запуск без --model её не тронет.
  • Профили. Для именованного профиля запустите установщик с переменной окружения, например MINIMAX_DATA_DIR=~/.minimax-work.

Просьба закрыть mcode на время установки не формальность: агент переписывает config.yaml целиком при собственных сохранениях и может затереть правку, сделанную у него за спиной.

Ручная настройка: mcode provider add и config.yaml

Тот же результат даёт штатная команда агента. Ключ передаётся через переменную окружения — в аргументах и истории оболочки ему делать нечего:

# read the key without echo
read -s JOINGONKA_API_KEY
export JOINGONKA_API_KEY

mcode provider add --name JoinGonka \
  --base-url https://gate.joingonka.ai/v1 \
  --api-format openai-completions \
  --model MiniMaxAI/MiniMax-M2.7 \
  --api-key-env JOINGONKA_API_KEY \
  --context-limit 200000 --output-limit 8192 --use

Флаг --use сначала проверяет первую из перечисленных моделей живым запросом и только потом сохраняет провайдера и делает модель моделью по умолчанию; при неудаче не сохраняется ничего. Успешный прогон заканчивается строкой Provider added and selected: JoinGonka. Из имени mcode сам выводит ключ провайдера — joingonka, — так что установщик, запущенный позже, обновит эту же запись, а не заведёт вторую.

Флаги --context-limit и --output-limit действуют на все модели, перечисленные в команде, а лимиты у моделей сети разные. Поэтому командой удобно завести одну модель, а остальные дописать в файл. Закройте mcode и объедините этот фрагмент с уже существующим блоком провайдера в ~/.minimax/config.yaml:

custom_provider:
  joingonka:
    models:
      MiniMaxAI/MiniMax-M2.7:
        limit: { context: 200000, output: 8192 }
      deepseek-ai/DeepSeek-V4-Flash-0731:
        limit: { context: 380000, output: 32768 }
      zai-org/GLM-5.3-Flash:
        limit: { context: 390000, output: 8192 }

Третий способ — интерактивный: внутри TUI команда /model открывает выбор модели с пунктом + Add 3rd-party provider…, а /provider управляет сохранёнными подключениями. Адрес на экране модели правится по Ctrl+E; неудачная проверка ничего не сохраняет, черновик остаётся для правки.

Какой формат API выбрать. Шлюз принимает все три, различается только базовый адрес:

--api-format--base-urlКогда выбирать
openai-completionshttps://gate.joingonka.ai/v1Основной вариант: канонический путь шлюза, его же пишет установщик. На нём мы прогнали полный агентный цикл
openai-responseshttps://gate.joingonka.ai/v1Если остальное ваше окружение построено вокруг Responses API
anthropic-messageshttps://gate.joingonka.aiФормат Anthropic Messages: путь /v1/messages агент дописывает сам. Это же значение mcode берёт, когда --api-format не указан

В нашем прогоне проверку соединения прошли все три формата.

Проверка и типовые ошибки

Три команды показывают, что связка жива. Первая выводит список провайдеров — активный помечен звёздочкой, ключ замаскирован:

mcode provider list
* custom_provider:joingonka   active   jg-a****9f3c

Вторая делает живой запрос и при успехе отвечает Provider available: custom_provider:joingonka; флаг --model проверяет конкретную модель:

mcode provider test custom_provider:joingonka

Третья проверяет главное — работу с файлами. Положите в каталог небольшой файл с очевидной ошибкой и попросите её найти:

mcode exec "Read calc.py and tell me in one sentence whether it has a bug."

Агент должен сам вызвать инструмент чтения и ответить по существу. В нашем прогоне так отработали все три модели сети; другую модель на один запуск задаёт флаг вида --model custom_provider:joingonka/<model-id>. С флагом --output-format json в ответе появляется поле usage с числом входных и выходных токенов — его удобно сверить с кабинетом шлюза: в разделе «Использование» видны запросы по часам и дням, разбивка по моделям и по ключам.

Если проверка не проходит, mcode называет причину прямо в сообщении:

Что видноЧто это значитЧто сделать
Authentication failed (HTTP 401)Шлюз не принял ключПроверьте, что переменная из --api-key-env экспортирована в этой же оболочке и содержит ключ целиком
HTTP 405 на проверкеВ адресе для OpenAI-формата потерялся суффиксАдрес должен заканчиваться на /v1: агент сам дописывает /chat/completions
HTTP 400: Model "…" not found. Available: …Идентификатор вписан без префикса вендораСкопируйте id из перечня, который шлюз приводит в самом сообщении
Request timed out after 10000msПроверка соединения ждёт десять секунд, а сеть под нагрузкой ответила позжеПовторите команду. Либо сохраните провайдера без --use и проверьте его отдельно через mcode provider test
429 … currently overloaded … (rate limit)У модели сейчас кончилась свободная ёмкость в сетиПовторите через минуту или переключитесь на соседнюю модель командой /model; состояние видно на странице статуса
Моделей провайдера нет в /modelПровайдер выключен или правку затёр запущенный mcodeЗакройте агент и повторите установку: она возвращает enabled: true и каталог моделей
Большое окно используется наполовину или ответ обрывается раньше ожидаемогоМодель добавлена без лимитов: агент считает окно равным 200 000, а ответ — 16 384 токенамЗадайте limit, как в примерах выше

Какую модель выбрать

Цена у всех моделей сети одна, поэтому выбор — про поведение. Ниже — лимиты и то, как модели вели себя в нашем прогоне mcode exec на одной и той же задаче (сверено 21 сентября 2026):

МодельИдентификаторКонтекст / ответКак ведёт себя в mcode
MiniMax M2.7MiniMaxAI/MiniMax-M2.7200K / 8192Модель того же вендора, что и сам агент. В нашем прогоне ответила быстрее остальных. Рассуждение приходит отдельным полем reasoning_content, в тексте ответа — только сам ответ
DeepSeek V4 Flashdeepseek-ai/DeepSeek-V4-Flash-0731380K / 32768Чистый ответ по существу. Большое окно и самый большой потолок ответа в сети — поэтому именно её установщик ставит по умолчанию
GLM-5.3 Flashzai-org/GLM-5.3-Flash390K / 8192Reasoning-модель: думает перед ответом, сам ответ чистый. Рассуждение входит в лимит ответа, поэтому не занижайте output

Практическое правило простое. Для коротких задач и быстрых правок берите MiniMax M2.7: сейчас на неё приходится больше всего ёмкости сети. Если видимые рассуждения мешают — например, вывод exec разбирает скрипт — или нужно прочитать большой репозиторий и получить длинную правку, переключайтесь на DeepSeek V4 Flash. Над запутанной логикой лучше думает GLM-5.3 Flash.

Переключение не требует правки файла: в TUI это команда /model, для одной сессии — mcode -m custom_provider:joingonka/<model-id>, для одного прогона — mcode exec --model с тем же значением. Постоянный выбор хранится в строке defaultModel. Состав сети со временем меняется; актуальный список с лимитами всегда отдаёт GET https://gate.joingonka.ai/v1/models.

Сколько это стоит и что учесть в работе

Агентные инструменты расходуют токены иначе, чем чат: к каждой вашей фразе mcode добавляет системный промпт и описания всех инструментов, а затем ведёт многоходовый диалог с моделью. В нашем прогоне задача «прочитай файл и найди ошибку» обошлась примерно в 40 тысяч токенов, и почти всё это вход. Поэтому цена за токен здесь решает.

Через JoinGonka Gateway токены стоят $0.0069 за миллион на входе и $0.021 за миллион на выходе — цена одинакова для всех моделей сети и подставляется на этой странице из живого источника. Порядок величин по ценам на сентябрь 2026: разовая задача — сотые доли цента, день активной работы на 3-7 миллионов токенов — несколько центов.

СпособКак оплачиваетсяЧто нужно
Аккаунт вендора и Token PlanПодписка с кредитамиВход через mcode login и доступные кредиты
JoinGonka Gateway (BYOK)За фактические токены с балансаКлюч jg-…; входить в аккаунт вендора не нужно, расход виден в кабинете

Что покрывает BYOK. Свой провайдер обслуживает запросы к модели: чтение и правку кода, команды, субагентов, сессии. Встроенный поиск, медиа-инструменты mcode-tools и управляемые коннекторы — сервисы самого вендора, им нужны вход в аккаунт и кредиты. Свои инструменты подключаются независимо от этого, через MCP-серверы в файле .mcp.json проекта.

Разрешения. В TUI режимы Ask, Auto и Full access переключаются по Alt+M или командой /permission; у mcode exec за это отвечает флаг --permission.

Телеметрия. Каналы статистики, метрик и диагностики в mcode по умолчанию выключены и включаются по отдельности; переменные MCODE_DISABLE_TELEMETRY и DO_NOT_TRACK отключают их все разом. Шлюз, со своей стороны, не хранит содержимое промптов и ответов — в статистике остаются только агрегаты расхода.

Если нужна работа с картинками — скриншот интерфейса, макет — заведите рядом второго провайдера с моделью, умеющей зрение, указав при добавлении флаг --support-image: модели сети Gonka текстовые, а провайдеров в mcode может быть несколько.

Агенты от самих лабораторий есть у всех трёх семейств моделей сети: рядом с MiniMax Code стоят DeepSeek Harness и ZCode от Z.ai, авторов GLM. Все три подключаются к одному шлюзу с одним и тем же ключом.

MiniMax Code — терминальный агент лаборатории MiniMax с открытым исходным кодом и штатным BYOK: свой endpoint подключается без входа в аккаунт вендора. Быстрый путь — npx @joingonka/setup --tool minimax-code --model minimax: установщик запишет провайдера joingonka в ~/.minimax/config.yaml с форматом openai-completions, адресом https://gate.joingonka.ai/v1 и честными лимитами MiniMax M2.7, DeepSeek V4 Flash и GLM-5.3 Flash, а затем проверит связку живым запросом. Вручную то же делает mcode provider add … --use. Проверка — mcode provider test custom_provider:joingonka, переключение модели — /model. Платите за фактические токены по цене сети Gonka, без подписки и квот.

Хотите узнать больше?

Изучите другие разделы или начните зарабатывать GNK прямо сейчас.

Получить ключ и бесплатные токены →