Загрузка 0
ПОДЕЛИТЬСЯ

Мой блог

Листай вниз

Как я добавил Kimi, MiniMax и ZCode в OpenResearch за один вечер с помощью Claude Opus

Как я добавил Kimi, MiniMax и ZCode в OpenResearch за один вечер с помощью Claude Opus

Инструмент OpenResearch от alphaXiv изначально разрабатывался для превращения стандартных coding-агентов в исследовательские ассистенты, работая «из коробки» с такими решениями, как Claude Code, Codex, OpenCode, Cursor и Google Antigravity. Мне потребовалось расширить этот набор тремя новыми помощниками, которые уже были установлены на моей Windows-машине: Kimi Code, MiniMax Code и ZCode. Всю работу я поручил облачной сессии Claude Code, которая за неполные два часа чистой работы и $62 на токены подготовила полноценный рабочий форк с поддержкой этих платформ.

Итоговые затраты времени составили чуть более тринадцати часов от отправки самого первого сообщения до успешного релиза версии v0.3.1. Основная часть этого времени пришлась на ночные часы, пока я спал, а также на мои утренние тесты и проверки на операционной системе Windows. В репозиторий ушло двадцать коммитов, затронувших сорок восемь файлов с общим балансом строк +3818/−451 и двадцать семь новых тестов. Итогом стали сразу три последовательных релиза: v0.3.0, v0.3.1 и v0.3.2. В этом материале я подробно распишу архитектурные особенности OpenResearch, распределение ролей между мной и искусственным интеллектом, устройство новых адаптеров и те тринадцать преград, с которыми мы столкнулись в процессе.

Архитектурная схема взаимодействия компонентов OpenResearch
Наглядная схема связей между исследователем, дашбордом, агентами, git worktree и вычислительными модулями.
Как я добавил Kimi, MiniMax и ZCode в OpenResearch за один вечер с помощью Claude Opus
Как я добавил Kimi, MiniMax и ZCode в OpenResearch за один вечер с помощью Claude Opus
Как я добавил Kimi, MiniMax и ZCode в OpenResearch за один вечер с помощью Claude Opus
Как я добавил Kimi, MiniMax и ZCode в OpenResearch за один вечер с помощью Claude Opus
Как я добавил Kimi, MiniMax и ZCode в OpenResearch за один вечер с помощью Claude Opus
Как я добавил Kimi, MiniMax и ZCode в OpenResearch за один вечер с помощью Claude Opus
Как я добавил Kimi, MiniMax и ZCode в OpenResearch за один вечер с помощью Claude Opus
Как я добавил Kimi, MiniMax и ZCode в OpenResearch за один вечер с помощью Claude Opus
Как я добавил Kimi, MiniMax и ZCode в OpenResearch за один вечер с помощью Claude Opus
Как я добавил Kimi, MiniMax и ZCode в OpenResearch за один вечер с помощью Claude Opus
Как я добавил Kimi, MiniMax и ZCode в OpenResearch за один вечер с помощью Claude Opus
Как я добавил Kimi, MiniMax и ZCode в OpenResearch за один вечер с помощью Claude Opus
Как я добавил Kimi, MiniMax и ZCode в OpenResearch за один вечер с помощью Claude Opus

Что такое OpenResearch

Платформа OpenResearch представляет собой локальную рабочую среду для автономных исследовательских агентов. Пользователь устанавливает консольную утилиту orx, выполняет команду orx up, после чего в браузере по адресу http://127.0.0.1:4791 открывается полноценный веб-дашборд. В этом интерфейсе можно ставить перед агентом комплексные задачи: подбирать научную литературу, строить гипотезы, писать исходный код, запускать вычислительные эксперименты и анализировать полученные результаты.

Реклама
Хронологическая шкала рабочей сессии разработки форка
График рабочей сессии: вечерняя разведка и сборка, ночной перерыв и утренние исправления под Windows.

Проект обладает рядом важных особенностей. Система поддерживает параллельные исследования, когда для каждого нового направления создается изолированная сессия агента и собственный git worktree, позволяя нескольким алгоритмам одновременно тестировать различные гипотезы. Эксперименты полностью воспроизводимы благодаря хранению вариантов в git-нативном дереве и сохранению неизменяемого архива для каждого запуска. Все логи, диффы, файлы и артефакты надежно привязаны к породившей их задаче, а полная локальность всех компонентов гарантирует конфиденциальность — проекты и базы данных SQLite хранятся исключительно на локальном диске.

