Purpose

This timer triggers a daily aggregation of Perplexity usage data and posts a formatted summary to the Discord #ops channel. It provides operational visibility into AI tool utilization and session health.

Note: Unit files exist but are marked NOT INSTALLED in their headers. Enabling requires explicit Henry auth + manual systemctl --user enable --now perplexity-daily-summary.timer.

Schedule

OnCalendar=*-*-* 09:00:00 America/Los_Angeles Runs daily at 9:00 AM Pacific Time, with a randomized jitter of up to 15 minutes (RandomizedDelaySec=900s) to prevent thundering herd issues.

Service

Runs perplexity-daily-summary.service, which executes the daily_summary.py script using a dedicated Python virtual environment: /home/opsadmin/.openclaw/tools/perplexity-cookie-session/venv/bin/python3 /home/opsadmin/.openclaw/tools/perplexity-cookie-session/daily_summary.py

Credentials loaded via EnvironmentFile=/home/opsadmin/.openclaw/master.env. Auth via cookie-session (not API key).

Failure behavior

The service is configured with Restart=no. If the script fails, it will fail silently and will not attempt to restart. The next attempt will occur on the following scheduled calendar day. Persistent=true does not apply here (one-shot daily — no catch-up needed).

Health signal

Verification can be performed via:

  • Discord: Presence of the daily summary message in the #ops channel each morning.
  • Systemd: systemctl --user status perplexity-daily-summary.service to check the last exit code.
  • Logs: journalctl --user -u perplexity-daily-summary.service