munder-difflin multi-agent harness — это локальный настольный проект, который объединяет CLI-инструменты для программирования в терминале и координирует их через общее офисное рабочее пространство. В этом руководстве используются README и проектные документы репозитория, полученные из 2026-08-19. Оно охватывает архитектуру, установку из исходников, путь оркестрации и ограничения, указанные в документах. Munder Difflin обозначен как рабочий прототип. OdiRouter публикует это независимое руководство на https://odirouter.ai; эта ссылка не подразумевает интеграции, партнерства, отношений с поставщиком или одобрения.
Что представляет собой проект
Munder Difflin — это настольное приложение Electron для запуска нескольких процессов агентов на одном компьютере. В README перечислены Claude Code, Antigravity, OpenAI Codex, xAI Grok, Kimi Code, Qwen, OpenCode, Crush, pi.dev, GitHub Copilot CLI и пользовательские команды. Каждый сеанс запускается как реальный процесс в псевдотерминале node-pty. xterm.js отображает поток терминала, а Pixi.js рисует аватары агентов на общем этаже.
Описание проекта на GitHub: «локальная среда управления несколькими агентами». README также описывает использование собственных ключей и локальных конечных точек LLM через Ollama, LM Studio и vLLM. Это документированные пути настройки, а не обещание, что каждый провайдер или модель будет работать на каждом компьютере.
Архитектура: две плоскости и локальный улей
Текущий README разделяет приложение на рендерер и две плоскости данных. Electron renderer использует React и TypeScript. Типизированный contextBridge соединяет его с основным процессом.
Плоскость терминала принадлежит
PtyManager. Она запускает агентов черезnode-pty, передает байты в xterm.js и обрабатывает ввод, изменение размера и завершение.Плоскость событий пересылает события lifecycle hook events и события улья через основной процесс. Она обновляет состояние аватара и управляет маршрутизацией, планированием и телеметрией.
Pixi.js визуализирует активность агентов и состояние приложений в офисе. Анимация не выполняет работу.
В файле HIVE.md состояние совместной координации описывается как локальный репозиторий Git, содержащий обычные файлы. Каждый агент хранит файл памяти с именем memory.md, а также входящие и исходящие сообщения. Маршрутизатор перемещает сообщения из одного исходящего ящика во входящий ящик другого. Единый коммиттер главного процесса исключает одновременную запись в индекс Git. Улей также ведет общую доску, реестр задач и журнал событий с добавлением записей только в конец.
Агент GOD, названный в README Майклом, является супервизором. Он читает запросы, распределяет работу, маршрутизирует сообщения и передает человеку решения, требующие его участия. Цикл Stop-hook активирует агента, когда у него есть непрочитанные сообщения. Необязательная интеграция MemPalace добавляет семантическое извлечение из памяти, а память в Markdown продолжает работать, когда этот CLI отсутствует. В HIVE.md рефлексия памяти и суммаризация по-прежнему указаны как незавершенная работа, поэтому память может расти во время длительных запусков.
Настройка из репозитория
README указывает macOS, Windows и Linux в качестве поддерживаемых платформ. Требуются Node.js 18+, npm и набор инструментов C/C++ для нативного аддона node-pty. В macOS документированная команда выглядит так:
xcode-select --installУстановите и запустите сборку для разработки следующим образом:
git clone https://github.com/chaitanyagiri/munder-difflin.git
cd munder-difflin
npm install
npm run devНа этапе postinstall выполняется пересборка node-pty для Electron. Если аддон перестает работать после обновления Electron, README рекомендует снова выполнить npm install. При первом запуске поток первоначальной настройки переводит на этаж; используйте Add agent, чтобы создать сеанс. В PATH должен быть доступен как минимум один поддерживаемый CLI, например claude, agy, codex, grok, kimi, qwen, opencode, crush, pi или copilot.
Для проверки сборки манифест пакета предоставляет npm run build, npm run preview и npm run typecheck. Эти команды проверяют состояние репозитория. Они не являются бенчмарком и не гарантируют доступность CLI провайдера.
Поток оркестрации
Пользователь запускает или добавляет терминального агента. Основной процесс регистрирует свой идентификатор и рабочий каталог.
Агент читает свою память и входящие сообщения, затем записывает запросы в исходящий ящик в виде обычных файлов.
Маршрутизатор доставляет каждое сообщение в почтовый ящик получателя. Сообщения, адресованные человеку, направляются супервизору.
Агент GOD распределяет рутинную работу и отправляет решения о расходах, деструктивные действия и изменения объема работ человеку для проверки.
Хук Stop активирует агента, когда в его входящем ящике есть непрочитанные сообщения. Затем агент может проверить и обработать эти сообщения без необходимости опроса пользователем каждого терминала.
Главный процесс коммитит изменения улья и генерирует события для этажа, телеметрии и реестра задач.
Это локальная оркестрация. SECURITY.md описывает локальный Unix-доменный сокет для хуков и указывает, что по замыслу приложение не открывает удаленный слушатель или поверхность для аутентификации. В репозитории не описана размещенная плоскость управления.
Ограничения, которые следует проверить перед использованием
Бейдж в README гласит «рабочий прототип», а политика безопасности называет проект ранним прототипом. Приведенные документы не содержат производственных SLA, независимых измерений производительности, полной матрицы совместимости, цен или хостинговой поддержки. Количество звезд, форков и задач GitHub — это счетчики репозитория, а не метрики трафика или надежности. В ходе этого исследования также не было обнаружено одобренного набора данных о трафике, ключевых словах, обратных ссылках, отзывах или авторитетности домена.
Проектные документы имеют версии и могут различаться. SPEC.md содержит более старое описание MVP, сосредоточенное на tmux и более узкой области Claude Code, тогда как текущий README описывает реализованное приложение node-pty с несколькими движками агентов. Когда документы расходятся, сначала сверяйтесь с текущим README и деревом исходного кода.
Источники и охват
Основные доказательства:
Исходный репозиторий является сторонним программным обеспечением. OdiRouter является лишь площадкой публикации этой независимой статьи.