Архитектура адаптеров и драйверов для новых агентов
Структурная схема нового общего ACP-драйвера и специализированных модулей для Kimi, MiniMax и ZCode.

Задача и разделение ролей

Перед началом работ я четко сформулировал техническое задание: получить обновленную сборку OpenResearch с нативной поддержкой Kimi, MiniMax Code и ZCode наряду со стандартными инструментами. Поскольку у облачного контейнера Claude Code не было прямого доступа к Windows, мы разделили обязанности. ИИ работал в защищенном Linux-окружении, писал код, тесты и скрипты-зонды, занимался сборкой и управлял CI, а единственным связующим звеном с Windows для него выступал GitHub Actions. Я же запускал диагностические скрипты на своей рабочей Windows 10, авторизовался в аккаунтах, проверял сборки и передавал логи.

Реклама
Последовательность шагов ACP-протокола в режиме Ask
Диаграмма последовательности запросов и ответов в протоколе ACP при обработке разрешений.

Все ключевые архитектурные развилки Claude выносил на обсуждение в виде структурированных вопросов с готовыми вариантами ответа. Мы решили собирать релизы для Windows и Linux без подписи macOS, направить механизм автообновления на репозиторий нашего форка, проводить валидацию живых запусков на моей машине и подключать Kimi с MiniMax через их официальные CLI-интерфейсы. Взаимодействие происходило по строгим планам, которые агент фиксировал в текстовых файлах перед началом правок.

Как устроены адаптеры

На первом этапе разведки искусственный интеллект проанализировал интерфейсы командной строки всех трех сервисов. Выяснилось, что Kimi Code и MiniMax Code поддерживают современный протокол Agent Client Protocol на базе JSON-RPC 2.0 поверх stdio, что позволило реализовать для них единый общий драйвер. В то же время ZCode не поддерживает ACP и использует закрытый протокол своего app-server, однако имеет удобный режим печати с параметрами -p и –output-format stream-json совместно с флагом –resume.

Интерфейс Kimi Code в режиме Ask на операционной системе Windows
Карточка подтверждения опасной операции и выпадающее меню пикера режимов в чате Kimi Code.

В результате в директории src/local/harness/ появилось четыре новых модуля. Универсальный ACP-драйвер взял на себя инициализацию, возобновление сессий, обработку режимов, моделей, уровней детализации мышления, потоков текста, инструментов и карточек разрешений. Модули для конкретных агентов обеспечили поиск бинарников, авторизацию через учетные данные и сопоставление доступных режимов работы. Для интеграции ZCode, распространяющегося в виде десктопного GUI-приложения, была задействована встроенная в Electron-пакет утилита, запускаемая с переменной окружения ELECTRON_RUN_AS_NODE=1.

Настройки интеграции Harnesses в дашборде OpenResearch на Windows
Вкладка Settings → Harnesses в панели управления OpenResearch на Windows со всеми восемью агентами.

Сложности и как мы их решали

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

Выпадающий список выбора моделей для новых агентов
Интерфейс выбора специфических языковых моделей для каждого из трех новых агентов.

Проблемы с окружением Windows

Первая сложность была связана с тем, что устаревший PowerShell 5.1 некорректно обрабатывал скрипты без метки BOM в кодировке cp1251, превращая длинные тире в символьный мусор — проблему решили переводом диагностического зонда в строгий ASCII-формат. Вторая проблема заключалась в том, что скрипт поиска по имени непреднамеренно запускал графические окна десктопных приложений вроде ZCode; ее устранили путем фильтрации исполняемых файлов и проверки наличия служебного файла resources/app.asar. Третий сбой касался того, что установщик MiniMax прописывал пакеты через npm-шим, но не добавлял Node.js в системный путь PATH, что потребовало принудительной синхронизации окружения при проверке версий.

Реклама
Диаграмма Исикавы для анализа системных сбоев
Классификация тринадцати выявленных системных проблем по пяти основным источникам.

Установщики и авторизация

Официальный инсталлятор MiniMax временами выдавал ошибку валидации и не оставлял бинарника, поэтому мы предусмотрели запасной сценарий установки пакета @minimax-ai/code через уже загруженный локальный Node.js. Кроме того, команда авторизации mcode login по умолчанию пыталась перенаправить пользователя на китайский региональный домен, из-за чего потребовалось принудительно передавать флаг –region global для работы с глобальной инфраструктурой.

Поведение агентов и особенности тарифов

