Smart Rules: automação "se isto, então aquilo" para energia e resfriamento do Mac

Henry AGI
6 min de leituraJun 2026
Smart Rules: automação "se isto, então aquilo" para energia e resfriamento do Mac

Smart Rules é a camada "se isto, então aquilo" do LidRun para automação de energia no Mac: você define uma condição — um processo em execução, bateria abaixo de um percentual, o chassi permanecendo quente, uma janela de horário — e, quando ela se confirma, o LidRun mantém o Mac acordado, deixa ele dormir, troca o perfil de resfriamento ou envia um alerta, sem você precisar tocar em nenhum interruptor. É a mesma mudança de um termostato substituindo um interruptor de luz: você descreve o estado desejado uma vez, e o app fica checando por você, em vez de você ter que lembrar. A seguir, o que exatamente uma regra consegue observar, o que ela tem permissão para fazer, como as pessoas hoje resolvem isso na marra com caffeinate e pmset, e onde esse caminho DIY silenciosamente deixa um Mac acordado — ou dormindo — por mais tempo do que deveria.

Por que um único interruptor de keep-awake não é suficiente

Um interruptor manual tem exatamente dois estados, e um dia de trabalho tem mais de dois problemas para resolver. O mesmo Mac que precisa ficar bem acordado durante um build de 40 minutos deveria poder dormir em paz uma hora depois, quando nada estiver rodando e a bateria marcar 18%.

Deixe o keep-awake ligado para cobrir os momentos de pico e você também mantém o Mac acordado nos momentos ociosos — bateria desperdiçada e, numa mesa quente, um fan girando à toa. Desligue entre uma tarefa e outra e você volta a vigiar um interruptor, torcendo para pegar o instante exato em que uma tarefa longa começa. Uma regra é o meio-termo que faltava: você escreve a condição uma vez, o LidRun fica checando, e a ação só dispara quando a condição realmente se confirma.

O jeito nativo e gratuito de automatizar isso — e onde ele falha

A maioria das pessoas não parte direto para um app dedicado, e para uma tarefa pontual nem precisa. O macOS já vem com duas alavancas de verdade. caffeinate -i some-command impede o sleep por inatividade durante exatamente o tempo em que some-command roda, e depois sai de cena sozinho — é genuinamente a ferramenta certa para uma única tarefa em primeiro plano. caffeinate -s faz o mesmo, mas só enquanto o Mac está na tomada, o que combina com o que a maioria dos scripts de build realmente quer. Para a tampa especificamente, sudo pmset disablesleep 1 é o mesmo interruptor que o próprio modo Closed-Lid do LidRun aciona — ele diz ao macOS para ignorar completamente o gatilho de sleep por clamshell, e sudo pmset disablesleep 0 desfaz isso. O macOS também tem um caminho gratuito, sem Terminal, para "manter aberto com a tampa fechada": ligue na tomada, conecte um monitor externo, ligue um teclado ou mouse com ou sem fio, e o próprio modo clamshell da Apple roda o Mac com a tampa fechada em potência máxima, sem nenhum software de terceiros envolvido. Se você quer algo mais parecido com uma regra, o app Shortcuts consegue disparar uma ação "Run Shell Script" a partir de uma automação por nível de bateria ou horário, de forma que um evento de bateria abaixo de 20% dispare um script que chama caffeinate ou pmset por você.

Nada disso está errado, e para uma tarefa isolada é sinceramente suficiente. O problema aparece quando você empilha mais de uma condição, ou esquece de fechar o ciclo. Um caffeinate -i & deixado rodando num terminal em segundo plano não sabe que sua tarefa terminou — ele mantém o Mac acordado até você lembrar de matar o processo, ou até você fechar a tampa de um Mac que ainda está ligado a pleno vapor dentro de uma mochila. pmset disablesleep 1 é ainda pior de esquecer: não expira, não observa sua bateria e não sabe que o chassi está esquentando — fica desativado neste boot e no próximo, até que um 0 correspondente seja realmente executado. Nenhuma dessas ferramentas nativas lê a temperatura da CPU (o macOS não expõe isso a um script de shell sem um leitor de terceiros), então um script construído em cima delas não tem como recuar quando a máquina realmente esquenta, nem deixa registro do que disparou, ou quando.

