# Смена CLI агента посреди задачи, шаблоны в готовый воркспейс и Graphify

> Переведите карточку с Claude Code на OpenCode и обратно, не теряя разговора, вставьте шаблон в уже существующий воркспейс и подключите живую карту кода, которую агенты спрашивают вместо grep.

- URL: https://neurosquad.ai/ru/blog/harness-switch-and-graphify/
- Published: 2026-10-03
- Publisher: NeuroSquad (https://neurosquad.ai/)

Добавляя агента на холст, вы выбираете его CLI: Claude Code, Codex, OpenCode, Gemini CLI или другой. До сих пор этот выбор был окончательным. Если посреди задачи хотелось мнения другой модели или один CLI упёрся в лимит, приходилось заводить новую карточку и объяснять всё заново.

В NeuroSquad 0.1.253 появилась **смена харнесса**: та же карточка, тот же терминал, другой CLI — и разговор переходит вместе с ним. Ещё в этом релизе можно **вставить шаблон в воркспейс, который у вас уже есть**, и появился шестой плагин, **Graphify**: карта вашего кода, которую агенты спрашивают вместо grep, а каждый их вопрос рисуется на карточке в момент запроса. Это релиз для Windows; приложение для Mac пока остаётся на 0.1.230 и получит всё это со следующей сборкой.

## Смена харнесса: одна карточка, другой CLI

Откройте меню карточки и выберите **«Сменить харнесс…»**. В диалоге — ИИ-харнессы, установленные на этом компьютере. Выберите нужный, под ним — провайдер и модель для него, те же, что в меню провайдера на карточке. Два переключателя решают, что будет с разговором: **«Перенести разговор»** и **«Отправить автоматически»**.

![Диалог «Смена харнесса»: «Сейчас: Claude Code»; список установленных харнессов, выбран OpenCode; поля «Провайдер» и «Модель»; переключатели «Перенести разговор» и «Отправить автоматически»; пояснение, что не переносится; кнопки «Отмена» и «Переключить на OpenCode»](https://neurosquad.ai/blog/harness-switch-and-graphify/switch-dialog-ru.webp)

*Карточка Claude Code переходит на OpenCode со своим провайдером. Пояснение внизу говорит, что не переносится.*

Карточка остаётся на месте. Положение на холсте, стрелки, рамка, имя и заметки сохраняются, и сам терминал тоже: старый CLI останавливается, новый запускается в том же xterm, под приглушённой линией с указанием, какой харнесс пришёл на смену.

Модель разговор не пересказывает. NeuroSquad читает транскрипт текущей сессии — файл, который пишет сам CLI, — и превращает его в первое сообщение новому харнессу: ваши запросы, ответы, изменённые файлы и список задач, до 14 000 символов, а полная копия сохраняется в папке приложения. Это ничего не стоит. Внутренности вызовов инструментов, изображения и скрытые рассуждения не переносятся, и диалог об этом предупреждает. Если выключить **«Отправить автоматически»**, сообщение только вставится в поле ввода, чтобы вы его прочитали и поправили.

![Та же карточка, развёрнутая, теперь на OpenCode: первое сообщение с пометкой NeuroSquad harness switch говорит, что карточку переключили с Claude Code, и содержит задачу, разговор с планом Claude Code и просьбу коротко подытожить; OpenCode отвечает, что подхватил план и следующий шаг — потоковый эндпоинт](https://neurosquad.ai/blog/harness-switch-and-graphify/switch-opencode-ru.webp)

*Что получает OpenCode: задачу, разговор с Claude Code и просьбу подытожить, где всё стоит, — это взято из транскрипта, а не написано моделью.*

Обратное переключение — не вторая передача дел. Карточка помнит свои сессии, поэтому харнесс, который в ней уже работал, отмечен в диалоге **«Продолжит свою сессию»**. Выберите его — и CLI продолжит свою исходную сессию, а получит только то, что произошло без него, в нашем случае ход в OpenCode.

![Карточка, развёрнутая, снова на Claude Code: его прежний ход с планом на месте, дальше сообщение о том, что карточка какое-то время работала на OpenCode, с тем, что там произошло, — запрос «Write the tests for step 3» и ответ OpenCode, — и ответ Claude Code, что он вернулся и переходит к кнопке Download CSV](https://neurosquad.ai/blog/harness-switch-and-graphify/switch-back-ru.webp)

*Снова Claude Code: продолжается его исходная сессия — первый ход виден выше, — и добавляется только ход из OpenCode.*

- **Посреди хода** диалог предлагает **«Прервать и переключить»** — прерывание тем способом, который ждёт этот CLI, а не вслепую Ctrl+C — или **«Переключить после хода»**.
- **Режимы, которые новый харнесс не поддерживает**, откладываются и возвращаются: CLI без опасного режима спрашивает подтверждения как обычно, без режима карточек — пользуется своими инструментами, без поддержки провайдера карточки — работает на своём логине, если не выбрать другой. При обратном переключении всё вернётся.
- **В воркспейсах WSL и SSH** пока работает только Claude Code, так что переключаться там не на что — диалог так и скажет.

Чтобы это работало на месте, пришлось поменять одну вещь глубоко внутри карточки. Компонент терминала был привязан к харнессу ключом, так что другой харнесс означал новый компонент, а в NeuroSquad размонтирование терминала завершает его процесс. Теперь терминал читает харнесс на лету и сам запускает новый CLI, когда старый действительно завершился. А перед тем как новый начнёт рисовать, терминал убирает то, что оставляет полноэкранный CLI, — альтернативный экран, отслеживание мыши, скрытый курсор, — так что следующий CLI стартует на чистом экране, а прежний вывод остаётся в прокрутке.

## Шаблоны в воркспейс, который у вас уже есть

Шаблоны появились в прошлом релизе, и каждый импорт создавал новый воркспейс. Часто нужно обратное: агенты уже настроены, не хватает одного куска — например, автора документации рядом с ними. Теперь в диалоге импорта есть **«Новый воркспейс / В существующий»**, а **«Инструменты холста → Вставить шаблон…»** или **«Шаблон…»** в меню добавления карточек открывают его сразу для текущего воркспейса.

![Диалог импорта шаблона Docs Writer with Live Library Docs в режиме «В существующий»: пояснение, что карточки добавятся рядом с вашими и ничего не перезапустится; раздел «Используются ваши карточки» с карточкой Context7 из воркспейса; «Всё, что нужно шаблону, уже есть на этом компьютере»; первый промпт; справа превью, воркспейс Reports app и кнопка «Добавить в воркспейс»](https://neurosquad.ai/blog/harness-switch-and-graphify/insert-dialog-ru.webp)

*Шаблону нужна карточка Context7; в этом воркспейсе такая уже есть с теми же настройками, и шаблон подключается к ней, а не добавляет вторую.*

Новое здесь — повторное использование. Некоторые карточки нужны по одной на воркспейс — статус команды, бюджет, Code Graph, RTK, — и если такая уже есть, шаблон берёт её. Память, Caveman и Context7 используются повторно, когда их настройки совпадают с шаблоном; карточка MCP или навыка — когда указывает на тот же сервер или навык. Иначе шаблон приносит свою копию: молча поменять поведение вашей карточки было бы хуже, чем вторая карточка. Стрелки шаблона соединяют только добавленные им и повторно использованные карточки; ваши прежние стрелки не меняются.

Новые карточки появляются вместе, справа от того, что уже есть на холсте, или под ним, в раскладке шаблона и в рамке с его именем. Камера перелетает к ним. Первые промпты вставляются только новым агентам, и ничего из уже запущенного не перезапускается. Если получилось не то, в уведомлении есть **«Отменить»**: эта кнопка убирает ровно те карточки, что добавила вставка, а установленное остаётся.

![Холст Reports app после вставки: сверху прежние карточки статуса команды, Lead, Context7 и Plan; ниже рамка Docs Writer with Live Library Docs с агентом Writer, браузером Docs preview и заметкой Docs brief, стрелка от Writer к прежней карточке Context7 и уведомление «Docs Writer with Live Library Docs» добавлен, 3 новые карточки, с кнопкой «Отменить»](https://neurosquad.ai/blog/harness-switch-and-graphify/insert-result-ru.webp)

*Три новые карточки в своей рамке; стрелка Writer идёт к карточке Context7, которая уже была. «Отменить» уберёт ровно эти три.*

## Graphify: живая карта вашего кода

Шестой плагин построен на [graphify](https://github.com/Graphify-Labs/graphify) — открытом проекте (Apache-2.0), который превращает кодовую базу в граф знаний: файлы, функции, классы, вызовы и импорты, сгруппированные в подсистемы. Проведите стрелку от агента к карточке **Graphify**, и агент получит инструменты `graphify_*` для вопросов о структуре: кто вызывает эту функцию, что затронет изменение здесь, как связаны эти две части, из чего состоит подсистема. Ответ приходит из графа одним вызовом, а не циклом поисков и чтения файлов.

![Развёрнутая карточка Graphify в воркспейсе Landing site: 2 987 символов в 487 файлах и 123 подсистемах; карта файлов проекта, раскрашенная по подсистемам, путь запроса подсвечен синим, кольца — там, где он начался; справа вопрос агента Lead «how does the blog feed build post links», пройдено 280 узлов, и найденные файлы с file:line; внизу лента с этим вопросом и более ранним запросом соседей blogHref](https://neurosquad.ai/blog/harness-switch-and-graphify/graphify-ru.webp)

*Выясняя, где используется blogHref, агент спросил граф, как лента блога строит ссылки на посты. Щелчок по этому запросу в ленте проигрывает его заново: стартовые узлы расходятся кругами, затем поиск распространяется шаг за шагом.*

Главное в карточке — на её работу можно смотреть. Она рисует граф — размер файла зависит от того, сколько в нём всего, цвет — от подсистемы, — и на нём проигрывается каждый запрос агента: стартовые узлы расходятся кругами, поиск распространяется шаг за шагом, а результат остаётся подсвеченным, со ссылками `file:line`, которые открываются в редакторе. Лента хранит последние запросы; щёлкните по одному, чтобы повторить его.

graphify — программа на Python, поэтому карточка ставит его по запросу в папку приложения: свой Python, около 250 МБ, каждая загрузка сверяется с закреплённой контрольной суммой, каждый пакет — с хэшем. Ваш собственный Python не используется. При первом открытии карточка картирует весь проект, показывая прогресс и сколько осталось; дальше граф обновляется через несколько секунд после изменения файлов. В проект и в домашнюю папку ничего не пишется, языковая модель не участвует, API-ключи ему не передаются. Работает в локальных воркспейсах и в WSL; по SSH карточка честно говорит, что недоступна.

Агенты склонны возвращаться к grep, даже когда рядом есть инструмент получше, поэтому карточка им напоминает. Описания инструментов начинаются с того, когда их использовать вместо текстового поиска. В первом ходе со стрелкой агент получает короткую записку: граф есть, и вот на что он отвечает; позже — напоминание в одну строку, если запрос похож на вопрос о структуре. Claude Code ещё получает подсказку в одну строку, когда ищет grep-ом что-то похожее на имя функции или класса, — это констатация, а не запрет: поиск всё равно выполняется.

> **Graphify или Code Graph?** Два плагина-графа кода работают бок о бок. Graphify — это карта: вопросы обычными словами, подсистемы, радиус влияния изменения и всё это в картинке. Code Graph — точный инструмент: конкретные символы, глубокие цепочки вызовов, исходник функции без открытия файла и движок, который работает и на SSH-хостах. Проведите стрелки к обоим — описание каждого инструмента говорит, для чего он.

Чтобы встроить graphify в приложение, пришлось кое-что сделать на нашей стороне, не трогая его код. Его точка входа командной строки обновляет навыки ассистентов в домашней папке, поэтому карточка вызывает шаг сборки напрямую, а наши тесты проверяют, что домашняя папка остаётся нетронутой. Прогресс он печатает только раз в сто файлов, поэтому карточка сама считает обработанные файлы, чтобы показать настоящую полосу прогресса. А ещё он отказывается сохранять граф меньше предыдущего — это защита для его собственных многосессионных сборок, — и удалённые файлы так и оставались бы на карте, поэтому в процессе карточки эта проверка выключена.

## Изменения поменьше

- Шаблоны команды NeuroSquad помечены в маркетплейсе значком **«Официальный»**, а счётчики лайков и загрузок скрыты, пока они нулевые.
- Подсказка режима карточек на карточке теперь говорит, что происходит с этим CLI: его собственные шелл и веб отключаются со следующего запуска, а у Cursor CLI блокируются сразу.

## Ещё на сайте

- Новая страница [«Режим карточек»](https://neurosquad.ai/ru/canvas-mode/): интерактивная история в интерфейсе самого приложения — от включения режима до агента, который работает через карточки. На главной теперь есть короткий блок о режиме карточек со ссылкой на неё.
- Десять официальных шаблонов от команды NeuroSquad в [маркетплейсе шаблонов](https://neurosquad.ai/ru/templates/).
- [Страница плагина Graphify](https://neurosquad.ai/ru/plugins/graphify/) с интерактивным демо живого запроса на карте кода и сравнением с Code Graph.
- Для ИИ-ассистентов: сайт публикует файлы llms.txt и посты блога в Markdown, а каждая страница [документации](https://docs.neurosquad.ai/ru/help/ai-assistants) тоже доступна в виде Markdown.

В документации есть руководства по [Graphify](https://docs.neurosquad.ai/ru/plugins/graphify) и по [вставке шаблона](https://docs.neurosquad.ai/ru/canvas/tools). Полный список изменений — в [журнале изменений 0.1.253](https://neurosquad.ai/ru/changelog/#v0.1.253). NeuroSquad обновляется сам; новую установку начните со [страницы загрузки](https://neurosquad.ai/ru/download/).
