Keepresso
Keepresso
Usar Keepresso

Mantén tu Mac despierto desde la línea de comandos

György
Revisado por
György
Actualizado Jul 23, 2026 4 min

Keepresso incluye una pequeña herramienta de línea de comandos para que puedas controlarla desde la terminal, un script de shell, un Makefile o una tarea de CI, sin tener que ir a la barra de menús. El comando es keepresso, y funciona de dos formas: puede hablar con la app de la barra de menús, o puede mantener el Mac despierto por sí solo, como el caffeinate integrado.

Instala el comando

Si instalaste Keepresso con Homebrew, el comando keepresso ya está en tu PATH, no hay nada que hacer:

brew install --cask gyorgysh/keepresso/keepresso

Si instalaste la app desde el DMG, la herramienta está dentro del paquete de la app y tu PATH todavía no sabe de ella. Enlázala una vez:

sudo ln -s /Applications/Keepresso.app/Contents/Helpers/keepresso /usr/local/bin/keepresso

Comprueba que quedó bien conectada:

keepresso version

Controla la app

Estos comandos se entregan a la app Keepresso, lanzándola si aún no se está ejecutando. Son el gemelo controlable por script del menú.

keepresso start                 # start an open-ended session
keepresso start --for 90        # start a 90 minute session
keepresso start --until 18:00   # run until a wall-clock time
keepresso stop                  # end the current session
keepresso toggle                # flip it on or off

Así, una tarea larga puede despertar el Mac cuando empieza y dejarlo entrar en reposo cuando termina:

keepresso start
make release
keepresso stop

Consulta el estado

keepresso status te dice si hay una sesión en marcha, y su código de salida hace fácil ramificar en un script:

  • 0 el Mac se está manteniendo despierto
  • 1 no lo está
  • 2 la app no se está ejecutando
keepresso status && echo "awake" || echo "asleep"

Añade --json para obtener una respuesta legible por máquina:

keepresso status --json

El mismo estado de la sesión también se refleja en un archivo, así que una herramienta de la barra de menús, una línea de estado o un widget pueden leerlo sin lanzar nada:

~/Library/Application Support/Keepresso/status.json

Contiene el estado actual y marcas de tiempo ISO 8601.

Sesiones independientes, sin necesidad de la app

A veces no quieres involucrar la app para nada, solo quieres que este shell mantenga el Mac despierto, igual que caffeinate. En este modo, el propio proceso keepresso sostiene la aserción de energía, y el Mac queda libre para volver a entrar en reposo en el momento en que termina.

keepresso -i            # hold until you press Ctrl-C
keepresso -t 3600       # hold for a number of seconds
keepresso -w 5123       # hold until process 5123 exits
keepresso -d            # also keep the display awake (combine with the above)
keepresso -u            # declare user activity: wake the display now

El patrón más útil es atar la vigilia a la vida de un comando o un shell:

keepresso -w $$ &       # stay awake as long as this shell lives
ffmpeg -i in.mov out.mp4 & keepresso -w $!   # se mantiene despierto hasta que termina la codificación

Como estas sesiones son aserciones de energía reales de macOS, aparecen en pmset -g assertions y en el propio panel de Actividad de Keepresso, junto a cualquier otra app que mantenga el Mac despierto.

Concesiones de automatización, para scripts y agentes

Un start sin un stop puede dejar el Mac fijado despierto para siempre si el script se cuelga. Para automatización desatendida, toma en su lugar una concesión: un permiso acotado con un límite de tiempo que el propietario debe seguir renovando. Si la herramienta muere, la concesión caduca y el Mac puede volver a dormir.

ID=$(uuidgen)
keepresso lease acquire --id "$ID" --tool my-script --task "nightly render" --ttl 600
keepresso lease heartbeat --id "$ID"   # renew before half the TTL elapses, on a loop
keepresso lease release --id "$ID"     # done, let the Mac rest
keepresso lease list --json            # every live lease, machine-readable

Las concesiones activas aparecen en el menú con cuentas regresivas, Keepresso las une todas, y una vida máxima (limitada a 7 días) es un tope que los latidos no pueden ampliar. El protocolo completo, el servidor MCP y la skill de agente de un clic se cubren en deja que los agentes de IA mantengan tu Mac despierto.

Programación de despertar

El CLI también puede leer los despertares programados del sistema y, con tu permiso, cambiarlos:

keepresso wake status                          # read the schedule, always allowed
keepresso wake set --at "2026-07-24 07:30"     # one-shot wake
keepresso wake set --repeat MTWRF --time 07:30 # repeating wake
keepresso wake clear

status funciona para cualquiera. set y clear aplican un cambio para todo el sistema mediante el ayudante de administrador, así que solo funcionan mientras Permitir que la automatización cambie la programación de despertar esté activado en Preferencias, Automatización. Está desactivado de forma predeterminada.

Relacionado

Consigue Keepresso

Gratis y de código abierto, para macOS 14 y versiones posteriores. Instálalo y mantén tu Mac despierto, a tu manera.

Más en Usar Keepresso

Mantén tu Mac despierto durante un tiempo determinado
Inicia una sesión cronometrada de mantener despierto para que tu Mac se mantenga encendido durante una descarga o un renderizado, y luego entre en reposo por sí solo.
Mantén tu MacBook despierto con la tapa cerrada
Evita que tu MacBook entre en reposo al cerrar la tapa, con batería, sin pantalla externa y sin cable de corriente, usando una app gratuita y de código abierto.
Despierto solo cuando importa, disparadores inteligentes
Configura condiciones para que Keepresso mantenga tu Mac despierto solo mientras se ejecuta una app, hay una llamada en curso, tienes corriente, y más. Nunca activo cuando no debería estarlo.
Concesiones de automatización mantienen tu Mac despierto
Da a los agentes de IA y a los scripts una forma segura de mantener el Mac despierto. Las concesiones de automatización son acotadas y de caducidad automática, con un servidor MCP y una skill de agente incluida que le enseñan a tu agente todo el protocolo.