Все записи
БлогВыпускРасширенияИнтеграции

Плагины, которые включаются стрелкой

Некоторые дополнения — не инструменты и не инструкции: они меняют то, что печатает шелл агента, или то, как он отвечает. В NeuroSquad 0.1.160 это плагины: провели стрелку — действуют со следующей команды, убрали — перестали.

7 мин чтенияЧто вошло в 0.1.160

До сих пор стрелка на холсте NeuroSquad могла дать агенту две вещи: MCP-сервер, то есть инструменты, и навык — инструкции, которые агент подгружает, когда задача подходит. Но некоторые полезные дополнения — ни то ни другое. Они не добавляют возможностей, а меняют то, как агент работает: сколько печатают его шелл-команды, прежде чем модель это прочтёт, или сколько слов он тратит на ответ.

В NeuroSquad 0.1.160 у них появилось своё место — плагины, третий каталог рядом с MCP-серверами и навыками. Плагин — это карточка. Стрелка от агента к ней включает его, снятая стрелка выключает, и ни то ни другое не требует перезапуска. Первые два плагина — RTK-AI Token Saver и Caveman.

Карточка Claude Code с именем Backend и стрелками к карточкам RTK-AI Token Saver и Caveman
Один агент, два плагина. Экономия на карточке RTK — от шести команд только для чтения, прогнанных через RTK в тестовом репозитории специально для скриншота; сам агент работает на примерном локальном сервере.

Как плагин действует на лету

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

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

Меню добавления карточки: сверху раздел «Навыки, MCP и плагины», среди агентов первым идёт «Новый агент…»
Меню добавления теперь начинается с навыков, MCP-серверов и плагинов, а «Новый агент…» стоит первым в списке агентов.
Каталог «Навыки, MCP и плагины» на вкладке «Плагины»: выбран RTK-AI Token Saver, под ним Caveman
«Плагин…» открывает каталог на новой вкладке «Плагины»: что делает плагин, с какими агентами работает, и кнопка «Добавить на канвас».

RTK-AI Token Saver

RTK — утилита командной строки с открытым кодом (Apache-2.0). Она запускает git, ls, grep, тест-раннеры и многие другие команды и печатает сжатую версию их вывода: сгруппированную, без повторов, только падения там, где важны именно они. Какие команды она умеет обрабатывать, RTK решает сам — своей командой rtk rewrite.

Когда от агента есть стрелка к карточке, его хук перед каждой шелл-командой спрашивает приложение, приложение спрашивает RTK — и git status выполняется как rtk git status. Затрагиваются только шелл-команды: собственные инструменты Claude Code для чтения файлов и поиска — не шелл, и их никто не трогает. Если RTK нет или он упал, выполняется исходная команда.

−92%
git status
−62%
ls -la
−32%
git log -n 20
−25%
шесть команд вместе

Это цифры одного тестового прогона, и от команды они сильно зависят: в том же прогоне git log -n 3 стал короче на 18%, а git log --stat и маленький grep не сэкономили ничего. Карточка не обещает никакой цифры — она показывает реальную экономию каждого подключённого агента, которую RTK записывает в отдельную базу для каждого агента.

Нашлось по дороге: никаких новых запросов разрешений

Первая версия переписывала всё, что могла. Проверка в обычном режиме Claude Code показала подвох: Claude сверяет свои правила разрешений и встроенное одобрение команд только для чтения с переписанной командой. git status выполнялся без вопросов, а rtk git status просил подтверждения. Экономия токенов, которая добавляет запросы, хуже, чем никакой.

Поэтому в обычном режиме переписывание идёт по таблице. Команда, которую уже покрывают ваши собственные разрешающие правила, переписывается и разрешается. Команда из намеренно короткого списка «только чтение» — одиночные git status, log, diff или show, список веток, ls, cat, head, tail, wc, grep, rg или find, все пути внутри проекта, никаких флагов, которые что-то пишут или запускают, — переписывается и разрешается, потому что Claude всё равно разрешил бы её сам. Команда, которая и так спросила бы, спрашивает — один раз, как раньше. Всё остальное не трогается. На одних и тех же семи командах тест дал два запроса без RTK и те же два с ним. В опасном режиме RTK переписывает всё, что умеет. Cursor CLI, OpenCode и Kilo Code получают RTK только в опасном режиме: их решения об одобрении зависят от правил, которых приложение не видит.

Caveman

