Об этом проекте
Mac Developer Bridge — это MCP-сервер (Model Context Protocol) с открытым исходным кодом, который подключает ChatGPT к реальной среде выполнения Mac. Он предоставляет детерминированные локальные инструменты: команды оболочки, операции с файловой системой, интерактивные PTY-сессии, управление фоновыми задачами, чтение сохранённых потоков Codex и, опционально, фоновую автоматизацию Chrome — без добавления второго цикла рассуждений. ChatGPT остаётся агентом; Mac — средой выполнения.
Основные возможности включают:
- Выполнение произвольных команд оболочки через /bin/zsh -lc от имени вошедшего пользователя macOS
- Отдельные фоновые задачи с постоянными журналами stdout/stderr, проверкой статуса и завершением групп процессов
- Неограниченные операции с файлами: чтение, запись, добавление, список, stat, копирование, перемещение, chmod, симлинки, mkdir и рекурсивное удаление
- Применение unified-diff через git apply
- Обнаружение и чтение сохранённых потоков Codex без возобновления потока или запуска хода модели Codex
- Пагинированное получение ходов Codex для историй, слишком больших для одного ответа
- Локальное аудирование в JSONL
- Только исходящее приватное соединение через OpenAI Secure MCP Tunnel или front-end на простом HTTP loopback, публикуемый по HTTPS через Cloudflare Tunnel
- Постоянство на пользователя через macOS LaunchAgent
- Fail-closed замок: bridge.mjs повторно читает файл разблокировки перед каждым вызовом инструмента, так что его удаление отказывает в следующем вызове и завершает работу
- Локальный аварийный выключатель (scripts/disable.sh), останавливающий front-end, bridge, опциональный native-host для фонового Chrome, отдельные группы задач shell_start, интерактивные PTY-сессии и дочерние MCP-серверы
Опциональная интеграция фонового Chrome работает с тем же вошедшим профилем Chrome через небольшое локальное расширение, держа автоматизацию в фоне без перехвата фокуса. Она управляет постоянным пулом вкладок (по умолчанию 8, максимум 32) с доступом на основе аренды, возвратом простаивающих вкладок через 10 минут и самовосстановлением ёмкости. Прямое управление Chrome через shell_exec всегда отклоняется с CHROME_BACKGROUND_REQUIRED, чтобы структурно enforce границу без перехвата фокуса. Расслабленный доступ — по умолчанию для обычной HTTP/HTTPS-работы; режим строгого одобрения добавляет разрешения по URL с TTL 15 минут.
Интерактивные терминальные сессии используют настоящий PTY, выделяемый вспомогательным Perl-скриптом (lib/ptyhelper.pl), с инструментами для запуска, чтения, записи, изменения размера, подачи сигналов и закрытия сессий. Применяется лимит строки в 1024 байта в каноническом режиме, а фиксированный кольцевой буфер сохраняет недавний вывод.
Проект также включает экспериментальные функции: инструмент для запуска разговора в ChatGPT (chatgpt_conversation_start), который начинает или продолжает потребительский разговор ChatGPT через first-party runtime действие на вошедшей странице без UI-ввода или экспорта учётных данных, и отдельный адаптер /v1/responses для явных моделей OpenCodex (chatgpt-browser и chatgpt-sol), пересобирающий бесстатусные ходы из Responses instructions/input и представляющий инструменты через фиксированный JSON-протокол решений.
Вопросы безопасности: мост намеренно даёт MCP-клиенту эффективные права пользователя macOS. Он не песочница и не имеет списка разрешённых команд или путей. Пользователям рекомендуется прочитать SECURITY.md перед включением. Режим строгого одобрения доступен для более жёсткого контроля браузерных/прикладных рабочих процессов, а приложение в меню-баре предоставляет живой переключатель.
Проект выпущен под лицензией MIT и является независимым проектом с открытым кодом, не официальным продуктом OpenAI или Cloudflare.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.