Guia relacionadoO governador de segurança keep-awake do Mac: por que o LidRun deixa um Mac quente ou ocioso dormir

As condições às quais uma Smart Rule pode reagir

Uma regra começa com uma ou mais condições, e o LidRun exige que todas elas se confirmem ao mesmo tempo — não existe OR dentro de uma única regra; se você precisa de "ou isto, ou aquilo", monte duas regras com as mesmas ações. Uma condição pode comparar o nome de um processo ou app com um padrão (assim uma regra reage a Claude Code, Codex, Cursor, Ollama, Docker, um build do Xcode ou um script python — combinando o nome do processo ou app em execução de forma exata ou como prefixo, sem diferenciar maiúsculas de minúsculas), bateria abaixo ou acima de um percentual, temperatura permanecendo acima de um número de graus por uma duração, uso na bateria vs. na tomada, a tampa estar fechada, nenhuma carga de trabalho correspondente ter rodado por N segundos, ou uma janela de horário.

O motor reavalia a cada 5 segundos. Condições baseadas em duração — "temperatura acima de X por Y segundos", "sem carga de trabalho por N segundos" — só contam tempo enquanto todas as condições daquela regra estão se confirmando simultaneamente. Se qualquer uma delas cair, mesmo que brevemente (a tomada desconectada por um segundo, uma carga de trabalho piscando entre etapas), o cronômetro zera e a contagem recomeça do zero. Isso é proposital: uma regra deve reagir a um estado sustentado, não a uma oscilação passageira.

"Nenhuma carga de trabalho correspondente por N segundos" verifica contra a mesma lista de padrões do Auto-Watch que você define em Settings, não o padrão específico digitado naquela regra — vale saber isso se você está usando para liberar automaticamente depois de uma tarefa personalizada: adicione o nome do processo dessa tarefa também aos seus padrões de Auto-Watch, ou a regra não terá o que observar desaparecer.

A temperatura vem das chaves de sensor SMC que o LidRun lê diretamente. Como nenhuma chave única existe em todos os Macs, ele testa uma lista de candidatas e usa a leitura válida mais alta, então o que uma regra compara é a parte mais quente da máquina que ele consegue realmente enxergar, não um palpite. Se um determinado Mac não tiver sensor legível para essa comparação, a condição simplesmente nunca se avalia como verdadeira — a regra fica adormecida em vez de dar erro.

O que uma regra tem permissão para fazer

As ações giram em torno dos próprios controles do LidRun, e esse limite é proposital: manter o Mac acordado, parar de mantê-lo acordado, trocar para um preset de resfriamento (Quiet, Balanced, AI Workload ou Emergency Max) dentro do que o hardware permite, enviar uma notificação (com push opcional para o celular), colocar o Mac para dormir, iniciar ou parar o modo Closed-Lid, ou registrar uma anotação. Ele não finge fazer coisas que o macOS não deixa um app fazer.

O controle de escrita dos fans é, em grande parte, restrito em Apple Silicon pelo firmware e pelo SIP, então uma ação de resfriamento se apoia no que o hardware expõe, em vez de forçar uma curva de fan manual; se o controle de fan não estiver disponível no seu Mac ou no seu nível de licença, a etapa de resfriamento da regra é simplesmente pulada, enquanto as outras ações — manter acordado, notificar, dormir — continuam disparando. As ações de resfriamento também só sobem de nível, nunca descem: se você definiu manualmente os fans para Max, a etapa "trocar para Balanced" de uma regra não vai puxá-los para baixo. Só uma regra de emergência térmica força o Max independentemente do que já está definido, e é isso que impede uma regra de rotina de desfazer silenciosamente uma escolha deliberada.