caveman Джулиуса Бруссе — набор правил ответа под лицензией MIT: без любезностей, без оговорок, без пересказа только что сделанного — при этом код, команды, пути к файлам и сообщения об ошибках остаются дословными, а предупреждения о безопасности звучат полными предложениями. Плагин поставляет эти правила без изменений, на уровнях caveman Lite, Full и Ultra и в вариантах на классическом китайском.

Со стрелкой хук промпта добавляет правила к следующему ходу агента: полный текст — один раз за сессию, дальше на каждом ходе — однострочное напоминание самого caveman. Уберите стрелку — и агент получит одну заметку снова отвечать обычно. На лету это работает в Claude Code, Codex и Qwen Code.

Что он экономит — честно

Мы провели одну демонстрацию: Claude Code с Haiku 4.5, три похожих вопроса в одной сессии, стрелка проведена ко второму и снята к третьему. Ответы были 225 слов (1 506 символов) без стрелки, 159 слов (1 164 символа) со стрелкой и снова 254 слова (1 706 символов) после неё.

1 506 → 1 164
символов в ответе со стрелкой
413 → 408
оплачиваемых выходных токенов

А оплачиваемый вывод почти не сдвинулся: 413, 408 и 419 токенов. Провайдер считает размышления модели выходными токенами, а caveman размышления не сокращает. Автор caveman пишет о том же и перечисляет, где он проигрывает: правила — это лишний ввод на каждом вызове (по нашей оценке, около 1 440 токенов один раз и около 62 на ход), и на коротких вопросах они могут стоить больше, чем экономят. Поэтому карточка Caveman не показывает никакой цифры экономии. Она показывает, что включено, для каких агентов и во что обходятся правила.

В репозитории caveman есть ещё локальный прокси, который сжимает то, что агент читает. Его мы не встраивали. Его движок распространяется с открытым исходным кодом, но под лицензией, которая не разрешает предлагать его внутри другого продукта, и он стоит в трафике к модели — значит, вход по подписке шёл бы через него, а NeuroSquad никогда не читает и не проксирует учётные данные CLI.

Свои серверы моделей

В «Настройки → Провайдеры» появился раздел Ваши провайдеры: LM Studio, Ollama, Unsloth Studio, llama.cpp, vLLM или любой удалённый сервер с API OpenAI или Anthropic. API выбирать не нужно. Проверить соединение читает список моделей и шлёт пустой запрос на эндпоинты chat, Responses и Messages, так что ничего не загружается; провайдер сохраняется только после успешной проверки.

Настройки, «Провайдеры»: раздел «Ваши провайдеры» с LM Studio на localhost:1234, API OpenAI и Anthropic, три модели
Сохранённый провайдер с API, которые нашла проверка. Сервер здесь — пример, который только отдаёт список моделей.

Каждому CLI провайдер предлагается, если на сервере есть нужный ему API: Claude Code нужен API Anthropic, Codex — OpenAI Responses, большинству остальных подходит любой — всего пятнадцать CLI. Cursor, Amp и Auggie не могут: их модели работают только на серверах их вендоров. Ключ, если сервер его просит, шифруется операционной системой и попадает к агенту только через переменные окружения. Одна находка из тестов: совсем без ключа Claude Code откатывается на ваш собственный вход в Anthropic и отправил бы этот токен локальному серверу. Поэтому приложение всегда передаёт вместо него заглушку.

Опасный режим без перезапуска

Раньше карточки Claude Code получали опасный режим флагом запуска, а этот флаг нельзя отменить посреди сессии. Теперь у каждой карточки Claude есть хук, который Claude вызывает, только когда собирается показать диалог разрешения. Пока опасный режим включён, приложение отвечает «разрешить»; пока выключен — диалог появляется как обычно. Переключение действует на ближайшее одобрение в обе стороны, в той же сессии. Проверено вживую: touch спросил разрешения, после включения выполнился без вопроса, после выключения снова спросил. Остальные CLI по-прежнему читают опасный режим при запуске; их карточки теперь предлагают Перезапустить — с сохранением разговора.

Скажите, чего не хватает

«Предложить идею» и «Сообщить о проблеме» в меню аккаунта открывают новые доски идей и проблем на app.neurosquad.ai, где версия приложения и ОС уже заполнены.

Страницы плагинов — RTK-AI Token Saver и Caveman; полный список изменений — в журнале изменений 0.1.160.