Три новых CLI-агента: MiMo Code, PenguinHarness и ZCode
Три новых CLI-агента — три очень разные программы: форк CLI, который мы уже поддерживаем, клиент-серверная платформа и движок десктопного агента в терминале. Каждой понадобился свой подход.
NeuroSquad 0.1.281 добавляет три CLI-агента: MiMo Code от Xiaomi, PenguinHarness от команды PrismShadow и ZCode от Z.ai. С ними приложение запускает 22 CLI-агента, и «поддерживается» по-прежнему значит одно и то же для каждого: карточка знает, когда агент работает, ждёт вас или закончил; сессия переживает перезапуск; инструменты приложения приходят по стрелкам; расход считается до токена; карточку можно переключить на другой CLI и обратно, не потеряв разговор. Это релиз для Windows; приложение для Mac пока остаётся на 0.1.230 и получит три новых CLI со следующей сборкой.
Как и с прежними CLI, всё, что приложение умеет для Claude Code, записано строками чек-листа, и у каждого нового CLI есть свой документ, который проходит его строка за строкой: что у CLI есть само, что приложение строит вокруг него и что невозможно — и почему. У MiMo Code вышло 42 строки, у PenguinHarness — 48, у ZCode — 43. Интересным этот заход сделало то, что у трёх программ почти нет ничего общего.
MiMo Code: форк и то, что в нём своё
MiMo Code — терминальный агент для кода от Xiaomi, с открытым кодом под MIT и форк OpenCode: та же сборка конфига, API плагинов, события и схема базы данных, только переименованные. OpenCode и другой его форк, Kilo Code, NeuroSquad уже запускал через одну общую реализацию, поэтому MiMo стал третьим членом этого семейства, а не четвёртой интеграцией: карточка получает свой конфиг через переменную окружения MiMo, плагин NeuroSquad и MCP-сервер приложения.
Интересным оказалось то, что MiMo добавил сверху. Перед своим интерфейсом он спрашивает, доверяете ли вы папке; карточка запускает его с флагом, который пропускает вопрос только для этого запуска, так что в собственный список доверия MiMo ничего не пишется. Он запускает субагентов внутри сессии родителя — «акторов», — и карточка теперь остаётся «в работе», пока они идут, а их запросы считаются один раз в «Расходе», Run Stats и Agent Pulse. А ещё на вопрос о разрешении можно ответить через его собственный API — так опасный режим работает вживую: включили, и следующий вопрос отвечается за вас, без перезапуска, как у Claude Code.
PenguinHarness: сервер и агент на карточку
PenguinHarness — не одна терминальная программа, а платформа: сервер, которому принадлежит папка данных с проектами, агентами и сессиями, веб-приложение и чат-клиент в терминале. Инструменты, хуки и инструкции агента живут в этой папке, а не во флагах командной строки. И первый чат сам запустил бы сервер — отдельно, с окружением той карточки, которая стартовала первой, — так что ключи одной карточки могли оказаться в shell каждого агента.
Поэтому NeuroSquad запускает собственный сервер Penguin для своей папки данных — из чистого окружения, с остановкой при выходе из приложения, — и каждая карточка становится в нём своим агентом Penguin с хуками NeuroSquad, MCP-сервером приложения и его инструкциями. Ваш ~/.penguin только читается: модели и ключи, настроенные там, при каждом запуске копируются в конфиг проекта приложения, так что карточка работает на том же, на чём penguin работает у вас в терминале. Разрешения идут через хук, на который отвечает карточка, — это даёт опасный режим вживую и режим карточек, который держится даже тогда; прерывание идёт через сервер, потому что Ctrl+C в простаивающем чате Penguin спрашивает, не выйти ли.
Два ограничения — от текущего релиза Penguin, а не от приложения. В 0.2.13 ещё нет хука, который срабатывает на каждом промпте, поэтому Caveman, Память, Context7 и Graphify не могут добавить свой контекст (их инструменты по стрелке работают), и нельзя сменить модель у идущей сессии — смена модели начинает новую сессию со ссылкой на прежнюю. Оба механизма без изменений работают на основной ветке Penguin — это проверено на сборке из исходников. Живой прогон нашёл и настоящую ошибку на нашей стороне: группы провайдеров, созданные приложением, 0.2.13 игнорировал, и запросы уходили на адрес OpenAI по умолчанию; теперь у каждой группы свой тип клиента и адрес.
ZCode: один файл настроек и предзагрузка
ZCode — среда агентной разработки Z.ai для её моделей GLM. Z.ai опубликовала исходники в сентябре 2026 года, и тот же движок агента, что работает в её десктопном приложении, собирается и в команду zcode. Готовой сборки CLI Z.ai не выпускает, поэтому на Windows сегодня ставят неофициальный npm-пакет, который несёт движок Z.ai без изменений, — его ставит мастер настройки, и именно он проверялся.
ZCode почти ничего не берёт из командной строки, а у его файла настроек — хуки, MCP-серверы, разрешения инструментов — один фиксированный путь в домашней папке без переключателя. Писать наши хуки в ваш файл было нельзя. Поэтому карточка ZCode запускает собственный лаунчер ZCode с маленькой предзагрузкой: только внутри процессов ZCode чтение и запись этого одного файла уходят в копию карточки — ваши настройки плюс хуки и серверы карточки. Токены и ключи записаны там только как подстановки, которые заполняются из окружения при чтении и затем убираются из окружения, в котором ZCode запускает команды: echo переменной с токеном в карточке печатает пустоту.
Одно решение стоит назвать. У ZCode есть автоматическая память проекта, которая после каждого хода обращается к модели, и эти обращения нигде не записываются — ни в его журнал расхода, ни в читаемый лог. «Расход» в NeuroSquad либо точен, либо говорит, что не знает, поэтому в карточке эта память выключена, если вы не включили её сами в своих настройках ZCode. Если включили — она будет, а эти обращения не попадут в «Расход». Опасный режим у ZCode — режим запуска, поэтому его переключение перезапускает карточку и продолжает ту же сессию.
Как это проверялось
Каждый CLI ставился в свою временную папку, никогда не глобально, и управлялся отдельной копией приложения со своим профилем, временной домашней папкой и сервером модели по сценарию на loopback-интерфейсе — так что ничьи настоящие конфиги и логины не читались, а любой статус, вопрос о разрешении, прерывание и субагента можно было вызвать по запросу. Расход сверялся с журналом самого сервера модели: запросы, которые насчитала каждая карточка, с разбивкой на основного агента и субагентов, должны были совпасть с ним точно. Снимки в этом посте сделаны в той же обстановке.
Некоторые строки остаются пустыми, и документы объясняют почему: ни один из трёх пока не работает в WSL- и SSH-воркспейсах, Penguin не умеет переписать shell-команду перед запуском (его хук может только разрешить или запретить), а после Escape терминальный интерфейс ZCode проглатывает следующую клавишу, как pi и omp.
У каждого CLI своя страница: MiMo Code, PenguinHarness и ZCode, подробности настройки — в документации. Полный список изменений — в журнале 0.1.281. NeuroSquad обновляется сам; новая установка начинается со страницы загрузки.