Nenhuma das ações de uma regra pede confirmação depois que você a ativa — incluindo colocar o Mac para dormir e o modo Closed-Lid, e é exatamente por isso que o próprio texto do app em Smart Rules avisa para ativar essas duas com cautela. O que uma regra faz é visível, mas ainda não é identificado como vindo de uma regra: disparar "keep awake" ou "colocar o Mac para dormir" gera a mesma entrada no Activity Log que uma ação manual geraria ("Keep Awake started", por exemplo) — a entrada não diz qual regra disparou aquilo. Se você está ajustando uma regra nova e quer confirmar que ela realmente disparou, o subsistema com.lidrun.app do Console.app, categoria RuleEngine, registra o nome da regra toda vez que ela roda — é o lugar mais preciso para olhar enquanto você testa os limiares.

Smart Rules em si é um recurso Pro, com seu próprio interruptor mestre, desligado por padrão mesmo numa licença Pro. O Auto Mode, disponível no plano gratuito, já inicia e libera o keep-awake em torno do trabalho detectado; Smart Rules é a camada condicional em cima disso — resfriamento extra, alertas ou um sleep controlado quando há risco real.

O que é um preset embutido vs. o que dá para personalizar hoje

O LidRun vem com 15 regras embutidas distribuídas entre agentes de codificação com IA, IA local, dev & build, e segurança. Você pode ligar ou desligar cada uma, mas não apagá-las, e cinco vêm desativadas por padrão — LM Studio, Python, Node/npm, build do Xcode e ffmpeg — porque um padrão de interpretador amplo como "python" ou "node" combina com processos demais, sem relação nenhuma, para deixar ativado por padrão para todo mundo.

Onde o construtor dentro do app ainda é mais limitado: adicionar uma regra personalizada pela janela de Smart Rules hoje significa digitar um padrão de nome de processo, o que cria um único formato fixo de regra — aquele processo em execução mantém o Mac acordado e troca para o resfriamento AI Workload. As condições de percentual de bateria, temperatura-e-duração, tampa e janela de horário descritas acima existem todas como presets embutidos que você pode ativar, mas o construtor visual ainda não deixa você digitar seu próprio limiar para elas. Se você quer uma regra personalizada de bateria ou temperatura hoje, os presets embutidos são o caminho para conseguir isso; as regras em si moram num arquivo JSON simples dentro de Application Support, se você se sentir à vontade para mexer nele diretamente.

Regras que um desenvolvedor realmente configuraria

Fica acordado enquanto trabalha, recua assim que termina: os presets de Claude Code, Codex, Cursor e Ollama mantêm o Mac acordado e trocam para o resfriamento AI Workload no instante em que aquele processo está rodando, com um cooldown de 5 minutos para a regra não disparar de novo a cada ciclo enquanto a tarefa continua. Docker recebe o mesmo tratamento, mas com resfriamento Balanced em vez de AI Workload. Combine qualquer uma delas com a regra embutida "sem carga de trabalho de IA por 10 minutos → parar keep-awake", e um download de modelo ou uma execução de agente durante a madrugada libera o Mac sozinho assim que ele fica genuinamente ocioso, em vez de deixar o keep-awake ligado pelo resto da noite.

Dois presets de segurança já vêm ligados por padrão e não precisam de configuração nenhuma: bateria abaixo de 10%, na bateria, envia uma notificação de bateria baixa; bateria abaixo de 5%, na bateria, coloca o Mac para dormir diretamente. Os dois rodam independentemente do que uma regra de carga de trabalho estiver fazendo, e ambos ficam por cima do governador de segurança do app inteiro, que já limita o keep-awake conforme bateria e estado térmico, por baixo de todas as regras.

Os dois presets de temperatura mostram na prática o controle por duração: acima de 90°C mantidos por 5 minutos troca para o resfriamento Emergency Max e envia uma notificação de "Mac esquentando"; acima de 95°C mantidos por 2 minutos pula direto para colocar o Mac para dormir. Os dois exigem que a leitura fique elevada continuamente por esse tempo, então um pico normal e breve durante um build não dispara nenhum dos dois. Ventilação e onde você coloca o Mac ainda são responsabilidade sua — uma regra reage a um número, ela não consegue consertar uma mochila fechada.

