NeuroSquad на Mac, «Сетка» рядом с холстом и агенты в WSL и по SSH
Самый большой выпуск: родное приложение для macOS, режим «Сетка» для команды, которая просто работает, воркспейсы в WSL и на удалённой машине и сигнал «нужно внимание», который гаснет в ту секунду, когда вы ответили.
До сих пор NeuroSquad был приложением для Windows. Чаще всего нас спрашивали об одном: когда будет версия для Mac? Она вышла. А ещё этот выпуск меняет то, как вы смотрите на работающую команду, где могут работать её агенты и насколько можно верить оранжевому значку «нужно внимание». Рассказываем, что изменилось и что мы нашли по дороге.
NeuroSquad для macOS
NeuroSquad работает на macOS 12 Monterey и новее, с отдельными сборками для Apple silicon и Intel. Это не окно из Windows, перенесённое на Mac. У окна родные кнопки-«светофор» в верхней строке боковой панели, у приложения — настоящее меню macOS («Настройки…» по Cmd+запятая, «Проверить обновления…», полный экран), сочетания клавиш — с Cmd, а на клавиатуре Mac выделенные карточки удаляет Backspace. Закрытое окно прячется, щелчок по значку в Dock возвращает его, Cmd+Q — выход.
Голосовой диктовке на Mac нужны два разрешения: Микрофон — чтобы записывать, и Универсальный доступ — для глобальной горячей клавиши. «Настройки → Диктовка» показывают, что macOS ещё не разрешила, и дают кнопку, которая запрашивает доступ или открывает нужную страницу Системных настроек.
Обновления, которые не сбрасывают разрешения
На macOS приложение тоже обновляется само: новая версия скачивается в фоне, сверяется с контрольной суммой SHA-256 и заменяет приложение при следующем запуске. Этот механизм обновления мы написали сами, а не взяли привычный фреймворк, который принимает только приложения, подписанные сертификатом разработчика Apple.
Вторая половина этой задачи — подпись. macOS запоминает разрешения вроде Микрофона и Универсального доступа за конкретной подписью приложения. Сборка, каждый раз подписанная по-новому, для macOS — новое приложение, и после каждого обновления оно спрашивало бы всё заново. Поэтому каждая сборка NeuroSquad подписывается одним и тем же сертификатом, и выданные разрешения остаются в силе.
Три способа установки
Одна строка выбирает сборку под ваш Mac, сверяет её контрольную сумму SHA-256, кладёт NeuroSquad в «Программы» и открывает:
curl -fsSL https://neurosquad.ai/install.sh | bashЧерез Homebrew, из нашего собственного tap:
brew install --cask glmn-ai/neurosquad/neurosquadИли скачайте .dmg для Apple silicon или Intel на странице загрузки. Не знаете, какой у вас Mac? Меню Apple → «Об этом Mac»: «Чип: Apple M…» — это Apple silicon, «Процессор: Intel» — Intel.
Проверяем на настоящих Mac перед каждым выпуском
Перед каждым выпуском сквозной тест проводит приложение на настоящих компьютерах с macOS так, как это сделал бы человек: установка скриптом, вход, запуск агентов, промпты, стрелки к MCP-серверам, навыкам и плагинам, диктовка. Он поймал две вещи, которые не поймал бы ни один модульный тест.
Первая: открывая новую папку, Claude Code спрашивает, доверяете ли вы файлам в ней, и NeuroSquad отвечает за вас — ведь вы уже выбрали эту папку как воркспейс. На macOS этот вопрос рисуется другими перемещениями курсора, чем на Windows, и распознающий его разбор его пропускал. Теперь любое перемещение курсора считается промежутком, и вопрос отвечается на обеих системах.
Вторая — падение при выходе. За каждым терминалом следит нативный поток, который сообщает, когда процесс завершился. Если CLI умирал не сразу — Claude Code нужно около двух секунд после сигнала отключения, — это сообщение могло прийти, когда приложение уже закрывалось, и процесс аварийно завершался: «Программа NeuroSquad неожиданно завершила работу». Теперь выход ждёт, пока каждый процесс терминала сообщит о завершении, а тех, кто игнорирует сигнал, останавливает принудительно. Отдельный тест раз за разом запускает и закрывает приложение с живыми терминалами и после каждого этапа проверяет, не появился ли отчёт о сбое.
Режим «Сетка»: команда за работой
Холст — место, где собирают команду: карточки где угодно, стрелки между ними, группы. Когда команда просто работает, обычно хочется обратного — терминалы всех агентов на экране сразу и ровными рядами. Это режим «Сетка»: один переключатель в заголовке окна или Ctrl+Shift+G (на Mac — Cmd+Shift+G).
- Раскладки: все плитки, одна, две рядом, 2 × 2, 3 × 2 или один крупный агент и до трёх в стопке рядом. Агенты, которым не хватило места, ждут в полосе под сеткой; щелчок возвращает агента в сетку.
- Расстановка: перетащите линию между плитками, чтобы изменить размер; перетащите плитку за шапку на другую, чтобы поменять их местами; разверните одну плитку; переходите между плитками с клавиатуры. У сетки своя отмена.
- Что с чем связано: чипы под плиткой показывают её стрелки — агентов, которыми она руководит или которым отчитывается, заметку, браузер, MCP-сервер, навык или плагин. Наведите курсор на плитку — подсветятся связанные с ней.
- Фильтры: «Только агенты» оставляет одних ИИ-агентов; полоса карточек держит заметки, задачи и остальное в одном взгляде; панель «Команда» открывается одним щелчком.
Переключение ничего не перезапускает. Одни и те же терминалы переходят между холстом и сеткой, и каждый воркспейс помнит свой режим.
Воркспейсы в WSL и по SSH
Раньше воркспейс был папкой на этом компьютере. Теперь окно воркспейса спрашивает, где он находится: на этом компьютере, в дистрибутиве WSL на Windows или на удалённом хосте по SSH. Карточки запускают CLI, установленные там, а всё на стороне приложения продолжает работать: статусы и уведомления, MCP-инструменты по стрелкам, очередь промптов, транскрипты для журнала и передачи работы.
Для WSL выберите дистрибутив и папку Linux, а «Проверить» запустит дистрибутив, убедится, что папка есть, и перечислит найденные там CLI агентов. Для SSH добавьте хост в «Настройки → SSH-хосты» — вручную или из вашего ~/.ssh/config — и выберите папку проекта на нём.
SSH встроен в приложение, а не вызывается системным ssh для каждой карточки. Так получается одно соединение на хост на все его карточки вместо нового входа на каждую карточку и каждое чтение транскрипта. Ключи хоста сверяются с вашим known_hosts; для неизвестного ключа приложение показывает отпечаток и подключается только после вашего подтверждения, а сменившийся ключ отвергается. Используются ваши ключи и ваш SSH-агент, пароли спрашиваются в приложении и сохраняются, только если вы отметите «Запомнить». Если сеть пропала, соединение восстановится само; карточки перезапустятся, а Claude Code продолжит свою сессию.
Агенту на удалённом хосте всё равно нужно достучаться до приложения — так работают его статус и MCP-инструменты. Он это делает через то же SSH-соединение, через локальный порт (127.0.0.1) удалённого хоста, и каждый запрос несёт собственный токен агента — как и на этом компьютере.
«Нужно внимание», которому можно верить
Карточка, которая говорит, что агенту нужны вы, полезна, только если она права. Слишком часто это было не так: вы ответили на вопрос в терминале, а значок остался; нажали Escape — и услышали сигнал «закончил» за ход, который не закончился.
Мы измерили, что на самом деле сообщают CLI. Claude Code, например, не присылает вообще никакого события, когда вы жмёте Escape или отвечаете «Нет» на запрос разрешения, — ход просто останавливается. Поэтому приложение больше не ждёт, пока CLI ему скажет. Считаются ваши собственные нажатия на ждущей карточке: Enter, номер пункта или y/n сразу возвращают её в работу; Escape или Ctrl+C — в ожидание. Вставленный текст не считается, как и всё, что печатает само приложение. Если после этого терминал молчит, агент вернулся к своему приглашению.
Каждый сигнал каждого CLI теперь проходит через один конечный автомат, прежде чем попасть на карточку, телефон, в Telegram или на панель «Команда». Повторы отбрасываются, запоздалое «закончил» сразу после того, как вы что-то отклонили, — тоже, а перезапущенный агент начинает с чистого листа, без старого сигнала.
Мелочи и аудит
- Индикатор контекста показывает окно, с которым CLI работает на самом деле, — 1M на втором аккаунте Claude, где раньше было 200K.
- Перемещение и изменение размера карточек на холсте можно отменить и повторить.
- Воркспейсы, карточки и настройки сохраняются атомарно: сбой посреди записи не оставит недописанный файл.
- Расходы меньше миллионной доли доллара больше не показываются как $0, а OpenCode со своим провайдером показывает «без цены» вместо $0.
- На Windows значок в трее исчезает в момент выхода, а сторож следит, чтобы не оставался процесс без окна.
Ещё мы прошли весь код в ревью безопасности и стабильности и исправили найденное — находку за находкой. Самое важное: «Открыть в редакторе» можно было заставить выполнить команды через специально составленный путь в выводе терминала — больше нельзя; закрыта проверка пути, которую можно было обойти; релей OpenRouter общается только со своим хостом; а каналы к секретам, доступные с подключённого телефона, убраны.
Что дальше
Больше CLI агентов в WSL и по SSH и версия приложения для Linux. Если вы на Mac, нам особенно интересно, как он у вас работает, — «Сообщить о проблеме» в меню аккаунта или наш Discord.
Скачать можно на странице загрузки; установка на Mac шаг за шагом описана в документации, а все изменения — в списке изменений.