4 pontos por mssmss 3 시간 전 | Ainda não há comentários. | Compartilhar no WhatsApp

Olá. Criei e estou compartilhando um app de barra de menu para macOS que faz os agentes de IA continuarem rodando sem parar mesmo com o MacBook fechado (modo clamshell).

Recentemente saíram notícias sobre “desenvolvedores que se deslocam sem poder fechar o notebook por causa da febre da programação com IA” (o chamado meme de “andar com o notebook aberto”).
(https://www.donga.com/news/Economy/article/all/20260513/133913987/3)

Era exatamente o meu caso. Às vezes preciso deixar um agente trabalhando enquanto me afasto durante um deslocamento, mas quando eu fechava o MacBook ele entrava em repouso e o trabalho era interrompido.
No artigo também dizem algo como “não é só usar caffeinate?”,
mas, na prática, mesmo com caffeinate, se você fechar a tampa sem monitor externo ele acaba entrando em repouso no clamshell.
Também não dá para simplesmente manter tudo sempre ligado, porque isso só mostra se o processo está em execução; mesmo depois que o trabalho termina, a máquina continua acordada, gerando calor e drenando a bateria. Os apps existentes do tipo “café(?)” ou não conseguiam impedir isso, ou conseguiam mas ainda deixavam a desejar em alguns pontos.

Então resolvi fazer o meu próprio.

  • Não entra em repouso mesmo com a tampa fechada — um único toggle. Sem comandos de terminal, sem precisar autenticar de novo.
  • Prevenção de superaquecimento e descarga da bateria — monitora bateria e temperatura e, ao passar dos limites configurados, pausa o trabalho para evitar que o MacBook esquente demais ou descarregue dentro da mochila. Com a tampa fechada sem monitor externo, os critérios ficam mais rígidos; no modo Desktop, mais flexíveis — os limites mudam conforme o estado.
  • Detecta trabalho, não apenas processo — se o trabalho do agente já terminou mas o clamshell continua ativo, isso também significa desperdício de bateria e mais calor. Ele detecta se há trabalho de fato em andamento e, quando termina, muda automaticamente para o estado ocioso (Strict). Também existe o modo Lax, que mantém o sistema acordado enquanto o processo estiver vivo.
  • Reconhece 5 agentes por padrão — Claude Code · Codex · Cursor · opencode · Antigravity.
    Outros agentes também podem ser adicionados manualmente com um padrão glob ou um arquivo de declaração.
  • Reconhecimento de trabalho remoto — se houver conexão via SSH, compartilhamento de tela ou Tailscale, ele não entra em repouso para que o trabalho remoto não seja interrompido.
  • Segurança — a detecção lê apenas a hora de modificação dos arquivos de transcript. Não lê o conteúdo.

Além disso, há CLI, sessões nomeadas, notificações no Telegram (opcional) e uma proteção tripla para restaurar o sleep ao encerrar.

A stack técnica é Swift + AppKit sem dependências externas, e o controle de energia usa IOKit SPI
(IOPMSetSystemPowerSetting); para permissões, usa um helper com daemon via SMAppService.
É assinado com Developer ID. Exclusivo para Apple Silicon · macOS 13+ (Ventura).

Ainda está em fase de desenvolvimento, então há partes meio brutas.
É open source gratuito; se puderem testar e me enviar feedback, eu agradeceria muito 🙏
Se houver algum agente para o qual vocês gostariam de suporte, por favor me avisem.

Ainda não há comentários.

Ainda não há comentários.