Как мы запускаем пять кодирующ... Заметка
DEV Community на русском

Как мы запускаем пять кодирующих агентов одновременно в одном окне

NestMux — это настольное приложение, которое позволяет пользователям запускать несколько интерфейсов командной строки (CLI) и терминалов искусственного интеллекта в сетке независимых панелей. Каждая панель работает как отдельная среда, изолированная собственным аккаунтом и рабочим каталогом Git. Основная функциональность основана на запуске оболочки через node-pty, перенаправлении домашнего каталога, установке текущего рабочего каталога и вводе команд пользователя.Ключевой особенностью является режим "трансляции", который одновременно отправляет ввод одного нажатия клавиши во все активные панели, обеспечивая единообразный запрос для нескольких агентов ИИ. Эта простая реализация избегает сложных протоколов, но означает, что все вводы, включая управляющие команды, транслируются без разбора. Атрибуция ресурсов для каждой панели является серьезной проблемой, поскольку агенты ИИ часто работают как дочерние или перепривязанные процессы, требуя эвристики на основе файловой системы для идентификации процессов, принадлежащих конкретному рабочему каталогу.Для проверки NestMux генерирует и анализирует различия Git для каждого рабочего каталога, с сознательным решением ограничить рендеринг для очень больших файлов, чтобы предотвратить проблемы с производительностью. Состояние приложения, включая конфигурацию и расположение панелей, атомарно сохраняется в session.json, обеспечивая восстановление после сбоев. Однако буфер прокрутки терминала и история сеансов не сохраняются при перезапусках; панели перезапускаются, а CLI перезапускаются.Этот выбор дизайна, хотя и упрощает интеграцию новых агентов, рассматривая их как непрозрачные процессы, приводит к существенному ограничению: отсутствию единого журнала или временной шкалы между панелями, что затрудняет отслеживание взаимодействий и изменений. Это отсутствие межпанельного понимания является компромиссом за отказ от анализа вывода отдельных агентов. NestMux является кроссплатформенным, локальным и в настоящее время бесплатным на этапе запуска.