# Агенты, CLI и статус

> Какие CLI агентов запускает nsq, откуда он точно знает, что агент работает, ждёт вас или закончил, и чего он никогда не трогает.

Source: https://docs.neurosquad.ai/ru/cli/agents

## Поддерживаемые CLI

| CLI | `nsq run …` | Откуда статус |
| --- | --- | --- |
| Claude Code | `claude` | хуки Claude Code, сверенные с транскриптом сессии |
| Codex CLI | `codex` | хуки Codex |
| OpenCode 1.x и 2.x | `opencode` | плагин OpenCode (версии nsq различает сам) |
| Любая команда | `-- <command…>` | её вывод (без хуков) |

Установите каждый CLI и войдите в него как обычно — nsq запускает копию из вашего `PATH` под вашим
же логином. Другие CLI добавим по запросу:
[попросите нужный](https://github.com/glmn-ai/neurosquad-cli/issues/new?template=harness_request.yml).

## Откуда nsq знает, чем занят агент

nsq не гадает по экрану. Каждый CLI сам сообщает о своём жизненном цикле через **хуки** (у OpenCode —
через плагин) — nsq на этом же компьютере (`127.0.0.1`, свой секрет у каждого агента):

- **working** (работает) — начался ход;
- **needs you** (ждёт вас) — CLI заблокирован на вас: запрос прав («Claude wants to run: npm
test»), вопрос, план на утверждение. Вы видите собственный текст CLI;
- **finished** (закончил) — ход завершён, ответ на экране;
- **idle** (простаивает) — снова на своём приглашении, ничего нового (вы закрыли вопрос, прервали
ход или он перезапустился).

Ваши клавиши тоже учитываются: ответ ждущему агенту в его терминале сразу переводит его в
«работает». Для Claude Code nsq ещё читает хвост транскрипта сессии — так ловятся прерывания,
ошибки API и промпты в очереди, о которых хуки молчат.

У обычной команды (`nsq run -- …`) хуков нет: вывод значит «работает», несколько секунд тишины —
«закончил», и «ждёт вас» она не показывает никогда.

## Ваши настройки никогда не переписываются

Всё, что нужно nsq, передаётся каждому агенту отдельно — флагами командной строки, переменными
окружения и файлами в `~/.neurosquad-cli/layers/`. Ваши `~/.claude`, `~/.codex` и `opencode.json`
остаются нетронутыми.

## Сессии и продолжение

Каждый агент сохраняет свою сессию CLI. `nsq restart`, `nsq start` и перезапуск самого демона
(`nsq down`, затем `nsq up`) продолжают сессию, а не начинают заново. Если у CLI этой сессии уже
нет, начинается новая.

## Прерывание

`i` в дашборде или `nsq interrupt <agent>` отправляет ту клавишу, которой этот CLI
действительно останавливает ход, — Escape для Claude Code и Codex, Escape дважды для OpenCode, — а
не Ctrl+C, от которого некоторые из них просто закрываются.

## Опасный режим

`--dangerous` (или `d` в дашборде, или `nsq set <agent> --dangerous on`) позволяет агенту
работать, не спрашивая разрешений. У Claude Code он переключается на лету; у остальных CLI действует
со следующего запуска, и nsq подскажет, когда нужен перезапуск.

> В опасном режиме агент может выполнить любую команду и изменить любой доступный ему файл.
> Включайте его в worktree или в папке, которую не жалко.
