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.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.