# Девятнадцать агентских CLI, одна глубина интеграции

> Как NeuroSquad довёл 19 агентских CLI до уровня Claude Code: чеклист примерно из сорока возможностей, свой механизм для каждого инструмента и доказательство там, где что-то невозможно.

- URL: https://neurosquad.ai/ru/blog/nineteen-agent-clis/
- Published: 2026-09-26
- Publisher: NeuroSquad (https://neurosquad.ai/)

NeuroSquad 0.1.137 добавляет девять агентских CLI — Gemini CLI, GitHub Copilot CLI, Amp, Factory Droid, aider, Goose, Kimi Code, Cline и Auggie — и дотягивает Cursor CLI и Crush до уровня остальных. Итого девятнадцать, и впервые слово «поддерживается» значит для всех одно и то же.

Три дня назад это было не так. Первый выпуск запускал в карточках десять CLI, но глубоко был интегрирован только Claude Code: его статусы приходили из его собственных хуков, его сессия продолжалась после перезапуска, он получал инструменты по стрелкам. Остальные работали в терминале, и за ними в основном следила эвристика. Эта запись — о том, как этот разрыв закрылся за три выпуска в пределах суток.

*У каких CLI была полная интеграция — выпуск за выпуском. Пройдите по шагам.* (interactive: https://neurosquad.ai/ru/blog/nineteen-agent-clis/)

## Что значит «та же глубина»

Мы записали всё, что приложение делает для Claude Code, в чеклист примерно из сорока возможностей, и у каждого CLI есть свой документ, который проходит по этому списку строка за строкой. Каждая строка — одно из трёх: **нативно** (у CLI это есть, и приложение этим пользуется), **эмулировано** (собрано из другого механизма этого CLI — и как именно) или **невозможно** — с доказательством, обычно строкой из исходников самого CLI.

Строки, которые важнее всего тому, кто работает на холсте:

- **Возобновление сессии**: перезапустите приложение или карточку — и агент продолжит тот же разговор.
- **Точные статусы**: работает, ждёт вас, закончил — по собственным событиям CLI и с текстом того, о чём он спрашивает.
- **Инструменты по стрелкам**: MCP-инструменты приложения плюс подключённые MCP-серверы и скиллы.
- **Режим карточек**: агент работает через карточки (терминал для команд, браузер для веба), а не через свои встроенные инструменты, — и это держится даже в опасном режиме.
- **Безопасное прерывание** тормозом бюджета, без потери сессии.
- **Расход и модель** по карточке, **индикатор контекста** и сжатие, **продолжение** после лимита.

## К каждому CLI — свой вход

Чеклист один, а механизм почти никогда не совпадает. Для Claude Code приложение передаёт файл настроек поверх ваших, и его хуки сообщают о каждой смене состояния одной строкой `curl`. Вот как туда добрались некоторые другие.

**OpenCode** получает плагин — один файл на все карточки, — который сообщает о состоянии сессии и о запросах разрешений. Конфиг передаётся через одну переменную окружения, выбранную методом исключения: переменная для встроенного JSON уже несла заголовки атрибуции OpenRouter, а два писателя одной переменной затирают друг друга; переменная для *папки* конфига спрятала бы ваш глобальный файл инструкций. С прерыванием тоже пришлось быть аккуратнее: Ctrl+C в OpenCode при пустом поле ввода **закрывает приложение**, а тормоз бюджета раньше слал именно его. Теперь он дважды нажимает Escape.

**Hermes Agent** читает слой конфигурации уровня администратора, и приложение направляет его на собственный файл для каждой карточки, который сливается с вашим по листьям. Живая проверка показала, что интерактивный режим подключает MCP-серверы, только если они есть в вашем исходном конфиге, — поэтому карточка сама набирает `/reload-mcp`, как только готово приглашение, а первый промпт ждёт строки `Agent updated`, прежде чем вставиться. Ещё одна находка: когда падает провайдер модели, Hermes так и не присылает событие конца сессии, и карточка навсегда застревала на «работает»; пока ход открыт, приложение теперь ещё и следит в терминале за ошибками провайдера, которые печатает Hermes.

У **Gemini CLI**, как и у его форка Qwen Code, есть путь к системным настройкам, но этот файл он загружает, только если тот принадлежит администраторам и недоступен пользователям на запись. Файл в папке приложения пропускается с предупреждением безопасности. Зато Gemini честно уважает подмену домашней папки, поэтому каждая карточка Gemini работает со своим домом, где лежит её слой настроек, — а всё остальное из вашего настоящего `~/.gemini`, включая сессии и вход, подключено через связи каталогов (junction). Сессия карточки — это ваша сессия: `gemini --resume` работает из обычного терминала и обратно.

У **aider** нет ни MCP-клиента, ни хуков, ни API плагинов. Зато это программа на Python, а Python раньше всего остального импортирует модуль `sitecustomize` из пути поиска. Карточка aider стартует с одной папкой в начале `PYTHONPATH`, чей модуль по мере загрузки патчит шесть модулей aider — каждый патч с защитой, так что если будущая версия aider переименует метод, отключится только эта одна функция, — а затем убирает свои переменные, чтобы их не унаследовало ничего, что запускает aider.

**Kilo Code** по умолчанию подключается к уже запущенному демону Kilo вместо того, чтобы стартовать свой рабочий процесс, а у демона своё окружение — и карточка молча теряла бы конфиг, инструменты и MCP-токен. Теперь каждая карточка Kilo стартует с ключом, отключающим подключение. **Codex CLI** раньше переживал остановку своей карточки: npm-шим умирал, а `codex.exe` продолжал жить. Теперь карточка запускает настоящий исполняемый файл напрямую.

![Диалог «Новый агент» с открытым списком агентских CLI](https://neurosquad.ai/blog/nineteen-agent-clis/new-agent-ru.webp)

*При создании агента выберите CLI, провайдера и модель. Установленные CLI ищутся по текущему PATH этого компьютера.*

## «Невозможно» — тоже ответ

Некоторые строки заполнить нельзя, и сказать об этом прямо — часть работы. Несколько CLI — Auggie, Droid, Goose, Kimi — не дают вызывающей стороне выбрать id сессии; приложение перехватывает id, который они выдают сами, и продолжает сессию по нему. У Auggie нет команды сжатия, потому что он сам сворачивает историю, когда окно заполняется, — у его карточки просто нет кнопки Compact. Cline читает список инструментов сервера один раз, при старте сессии, и ничто его не обновляет, — поэтому стрелка, нарисованная посреди сессии, начинает действовать со следующего запуска, и в документации так и написано.

У Kimi Code то же ограничение, и там оно эмулировано: карточке Kimi с самого начала предлагаются все встроенные группы инструментов, а стрелки решают в момент вызова, разрешён ли он. В карточку заметки, созданную посреди сессии, агент записал в той же сессии.

Amp — самый честный случай. Его агентский цикл, включая вызовы модели, работает на серверах Amp; локальный CLI только выполняет инструменты. Поэтому OpenRouter и атрибуция для Amp невозможны, а всё, что приложение делает вокруг него, проверено на локальной подделке сервера Amp.

> **Найдено вживую: строка, разорванная терминалом** Когда сессия Goose удалена, Goose печатает `no such session exists`, и приложение должно восстановиться, начав новую. Первая версия это пропускала: консоль Windows перенесла строку как `no suc / h session exists`. Теперь маркеры восстановления сравниваются с полностью удалёнными пробелами.

## Как это проверяли

Каждый CLI ставился во временную папку, никогда глобально, и запускался отдельной сборкой приложения со своим профилем и временной домашней папкой, так что ничей настоящий конфиг не читался и не записывался. Большинство CLI были направлены на маленький сервер модели со сценарием на loopback-интерфейсе — он отвечает на `PING`, вызывает инструменты, зависает на пятнадцать секунд, возвращает 429, — чтобы лимиты, зависания и запросы разрешений можно было вызвать по требованию, а не ждать.

Тот же сервер записывал заголовки запросов — так и проверялась атрибуция OpenRouter: каждый CLI, который работает с OpenRouter, теперь отправляет заголовки NeuroSquad, включая карточки на собственном входе CLI в OpenRouter, и каждый из них **измерен на перехватывающем сервере**, а не взят из документации.

![Меню добавления карточки: сначала агентские CLI, поиск, установленные отмечены](https://neurosquad.ai/blog/nineteen-agent-clis/add-menu-ru.webp)

*Меню добавления начинается с агентов; установленные на этом компьютере отмечены.*

По дороге прибавились два исправления поменьше: карточки Kilo Code больше не теряют настройки из-за общего демона, а токен Qwen Code для MCP-сервера приложения больше не пишется на диск. Полные списки — в журнале изменений [0.1.128](https://neurosquad.ai/ru/changelog/#v0.1.128), [0.1.133](https://neurosquad.ai/ru/changelog/#v0.1.133) и [0.1.137](https://neurosquad.ai/ru/changelog/#v0.1.137).
