Sobre o projeto

Mac Developer Bridge é um servidor MCP (Model Context Protocol) de código aberto que conecta o ChatGPT a um ambiente de execução real do Mac. Ele expõe ferramentas locais determinísticas — comandos de shell, operações de sistema de arquivos, sessões PTY interativas, gerenciamento de trabalhos em segundo plano, leitura de threads Codex armazenadas e automação opcional do Chrome em segundo plano — sem adicionar um segundo loop de raciocínio. O ChatGPT continua sendo o agente; o Mac é o ambiente de execução. Principais recursos incluem: - Execução arbitrária de comandos de shell via /bin/zsh -lc sob o usuário macOS logado - Trabalhos em segundo plano destacados com logs persistentes de stdout/stderr, inspeção de status e terminação de grupo de processos - Leitura, escrita, anexação, listagem, stat, cópia, movimentação, chmod, symlink, mkdir e exclusão recursiva de arquivos sem restrições - Aplicação de diff unificado via git apply - Descoberta e leitura de threads Codex armazenadas sem retomar uma thread ou iniciar uma iteração do modelo Codex - Recuperação paginada de iterações Codex para históricos grandes demais para uma única resposta - Auditoria JSONL local - Conectividade privada somente de saída através do OpenAI Secure MCP Tunnel, ou um front-end loopback HTTP simples publicado via HTTPS pelo Cloudflare Tunnel - Persistência por usuário através de um LaunchAgent do macOS - Trava de desbloqueio com falha segura: bridge.mjs relê o arquivo de desbloqueio antes de cada chamada de ferramenta, portanto removê-lo recusa a próxima chamada e encerra - Kill switch local (scripts/disable.sh) que interrompe o front-end, a ponte, o host nativo opcional do Chrome em segundo plano, grupos de trabalhos shell_start destacados, sessões PTY interativas e servidores MCP filhos federados A integração opcional com o Chrome em segundo plano opera o mesmo perfil do Chrome conectado por meio de uma pequena extensão local, mantendo a automação em segundo plano sem roubar o foco. Ela gerencia um pool persistente de abas (padrão 8, máximo 32) com acesso baseado em concessão, recuperação de abas ociosas após 10 minutos e capacidade de autocorreção. O controle direto do Chrome via shell_exec é sempre recusado com CHROME_BACKGROUND_REQUIRED para impor estruturalmente o limite de não roubo de foco. O acesso relaxado é o padrão para trabalho normal HTTP/HTTPS; o modo Strict approvals adiciona concessões de URL por site com TTLs de 15 minutos. Sessões de terminal interativas usam um PTY real alocado por um helper Perl principal (lib/ptyhelper.pl), com ferramentas para iniciar, ler, escrever, redimensionar, sinalizar e fechar sessões. Um limite de linha de 1024 bytes em modo canônico é aplicado, e um buffer circular fixo retém a saída recente. O projeto também inclui recursos experimentais: uma ferramenta de início de conversa com o ChatGPT (chatgpt_conversation_start) que inicia ou continua uma conversa de consumidor do ChatGPT por meio da ação de runtime de primeira parte da página conectada, sem digitação na interface ou exportação de credenciais, e um adaptador separado /v1/responses para modelos OpenCodex explícitos (chatgpt-browser e chatgpt-sol) que reconstrói turnos sem estado a partir de instruções/entradas do Responses e apresenta ferramentas por meio de um protocolo fixo de decisão em JSON. Considerações de segurança: A ponte deliberadamente dá a um cliente MCP as permissões efetivas do usuário do macOS. Ela não é isolada em sandbox e não possui lista de permissões de comandos ou caminhos. Os usuários são orientados a ler o SECURITY.md antes de ativá-la. O modo Strict approvals está disponível para um controle mais rigoroso do fluxo de trabalho do navegador/aplicativo, e o app da barra de menus oferece uma alternância em tempo real. O projeto é distribuído sob a Licença MIT e é um projeto independente de código aberto, não um produto oficial da OpenAI ou da Cloudflare.