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
👀 Смотрите также

Claude Hindsight: Инструмент наблюдаемости для сессий кодирования в Claude
Claude Hindsight — это открытый уровень наблюдаемости для Claude Code, который фиксирует вызовы инструментов, токены и ошибки в доступную для изучения панель управления. Создатель использовал его для рефакторинга открытого проекта за одну 11-часовую сессию с 733 вызовами инструментов и 692,8 млн токенов кэша.

Соло-разработчик создал кроссплатформенного десктопного AI-агента с мобильным удаленным управлением за 3 недели и выпустил в 40+ стран
Один разработчик в одиночку создал Skales — нативного десктопного AI-агента с 139+ инструментами и мобильным приложением-компаньоном для удаленного управления — всего за 3 недели, используя Claude. Приложение работает на macOS, Windows и Linux, является локально-ориентированным и бесплатным, и уже имеет активных пользователей в 40+ странах.

Реальная стоимость инструментов ИИ для кодирования: 42 часа накладных расходов за 60 дней — подробный разбор соло-разработчика
Один фрилансер-одиночка отслеживал каждый доллар и каждую минуту, потраченные на AI-инструменты для кодинга, в течение 60 дней. Подписки ($200 в месяц) оказались наименьшей статьей расходов; 42 часа накладных расходов из-за плохих результатов и переключения между инструментами стали настоящим налогом. Чистый прирост производительности составил 1.7–2x, а не 10x. Сюрприз: CodeRabbit, инструмент ревью за $15 в месяц, принес самую высокую окупаемость.

Обсуждение на Reddit: Файлы Identity.md недостаточны для стабильности личности ИИ-сотрудника без надлежащей архитектуры модели.
В обсуждении на Reddit утверждается, что корректировка файлов identity.md для предотвращения смешения личностей в командах ИИ-сотрудников неэффективна, если базовая архитектура модели лишь имитирует разделение ролей. В посте рекомендуется использовать бэкенд Minimax M2.7, в который осознание границ было заложено в базовое обучение через более 100 циклов самоэволюции.