В ходе тестов выяснилось, что режим default у MiniMax не запрашивает подтверждения на опасные операции, поэтому этот режим был исключен из интерфейса. Другой неприятный нюанс проявился у Kimi: после восстановления сессии агент рапортовал о дефолтном режиме работы, игнорируя реальные настройки пользователя, поэтому orx научился принудительно отправлять выбранный режим повторно. Кроме того, несовпадение уровней детализации мышления (thinking) у разных моделей привело к ошибкам конфигурации, которые были устранены динамическим чтением параметров из ответа конкретной модели.

При подключении ZCode возникла проблема отсутствия платного баланса на моем аккаунте, которую Claude изящно обшел, подняв в контейнере локальный фиктивный сервер, совместимый с OpenAI API, и записав реалистичные потоки событий в качестве тестовых фикстур. Схожая ситуация возникла с Kimi, когда модель K2.7 Code Highspeed выдавала ошибку авторизации из-за ограничений моего тарифного плана — адаптер научился корректно распознавать такие отказы провайдера.

Сборка и CI

Финальные трудности ждали нас на этапе сборки и непрерывной интеграции. Модуль интернационализации при сборке пытался скачать зависимости из недоступного внутри изолированного контейнера внешнего CDN, что приводило к формированию пустого UI-бандла — проблему решили через локальный прокси-сервер. Также автоматические тесты требовали наличия функций обновления для каждого агента, для чего для ZCode был прописан отдельный список исключений. Наконец, релизный скрипт оригинала блокировал любые неофициальные сборки, поэтому из пайплайна форка были аккуратно удалены все привязки к репозиторию alphaXiv и телеметрии.

Интерфейс чата Kimi Code с запросом разрешений
Окно чата Kimi Code в режиме Ask с запросом подтверждения выполнения команды через ACP.

Что получилось

Результатом совместной работы стали три стабильных релиза, собранных под операционные системы Windows x64, Linux x64 и Linux ARM64. Пользователи получили полноценную поддержку Kimi Code с ее моделями серии K3 и K2.8, MiniMax Code с настраиваемыми уровнями мышления и ZCode с удобным разбором потоковых ответов. Все новые агенты корректно отображаются в настройках дашборда, поддерживают установку дополнительных навыков через команду orx install-skills, сохраняют контекст бесед после перезапуска утилиты и оснащены удобными интерактивными кнопками авторизации.

Интерфейс выбора режимов Kimi Code
Переключатель рабочих режимов Ask, Auto и YOLO в панели управления агентом Kimi Code.

Как начать работу с форком

Чтобы запустить мою модифицированную версию OpenResearch под управлением Windows, потребуется предварительно инсталлировать Git for Windows, так как платформа активно задействует среду Git Bash. Установку можно выполнить одной командой в PowerShell:

Окно чата ZCode с ответом языковой модели
Пример успешного ответа модели и генерации текста в интерфейсе чата интеграции ZCode.
powershell -ExecutionPolicy Bypass -c "irm https://github.com/artur-shaikhutdinov/OpenResearch-Kimi-MiniMax-ZCode/releases/latest/download/openresearch-cli-installer.ps1 | iex"

Для пользователей Linux предусмотрена аналогичная автоматическая установка через терминал:

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/artur-shaikhutdinov/OpenResearch-Kimi-MiniMax-ZCode/releases/latest/download/openresearch-cli-installer.sh | sh

После завершения установки достаточно выполнить команду orx up, которая автоматически запустит веб-интерфейс в браузере по адресу http://127.0.0.1:4791. Затем можно приступать к настройке нужных агентов: для Kimi Code выполняется инсталляция через официальный скрипт и авторизация командой kimi login с выбором доступной по тарифу модели; для MiniMax Code используется встроенная кнопка в настройках дашборда и вход с глобальным регионом; для ZCode достаточно предварительно авторизоваться в официальном десктопном приложении при наличии активного тарифного плана GLM Coding. Установка глобальных скиллов выполняется командой orx install-skills, а для последующего обновления утилиты достаточно использовать стандартную команду orx update.

Выводы

Данный эксперимент наглядно показал огромный потенциал автономных ИИ-агентов в сфере разработки программного обеспечения. Модель Claude успешно прошла полный цикл от первичного знакомства с кодовой базой до выпуска готовых релизов, продемонстрировав отличные навыки проектирования архитектуры и аккуратное отношение к продуктовым решениям. Тем не менее, участие человека остается критически важным при работе с реальными аппаратными окружениями, живыми тарифными планами, специфическими кодировками операционных систем и защищенными корпоративными аккаунтами. Финансовые затраты на эксперимент оказались вполне умеренными, а итоговые наработки были оформлены в виде официального Pull Request в основной репозиторий проекта.

Реклама
01.