nsq: NeuroSquad в терминале, с открытым кодом
Запускайте Claude Code, Codex, OpenCode или любую команду рядом в одной терминальной панели, закройте её — и получите сигнал с вопросом, когда агенту нужны вы. Бесплатно, MIT, без аккаунта.
Сегодня мы выпускаем nsq 0.1.0 — предварительную версию NeuroSquad для терминала. Она делает то, ради чего в первую очередь существует десктопное приложение, — запускает несколько ИИ-агентов для кода и показывает, кому из них нужны вы, — но без окна, холста и аккаунта. Код открыт под лицензией MIT, nsq работает на Windows, macOS и Linux и ставится из npm: npm i -g neurosquad, затем nsq.
npm i -g neurosquad # или попробовать: npx neurosquad
nsq run claude "fix the flaky checkout test" --worktree
nsq run codex --name reviewer
nsq run -- npm run dev # любая команда
nsq # панельЗачем версия для терминала
Многие, кто работает с агентами, живут в терминале: на Linux, на сервере по SSH, внутри dev-контейнера или просто потому, что так удобнее. Туда десктопное приложение за ними не пойдёт. А нужно им то же самое: видеть, какой агент работает, какой ждёт вас и о чём спрашивает, а какой уже закончил, — там, где они и так находятся.
Поэтому nsq сознательно маленький. Это не холст в текстовом режиме, а та часть NeuroSquad, которая отвечает на вопрос «нужен ли я сейчас кому-то из агентов?», плюс несколько вещей, без которых неудобно держать много агентов сразу: демон, worktree, стоимость, уведомления.
Что он умеет
- Агентами владеет демон.
nsqзапускает его при необходимости. Закройте панель или всё окно терминала — агенты продолжат работать; снова откройтеnsq, и они там же, где вы их оставили. Послеnsq downили перезагрузкиnsq upвозвращает агентов, которые работали, и продолжает их сессии. - Панель живых терминалов. Слева воркспейсы и их агенты, справа агенты выбранного воркспейса сеткой живых терминалов. Enter разворачивает агента на весь экран, и все клавиши идут ему; Ctrl+] возвращает к сетке.
- Точный статус из хуков самих CLI. Работает, ждёт вас — с вопросом самого CLI («Would you like to run the following command?»), закончил — об этом сообщают хуки Claude Code, хуки Codex и плагин OpenCode, а не догадка по экрану. У Claude Code то, о чём хуки молчат (прерывание, ошибка API), уточняется по транскрипту сессии.
- Ответ без переключений.
y,aиnотвечают на запрос разрешения выбранного агента — да, всегда, нет — прямо из сетки;iпрерывает той клавишей, которую на самом деле понимает этот CLI;sотправляет промпт, аSставит его в очередь до конца текущего хода. - Уведомления и звук. Системное уведомление, когда агент ждёт вас или закончил, — одно на агента, снимается, когда он снова работает. Если системное уведомление показать нельзя, например по SSH, панель подаёт сигнал в своём терминале.
- Отдельный git worktree на агента. С
--worktreeагент получает свою копию репозитория на своей ветке, и два агента никогда не правят одни и те же файлы;nsq diffпоказывает, что он изменил. - Стоимость по агентам.
nsq costчитает логи самих CLI: токены — целыми числами, а у модели, для которой у нас нет цены, будет «нет цены», никогда не $0. - OpenRouter встроен.
nsq openrouter set-keyкладёт ключ в хранилище паролей ОС;--provider openrouter --model <id>запускает агента через него. Ключ попадает только в окружение этого агента, а запросы несут атрибуцию NeuroSquad в OpenRouter. - Локальная голосовая диктовка. Нажмите
v(или глобальную горячую клавишу) и говорите; распознавание идёт на вашем компьютере открытой моделью, которая скачивается один раз. Текст вставляется в поле ввода агента и никогда не отправляется сам — Enter нажимаете вы.
Полный статус есть у Claude Code, Codex и OpenCode (и 1.x, и 2.x); кроме того, агентом может быть любая команда: dev-сервер, наблюдатель за тестами, другой CLI. У обычной команды нет хуков, поэтому nsq показывает её работающей, пока она печатает, и закончившей, когда она затихает, — и никогда не утверждает, что такая команда ждёт вас.
Откуда он знает и чего никогда не трогает
Каждый агент получает свой слой флагов, переменных окружения и файлов в папке nsq. Ваши ~/.claude, ~/.codex и opencode.json не изменяются никогда. Хуки шлют события на loopback-адрес с токеном на агента, а факты проходят через тот же автомат состояний, что и в десктопном приложении: хук — это факт, ваше нажатие в ждущем агенте учитывается сразу, а тишина — только запасной вариант.
Этот автомат не новый. Вместе с настройкой хуков, чтением транскрипта Claude Code и разбором расхода он теперь живёт в @neurosquad/core — открытом пакете, на котором построен nsq. Десктопное приложение NeuroSquad использует то же ядро: модули, которые у них совпадали, теперь — одна копия кода, опубликованная под MIT. Когда мы исправляем то, как CLI сообщает свой статус, исправление получают оба.
Панель, которая сама рисует клетки
Каждая плитка — настоящий эмулятор терминала, который кормит демон, а панель перерисовывает только изменившиеся клетки — не чаще примерно 30 раз в секунду и только когда что-то изменилось. Декоративная анимация — спиннер работы, пульс «ждёт вас» — замирает, пока агент открыт на весь экран и когда терминал теряет фокус, а NSQ_NO_ANIMATION=1 выключает её совсем. Где терминал умеет показывать картинки (kitty, iTerm2, sixel), на плитках — логотипы CLI; в остальных — маленькие значки из символов.
Телефон — экспериментально
nsq phone on --lan позволяет телефону в той же сети видеть агентов, читать их экраны, отправить промпт, ответить на запрос разрешения и прервать агента. nsq phone pair выводит ссылку и QR-код; в ссылке — токен сопряжения, так что обращайтесь с ней как с паролем, а nsq phone rotate отключает все телефоны. Сопряжённый телефон не может запускать агентов, менять настройки или набирать произвольные клавиши. Доступ с телефона вместе с его мобильной страницей по умолчанию выключен и в этой предварительной версии помечен как экспериментальный.
nsq или десктопное приложение
Они решают одну и ту же первую задачу и используют одно ядро, так что выбирайте по тому, где вы работаете. nsq — для терминала, Linux, серверов и SSH-сессий: бесплатный, с открытым кодом, без аккаунта и без телеметрии. Десктопное приложение для Windows и macOS — это вся мастерская: агенты карточками на холсте, гораздо больше CLI-агентов, агенты, которые общаются друг с другом по стрелкам, плагин-карточки, шаблоны и записи. Ничего из этого списка в nsq нет и не планируется — nsq остаётся маленьким.
Что значит «preview»
- Это версия 0.1.0: команды, флаги и файл настроек ещё могут измениться до 1.0.
- Нужен Node.js 22.13 или новее. Нативные части (терминал, хранилище паролей, диктовка) ставятся готовыми бинарниками — это проверяется в CI из упакованного npm-пакета на Windows, macOS и Linux; голосовой диктовки нет на Windows arm64.
- Полный статус сейчас есть у трёх CLI. Остальные — по запросу: в репозитории есть форма, чтобы попросить свой.
- Телеметрии нет, аккаунт не нужен.
nsq loginсуществует для необязательного аккаунта NeuroSquad, и ничто в nsq его не требует.
Открытый код
Код лежит на GitHub — glmn-ai/neurosquad-cli, под лицензией MIT: сам CLI, общее ядро и пакеты вокруг него (плитки терминалов, уведомления, диктовка, API для телефона). Мы рады баг-репортам, запросам на новые CLI и пулл-реквестам — как мы работаем, описано в руководстве для контрибьюторов. Всё об установке и использовании nsq — на его странице.

