Работа с ИИ-агентами
Поручайте агентам программирования делегировать задачи и взаимодействовать между панелями Zshell, сохраняя внимание и контроль.
Автоматизация Zshell предназначена прежде всего для ИИ-агентов программирования. Она позволяет им безопасно работать с панелями Zshell и координировать других агентов; изучать ещё один командный язык не нужно.
Интеграция ИИ включена по умолчанию. Общайтесь с агентом как обычно. Он может создать фоновую панель, запустить исполнителя, выполнить команду, дождаться результата и сообщить ответ, не отнимая фокус у используемой вами панели.
Ожидание результатов команд
Для команд, которые завершаются, например тестов или сборки, агент может дождаться собственного кода выхода и времени выполнения команды, а затем прочитать сохранённый недавний вывод терминала. Если ожидание истекло, команда продолжает работать и ту же задачу можно ждать снова, без переключения фокуса. Нужна пустая строка приглашения в исходной локальной zsh, запущенной Zshell; вложенные оболочки, SSH и пользовательские программы запуска не поддерживаются. Недавний вывод ограничен и может содержать предыдущие команды или приглашения. Если нужен полный вывод, попросите агента сохранить его в файл.
Прямые вызовы exit, logout и exec отклоняются, поскольку завершают или заменяют исходную оболочку; запускайте их в дочернем процессе через /bin/sh -c.
Настройка
Проверьте Настройки → Автоматизация → ИИ. Функция включена по умолчанию; если вы её отключали, включите снова, затем создайте новый терминал или перезапустите уже работающего агента.
Zshell поддерживает Codex, Claude Code, Gemini CLI, Grok Build, OpenCode, Cursor Agent, Aider, Amp и Pi. Если существующая настройка агента конфликтует с этой функцией, Zshell оставляет её без изменений, возвращает переключатель в прежнее состояние и показывает ошибку в настройках.
Просите обычными словами
Скажите агенту, какой результат нужен. Например:
Запусти относящиеся к задаче тесты в фоновой панели и скажи, что не проходит.
Поручи эту ошибку другому агенту Codex, затем проверь его результат.
Спроси агента, работающего над API, готова ли схема, и передай ответ агенту, запускающему тесты.
Запусти рядом сервер разработки, дождись готовности и сообщи URL.
Проверь, завершил ли фоновый агент работу. Если он заблокирован, скажи, что ему нужно.
Агент обращается к интерфейсу автоматизации Zshell за вас. Вводить или запоминать команды автоматизации Zshell не требуется.
Координация агентов между панелями
Связанную работу можно распределить между несколькими панелями Zshell и попросить основного агента координировать её. Например, один агент работает над API, другой обновляет тесты. Координатор может запросить выводы конкретного исполнителя, отправить уточнение, передать полезный результат другому исполнителю и вернуть общий ответ вам. Исполнители могут использовать разные поддерживаемые инструменты программирования.
Так исчезает необходимость копировать сообщения вручную при параллельной работе. Каждый агент ведёт собственный разговор в своей панели, а координатор передаёт только нужный другому исполнителю вопрос, обновление или результат.
Отправка уточнения не означает завершения работы. Координатор всё равно ждёт исполнителя, читает результат и проверяет его. Сообщение другого агента никогда не считается вашим разрешением. Вопросы разрешений, учётных данных, доверия и разрушительных действий по-прежнему адресуются вам.
Продолжайте работать
Делегированные панели остаются в фоне, пока вы не попросите их показать. Когда нативная интеграция жизненного цикла провайдера сообщает состояние, Zshell отображает его на панели и вкладке агента:
| Состояние | Значение |
|---|---|
| Работает | Агент активно выполняет задачу. |
| Заблокирован | Нужен ваш ввод, разрешение или другое решение. |
| Готово | Работа завершена в фоне, и вы ещё не просматривали панель. |
Zshell отдаёт приоритет собственным событиям Codex, Claude Code, Pi, OpenCode и Grok, затем явным отчётам программ. Наведите указатель на значок состояния или откройте Agents, чтобы увидеть источник, причину ожидания, процент и подзадачи. Хуки Codex сначала нужно проверить и разрешить в /hooks; Zshell не обходит эту проверку.
Без собственного отчёта проверяется лишь ограниченный фрагмент нижней части текущего экрана распознанного агента. Вывод по экрану помечается, не сообщает о завершении, не отправляет уведомления и не удовлетворяет zshell +agent wait. Он не даёт разрешений. Проверьте панель и фактический результат.
Программы сообщают о прогрессе через zshell +agent report и удаляют свой отчёт через zshell +agent clear. Отчёт истекает через 120 секунд без обновления или после завершения процесса-владельца.
Когда интеграция сообщает о завершении или необходимости ввода, Zshell также может отправить уведомление. Cmd+Shift+A переводит к следующему агенту, сообщившему о необходимости вашего внимания.
Использование и лимиты аккаунта
В разделе Настройки → Автоматизация → Использование аккаунта показываются доступные лимиты Claude Code и Codex: использованный процент, время сброса, если оно сообщается, и время последнего обновления. Обновить использование загружает свежие доступные данные.
Для Codex нужен установленный CLI с выполненным входом, способный сообщать лимиты аккаунта. Использование Claude Code появляется после получения Zshell отчёта провайдера через строку состояния. Раздел отображается только при наличии данных; доступные интервалы зависят от провайдера и аккаунта. Это лимиты аккаунта, а не общее число токенов активного сеанса.
Обычный порядок работы
- Запустите привычного агента программирования в терминале Zshell.
- Попросите делегировать ограниченную задачу, выполнить что-либо в фоне или координировать другого агента.
- Продолжайте работать в текущей панели; делегированная работа остаётся видимой в структуре проекта.
- Ориентируйтесь на сообщённые провайдером метки Работает, Заблокирован и Готово, если они доступны. Если инструмент не сообщает жизненный цикл, откройте панель и прочитайте разговор или вывод терминала.
- Проверьте полученные файлы в панели Git, изучите сравнение и решите, что оставить.
Контроль остаётся у вас
- Автоматизация ограничена текущим проектом Zshell и не имеет доступа к панелям другого проекта или окна.
- Фоновая работа не забирает фокус без вашего явного запроса.
- Zshell не отвечает за вас на запросы разрешений, учётных данных, доверия и разрушительных действий. Агент, сообщивший о блокировке, возвращает решение вам.
- Сообщение о завершении — повод проверить результат, а не автоматическое одобрение изменений агента.
Если агент не использует Zshell
- Убедитесь, что Настройки → Автоматизация → ИИ включено.
- Создайте новый терминал Zshell, если текущий был открыт до включения функции.
- Перезапустите агента, который уже работал при включении.
- Проверьте, нет ли сообщения об ошибке настройки в окне настроек.
- Явно попросите использовать «фоновую панель Zshell» или «делегированного агента Zshell», если хотите применить этот процесс к задаче.
Возобновить исходный диалог
При включённом Возобновлять диалоги агентов панель с недоступным исходным PTY возвращается к своему сохранённому диалогу Claude Code, Codex, Pi или OpenCode. Панели в одном каталоге сохраняют отдельные диалоги.
Zshell устанавливает хуки SessionStart для Claude Code и Codex, расширение Pi и плагин TUI OpenCode в существующую конфигурацию. Другие хуки, плагины, настройки и комментарии JSONC сохраняются. По запросу провайдера включите хуки в подтверждении доверия Claude Code и одобрите новые хуки Codex в /hooks. Перезапустите агентов, запущенных до установки.
Возобновляются только проверенные корневые диалоги, о которых сообщают эти интеграции. Общие сеансы app-server Codex поддерживаются, когда проверенный ID диалога соответствует панели; неоднозначные соответствия не привязываются. О диалогах на удалённых хостах см. общие удалённые сеансы. OpenCode требует API плагинов TUI; старые версии, серверные сеансы без интерфейса и opencode attach не поддерживаются. Дочерний агент не заменяет диалог родительской панели. Pi требует сохранённый файл сеанса.
Без проверенной идентичности, исходного каталога или файла Pi открывается новая оболочка. Отсутствующая CLI также возвращает к оболочке. Zshell не повторяет произвольную команду запуска и не выбирает последний диалог. Ошибки провайдера, например удалённый диалог, показывает CLI.
Поиск и возобновление сохранённых диалогов
Откройте Агенты → История диалогов агентов, нажмите часы вверху боковой панели проектов. Ищите по всем проектам по названию, провайдеру, проекту, ID диалога, рабочему каталогу или каталогу конфигурации. Zshell сохраняет последние 200 проверенных локальных диалогов после закрытия агентов и панелей и перезапуска приложения. Недавние показывает 20 неархивированных совпадений; Все включает архив; Архив показывает только его.
Выберите Показать диалог для открытого или Продолжить диалог для сохранённого. Zshell использует открытую панель, повторно подключает живой PTY или возобновляет точный диалог провайдера с исходным каталогом и конфигурацией. Ручное возобновление требует интеграцию ИИ, но автоматическое восстановление может быть выключено. Отсутствующие каталоги и отсутствующие или не соответствующие диалогу файлы Pi вызывают ошибку до создания панели.
В архив скрывает запись из Недавних; Из архива возвращает её. Удалить… удаляет только запись Zshell и сохраняет файлы провайдера.
В панели Zshell команды zshell +agent history --all и zshell +agent resume --id HISTORY_UUID ограничены её проектом. В обычном внешнем терминале оставьте Zshell открытым, найдите UUID проекта и выберите его явно:
zshell +agent history projects
zshell +agent history --project PROJECT_UUID --all
zshell +agent resume --project PROJECT_UUID --id HISTORY_UUID --focusCLI возобновляет в фоне без --focus. Для проекта в нескольких окнах выберите --window WINDOW_UUID из history projects. При нескольких экземплярах приложения укажите --connection PATH с абсолютным путём приватного файла подключения из сообщения CLI. Эти параметры только для внешних терминалов; процессы панелей сохраняют исходный проект.
События проекта в реальном времени
Запустите zshell +events в терминале Zshell для получения будущих изменений своего проекта и окна в NDJSON без опроса. Параметры: --pane UUID, повторяемый --event NAME, --once и --timeout MS (0 — без ограничения).
Передаются создание и закрытие сессий и панелей, фокус, прогресс, запросы внимания и завершение агентов, завершение команд. stream.ready начинает с sequence 0; каждое подходящее событие увеличивает номер. Строка содержит version, event, stream_id, sequence, time в миллисекундах Unix, project_id и data. История не повторяется. Результаты задач читаются через +pane wait --task UUID.
Лимиты: 32 подписки, 256 кадров и 1 MiB на очередь, 64 KiB на кадр. Медленный читатель по возможности получает stream.lagged, затем соединение закрывается; невозможность записи 2 секунды также закрывает его. Отставание, неожиданный разрыв и ошибка последовательности дают ненулевой код. Подпишитесь заново и прочитайте текущее состояние. Закрытие терминала, смена токена или перенос в другой проект/окно завершает подписку. Внешнее управление и --project не поддерживаются; удаление переменных не расширяет права. Тайм-аут без совпадения с --once возвращает 124, обычный — 0.
zshell +events --event command.task.finished --once --timeout 30000pane.updated: data.from → data (tab_id, pane_id, terminal_id, content).