Pi Interactive Shell — плагин
Расширение Pi запускает vim, psql, ssh и другие интерактивные программы в окне, где вы следите и можете перехватить ввод.
- 608 ★ репозитория
- Последний коммит
Широкий доступ
Почему такой уровень
- Агент запускает произвольные интерактивные программы и вводит в них команды: SSH, оболочки баз данных, git `rebase`.
- Режимы `dispatch` и `monitor` выполняют процессы в фоне без вашего непосредственного наблюдения.
Установка
Ручная установка
pi install npm:pi-interactive-shellКоманда из README. Требуется Node.js.
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Агент запускает произвольные интерактивные программы и вводит в них команды: SSH, оболочки баз данных, git `rebase`.
- Режимы `dispatch` и `monitor` выполняют процессы в фоне без вашего непосредственного наблюдения.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Расширение добавляет Pi инструмент `interactive_shell`. Агент запускает в нем интерактивную программу, например редактор, REPL, оболочку базы данных, SSH или `docker logs -f`, а вы видите происходящее в наложенном окне терминала с полной эмуляцией PTY и можете в любой момент начать печатать сами. Пользователь не вызывает инструмент напрямую: он просит Pi выполнить задачу или использует команду `/spawn`. Есть четыре режима. В интерактивном агент получает `sessionId` и дальше шлет ввод и читает статус. В `hands-free` он опрашивает сессию и получает тихие обновления вывода. Режим `dispatch` нужен для делегирования: сессия стартует и сообщает о завершении новым ходом, пока агент занят другим. Режим `monitor` будит агента только при срабатывании заданного триггера: строка в потоке, разница опроса или изменение файла. Структурный `spawn` запускает Pi, Codex, Claude и Cursor с готовыми параметрами, в том числе в отдельном git `worktree`, а ключи в `spawn.commands` добавляют любого другого агента. В пакете лежит скилл `interactive-shell`, который объясняет агенту, когда выбрать какой режим. В режиме `dispatch` можно включить выбор выводимых фрагментов: из лога возвращаются только строки о падениях и итоги.
Для кого. Пользователям агента «Pi coding agent», у которых агент должен вести редакторы, REPL, SSH-сессии и долгие процессы под вашим наблюдением.
Подходит, если
- Агенту нужно править файл в `vim` или пройти интерактивный git `rebase`, и вы хотите видеть каждый ввод.
- Нужно держать открытым `psql` или SSH-сессию и отправлять в нее команды по ходу задачи.
- Сборка или `dev`-сервер идут долго, и агент должен реагировать на вывод по мере появления.
- Рефакторинг стоит передать другому агенту, например Codex, и получить сообщение по завершении.
- Тесты или логи надо наблюдать фоном и будить агента только по слову «blocked» или «ready».
Не подходит, если
- Агент работает не в Pi: расширение написано для «Pi coding agent».
- Достаточно одной неинтерактивной команды: обычный вызов оболочки проще.
- Нужно гарантированно остановить процесс: отмена `kill` снимает только локальное наблюдение, завершение подпроцесса не подтверждается.
Пример запроса к агенту
Открой `psql` к базе `mydb` в режиме `hands-free`, проверь число строк в таблице `orders` и оставь сессию для моего ввода.Ограничения
Нужен Node.js, PTY работает через готовые бинарники `zigpty`, сборка через node-gyp не требуется на поддерживаемых платформах.
Отмена через `kill` снимает локальное наблюдение, а выход подпроцесса автор не подтверждает.
Защита панели `dispatch` автоматически закрывает тихую сессию после 15 секунд на запуск и 8 секунд без вывода, поэтому долгие молчащие процессы стоит запускать в другом режиме.
Выбор фрагментов вывода опирается на внешний сервис, при выключенном выборе данные никуда не передаются.
Как отключить. Удалите пакет из Pi командой удаления расширений или уберите ссылку `skills/interactive-shell` из `~/.pi/agent/skills/`.
Частые вопросы
Как поставить Pi Interactive Shell?
Выполните `pi install npm:pi-interactive-shell`. Пакет приносит и скилл `interactive-shell`. При установке из локальной папки свяжите `skills/interactive-shell` с `~/.pi/agent/skills/` вручную.
Как перехватить управление у агента?
Начните печатать в оверлее, и управление перейдет к вам. В мониторируемой сессии `hands-free` или `dispatch` вернуть его агенту можно сочетанием Ctrl+G.
Чем отличаются режимы `dispatch` и `monitor`?
Dispatch сообщает о завершении сессии, `monitor` будит агента при срабатывании триггера: строка в потоке, разница опроса или изменение файла.
Какие агенты запускаются через `spawn`?
Pi, Codex, Claude и Cursor с готовыми параметрами. Любого другого добавляют ключом в `spawn.commands`, и он становится доступен как `spawn: { agent: "aider" }`.
Можно ли смотреть вывод длинных сессий после завершения?
Да. Для `headless`-сессий `dispatch` и `monitor` лог сохраняется на диск, а запрос по `sessionId` возвращает хвост вывода. Логи старше суток стираются при записи нового.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
ПлагиныПакет для агента Pi: поиск по коду, LSP, веб-поиск, управление окнами и подтверждения для опасных команд.
Расширение для агента Pi сворачивает вызовы инструментов в компактные строки и показывает правки файлов наглядными диффами
Больше тридцати отдельно ставящихся расширений для кодингового агента Pi: цели, режим плана, LSP, лимиты подписок
Личный набор Армина для Pi Coding Agent: 18 скиллов, расширения, команды и темы, часть скиллов переносится в другие агенты
pi-kanban запускает сессии агента pi в браузерном терминале и показывает рядом задачи в виде канбан-доски, субагентов и журнал.
Нативный интерфейс для агента pi на Rust и GPUI: сессии по проектам, дерево разговора, панель изменений и плагины.
Коротко о README
README объясняет мотивацию: интерактивные программы нужны агенту, а пользователь хочет наблюдать. Затем установка, таблица четырех режимов, примеры вызовов для каждого, структурный `spawn`, фоновая работа, выбор фрагментов вывода и шаблон ожидания терминального сообщения от внешней проверки.