Para qualquer coisa fora dos padrões embutidos — vllm, Blender, um script de treinamento com um nome de binário incomum — digitar esse nome em "Add a custom rule" te dá keep-awake mais resfriamento AI Workload em uma única etapa. Se você também quer que essa tarefa respeite um piso de bateria ou uma janela de horário, ative os presets de segurança embutidos correspondentes junto com ela, em vez de esperar que uma única regra faça tudo hoje.

Experimente em vez de brigar com a suspensão de tampa fechada

O LidRun mantém seu trabalho rodando com a tampa fechada, com proteção de bateria e temperatura embutida.

Baixar para macOS

Já tem o LidRun? Leia o guia de configuração →

Novo no LidRun? Veja os preços →

Perguntas frequentes

Quais condições uma Smart Rule consegue verificar?

Um processo ou app correspondente em execução, bateria abaixo ou acima de um percentual, temperatura acima de um número de graus por uma duração, uso na bateria vs. na tomada, a tampa estar fechada, nenhuma carga de trabalho correspondente por N segundos, e uma janela de horário. Todas as condições de uma regra precisam se confirmar ao mesmo tempo — não existe OR dentro de uma única regra; use duas regras para um "ou isto, ou aquilo".

Uma regra consegue controlar meus fans ou forçar uma temperatura?

Não. As ações são as próprias alavancas do LidRun — manter acordado, parar keep-awake, trocar um preset de resfriamento dentro do que o hardware permite, notificar, dormir, ou alternar o modo Closed-Lid. O controle de escrita dos fans é, em grande parte, restrito em Apple Silicon pelo firmware e pelo SIP, então uma ação de resfriamento funciona dentro desses limites; onde o controle de fan não está disponível, essa etapa é pulada e as outras ações da regra continuam rodando. As ações de resfriamento só sobem de nível, nunca puxam silenciosamente para baixo um Max definido manualmente.

Uma regra interrompe uma tarefa se a bateria ficar baixa?

Sim — presets embutidos colocam o Mac para dormir abaixo de 5% de bateria e notificam abaixo de 10%, ambos na bateria, independentemente do que uma regra de carga de trabalho estiver fazendo. O governador de segurança do LidRun já limita o keep-awake conforme bateria e estado térmico, por baixo de todas as regras, então esse não é o único mecanismo de proteção.

Como uma regra sabe que minha carga de trabalho realmente terminou?

Use "nenhuma carga de trabalho correspondente por N segundos". Ela espera que sua lista de padrões do Auto-Watch (em Settings) mostre nada em execução por esse tempo antes de disparar, então uma pausa breve entre etapas não a dispara antes da hora. Ela observa sua lista global de Auto-Watch, não um padrão digitado naquela regra específica — adicione o nome do processo da tarefa ao Auto-Watch também, ou não haverá nada para a condição observar desaparecer.

Posso escrever minha própria regra de bateria, temperatura ou janela de horário?

Ainda não pelo construtor de regras. Digitar uma regra personalizada hoje cria uma regra de padrão de processo — aquele processo em execução mantém o Mac acordado e troca para o resfriamento AI Workload. As condições de bateria, temperatura, tampa e janela de horário atualmente vêm dos presets embutidos, que você pode ligar ou desligar individualmente.

O monitoramento de regras consome bateria por conta própria?

O motor verifica a cada 5 segundos, mas só enumera os processos em execução — a parte mais cara — quando pelo menos uma regra ativa realmente precisa dessa informação. Com apenas regras de bateria, térmica, fonte de energia, tampa ou janela de horário ativadas, a verificação continua sendo, na prática, uma operação quase gratuita.

Ficou curioso se o LidRun é pra você?

Deixe o ChatGPT, o Claude ou o Perplexity investigar — clique abaixo e veja o que a IA realmente acha do LidRun.