⚙️ Automatización
Sistema de Alertas y Notificaciones
Configure notificaciones automatizadas para eventos del sistema, cambios en archivos y recordatorios programados
★☆☆ Principiante 15 min 13 de enero de 2025
Caso de Uso
Mantenerse informado sobre eventos importantes sin monitoreo constante es esencial. Cowork puede ayudar a configurar sistemas de notificación que le alerten cuando se cumplan condiciones específicas.
Ejemplo de Prompt
Quiero configurar notificaciones automatizadas en mi Mac. Por favor, cree:
1. Monitoreo de archivos:
- Alertar cuando se agregue cualquier archivo a ~/Downloads
- Alertar cuando ~/Documents/Important cambie
2. Alertas del sistema:
- Notificar si el uso de disco supera el 80%
- Alertar cuando un proceso específico se detenga
3. Recordatorios programados:
- Recordatorio de standup diario a las 9:45 AM
- Recordatorio de respaldo semanal los domingos
Cree los scripts y configuraciones de launchd. Guarde en ~/Scripts/notifications/
Qué Hace Cowork
- Configuración de Monitores: Crea observadores de archivos y sistema
- Configuración de Alertas: Configura notificaciones nativas
- Definición de Horarios: Crea trabajos launchd/cron
- Generación de Scripts: Escribe scripts de monitoreo
- Documentación: Proporciona instrucciones de configuración
Salida de Ejemplo
#!/bin/bash
# download_watcher.sh - Monitorear carpeta de Descargas
WATCH_DIR="$HOME/Downloads"
LOG_FILE="$HOME/Scripts/notifications/download.log"
fswatch -0 "$WATCH_DIR" | while read -d "" event; do
filename=$(basename "$event")
# Omitir descargas parciales
if [[ "$filename" == *.crdownload ]] || [[ "$filename" == *.part ]]; then
continue
fi
# Omitir archivos ocultos
if [[ "$filename" == .* ]]; then
continue
fi
# Enviar notificación
osascript -e "display notification \"$filename\" with title \"Nueva Descarga\" sound name \"Glass\""
# Registrar el evento
echo "$(date '+%Y-%m-%d %H:%M:%S') - Nuevo archivo: $filename" >> "$LOG_FILE"
done
#!/bin/bash
# disk_check.sh - Monitorear uso de disco
THRESHOLD=80
# Obtener porcentaje de uso de disco (macOS)
USAGE=$(df -h / | awk 'NR==2 {gsub(/%/,""); print $5}')
if [ "$USAGE" -gt "$THRESHOLD" ]; then
osascript -e "display notification \"Uso de disco al ${USAGE}%\" with title \"Advertencia: Espacio en Disco\" sound name \"Basso\""
# Opcional: Abrir Finder para ayudar a limpiar
# open ~/Downloads
fi
#!/bin/bash
# standup_reminder.sh - Recordatorio de standup diario
osascript <<EOF
display dialog "¡Standup Diario en 15 minutos!
Prepare:
- Lo que hice ayer
- Lo que haré hoy
- Cualquier bloqueo" with title "Recordatorio de Standup" buttons {"Descartar", "Abrir Notas"} default button "Descartar"
if button returned of result is "Abrir Notas" then
tell application "Notes" to activate
end if
EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<!-- com.user.standup-reminder.plist -->
<key>Label</key>
<string>com.user.standup-reminder</string>
<key>ProgramArguments</key>
<array>
<string>/Users/you/Scripts/notifications/standup_reminder.sh</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>9</integer>
<key>Minute</key>
<integer>45</integer>
</dict>
<key>RunAtLoad</key>
<false/>
</dict>
</plist>
Instalación
# Instalar fswatch para monitoreo de archivos
brew install fswatch
# Cargar servicios de launchd
launchctl load ~/Library/LaunchAgents/com.user.standup-reminder.plist
launchctl load ~/Library/LaunchAgents/com.user.disk-check.plist
# Iniciar observador de descargas en segundo plano
nohup ~/Scripts/notifications/download_watcher.sh &
Consejos
- Use notificaciones nativas para alertas importantes
- Considere integrar con Slack/Discord para alertas remotas
- Mantenga la frecuencia de notificaciones razonable
- Agregue sonido para alertas críticas