NPCterm: Полный эмулятор терминала PTY для ИИ-агентов через MCP

NPCterm — это безголовый, работающий в памяти полный эмулятор PTY-терминала для AI-агентов, доступный через MCP (Model Context Protocol). Он предоставляет AI-агентам полный доступ к терминалу, а не только к bash, позволяя им запускать оболочки, выполнять произвольные команды, читать вывод на экране, отправлять нажатия клавиш и взаимодействовать с TUI-приложениями.
Ключевые особенности
- Полная эмуляция терминала ANSI/VT100 с созданием PTY через portable-pty
- 15 инструментов MCP для полного управления терминалом через JSON-RPC stdio
- Обнаружение состояния процессов — определяет, когда команда выполняется, простаивает, ожидает ввода или завершена
- Система событий — кольцевой буфер событий терминала (CommandFinished, WaitingForInput, Bell и др.)
- Удобный для AI координатный оверлей для точной навигации по экрану
- Поддержка мыши, выделения и прокрутки для взаимодействия с TUI-приложениями
- Несколько параллельных терминалов с короткими 2-символьными идентификаторами
Пример потока MCP
В источнике приведён конкретный пример использования NPCterm для открытия и закрытия Vim:
// 1. Создать терминал
// -> terminal_create {}
// <- {"id": "a0", "cols": 80, "rows": 24}
// 2. Открыть vim
// -> terminal_send_keys {"id": "a0", "input": [{"text": "vim"}, {"key": "Enter"}]}
// <- {"success": true}
// 3. Прочитать экран, чтобы подтвердить, что vim открыт
// -> terminal_show_screen {"id": "a0"}
// <- ~ VIM - Vi IMproved
// <- ~ version 9.2.250
// <- ~ by Bram Moolenaar et al.
// <- ~ type :q<Enter> to exit
// <- ...
// 4. Закрыть vim
// -> terminal_send_keys {"id": "a0", "input": [{"text": ":q"}, {"key": "Enter"}]}
// <- {"success": true}
В источнике есть предупреждение: "Используйте с осторожностью. Терминал — это неограниченная среда выполнения." Этот инструмент фактически эквивалентен предоставлению AI-агенту доступа к компьютеру.
Проект доступен на GitHub по адресу github.com/alejandroqh/npcterm.
📖 Read the full source: r/ClaudeAI
👀 Смотрите также

Слепое пятно MCP: Внешний мозг для AI-агентов в программировании
Blindspot MCP — это инструмент, который индексирует полные кодовые базы с использованием tree-sitter и SQLite, чтобы помочь AI-агентам для программирования понимать символы, зависимости и связи между файлами, предотвращая изменения, которые могут нарушить код за пределами их непосредственного контекста.

Тихие сбои инструментов в кодирующих агентах: скрытый фактор потери эффективности
Кодинг-агенты часто сталкиваются с незамеченными ошибками инструментов, так как они переключаются на альтернативные стратегии, тратя токены и снижая качество. Открытый инструмент Vibeyard обнаруживает эти сбои и предлагает исправления.

Stackdome: открытая альтернатива Railway с самостоятельным размещением на Kubernetes
Stackdome — это открытая платформа с самостоятельным хостингом, которая объединяет инструменты CNCF в целостный интерфейс в стиле Railway на Kubernetes. Она предлагает визуальный интерфейс, поддержку нескольких кластеров, управляемый Postgres и сборку из исходного кода.

Спецификация-ориентированный рабочий процесс для Claude Code: декомпозиция, очистка контекста и контроль затрат
Подход к разработке на основе спецификаций для Claude Code, использующий двумерную декомпозицию, очистку контекста между шагами и запись спецификаций на диск для повышения производительности агента и снижения затрат.