Skip to content

Releases

Agent Power Guard v1.2.9

Choose a tag to compare

@github-actions github-actions released this 12 Nov 12:46

🛡️⚡ Agent Power Guard v1.2.9 Release

A lightweight, 100% native desktop utility written in Rust (egui + glow) that puts your workstation to sleep only when you AND your AI coding agents are truly idle.


🌟 What's New & Fixed in v1.2.9 (Full Upgrade Since v1.0.3)

🧩 v1.2.9 On-Demand Hardware Scan & Crisp Horizontal Bubble Wrapping

  • On-Demand Hardware Scan Launch Screen: Opening Watt Calculator & AI Estimator no longer auto-triggers hardware scanning in the background. Displays a centered Fetch Device Details launch card first (plus a subtle option to skip straight to manual entry), and only runs hardware detection when you click Fetch Device Details.
  • Zero Vertical Text-Noodle Wrapping: Replaced egui::horizontal_wrapped bubble layout with exact pixel-measured horizontal row packing (pack_pill_rows + .extend()), eliminating thin vertical column wrapping on long RAM/Audio/Storage bubbles.

🧩 v1.2.8 Watt Calculator Modal Alignment & Layout Fix

  • Zero Left/Right Overflow: Locked the Hardware Watt Calculator modal with .fixed_size(...), .constrain_to(ctx.content_rect()), uniform inner card widths (inner_w), and finite desired_width on Step 3/4 text editors (replacing f32::INFINITY), so all 4 Step cards, colored hardware bubbles, and buttons stay cleanly centered and inside the modal borders on any window size.

🧩 v1.2.7 Editable Color-Coded Hardware Bubbles, Case Cooling & ARGB Support

  • Interactive Color-Coded Hardware Bubbles (Step 1): Redesigned detected specs into responsive, color-coded pills by category (Board/CPU/RAM/GPU, Storage Drives, Displays, Wi-Fi/LAN, Bluetooth, Audio/Mic, USB & Peripherals, and Cabinet Cooling/ARGB). Click any bubble to rename/edit inline, click x to remove unused paired/virtual devices, or click + Add inside any category to append custom gear — with responsive modal sizing so buttons and long hardware lists never clip on narrow/portrait monitors.
  • Cabinet Fans, ARGB Lighting & Cooler Controls (Step 2): Added dedicated inputs for Case Fan count, ARGB/RGB Fan count, CPU Cooler type (Stock/Tower/Dual-Tower Air, 120mm/240mm/360mm AIO Liquid, Custom Loop, Laptop), ARGB Hub / LED Strips, 1-click Quick-Add chips, full-width Extra Notes, and auto-classification of motherboard/USB RGB controllers (ITE Device RGB Fusion, iCUE, NZXT, Lian Li) plus virtual audio filter cleanup (FxSound/VB-Audio). All edits auto-sync into Step 3's AI estimator prompt.

🔍 v1.2.6 Cross-Platform Deep Hardware Detection & Watt Calculator Fixes

  • Real Physical Storage, RAM & Motherboard Detection (Windows, Linux & macOS): Replaced logical volume-count storage summaries with unprivileged physical drive model/bus/size detection (MSFT_PhysicalDisk/Win32_DiskDrive on Windows, lsblk -J//sys/block on Linux, SPNVMeDataType/SPSerialATADataType on macOS), motherboard/system model (Win32_BaseBoard, /sys/class/dmi/id, SPHardwareDataType), DDR generation/MHz/stick-count RAM formatting (Win32_PhysicalMemory SMBIOSMemoryType, lshw, SPMemoryDataType), and 64-bit GPU VRAM lookup on Windows.
  • Wi-Fi, LAN, Bluetooth, Audio/Mic & USB Peripherals Detection: Detects physical Wi-Fi and Ethernet adapters, Bluetooth adapters/connected peripherals, microphones/USB DACs/speakers, cameras, and exact mouse/keyboard/USB peripheral models (DEVPKEY_Device_BusReportedDeviceDesc on Windows, lsusb/sysfs on Linux, SPUSBDataType/SPAudioDataType/SPBluetoothDataType on macOS) and includes all of them cleanly in Step 1 and the AI estimator prompt.
  • Watt Calculator Fixes: Fixed monitor per-display wattage doubling when initial multi-monitor config.monitor_watts was split across 2+ detected displays, and grouped (label + control) pairs inside Step 2 so Rate/kWh: no longer wraps separately from its input field.

🎨 v1.2.5 UI Overhaul, System Clipboard & Polish

  • Zero Missing-Glyph Boxes (Custom Vector Icons): Replaced all missing-glyph Unicode emojis across every tab, top-bar action, modal, tray menu, and card header with crisp anti-aliased vector icons (UiIcon) and theme-aware Dark/Light cards (app_card_frame).
  • Reliable System Clipboard Copy & Paste: Fixed eframe clipboard copy/paste (Copy Prompt, Paste Clipboard, Copy JSON/CSV, Copy Path/Token/Link/MAC) by pairing egui clipboard with UTF-8 native OS clipboard integration (Set-Clipboard/Get-Clipboard on Windows, pbcopy/pbpaste on macOS, xclip/wl-copy on Linux).
  • Clean 4-Step Watt Calculator Wizard & Clipped-UI Fixes: Rebuilt the Watt Calculator & AI Estimator into a 4-step readable wizard (Step 1: Fetch System Specs, Step 2: Missing Details, Watt Distribution & Electricity Price, Step 3: Generate & Copy AI Prompt, Step 4: Paste AI Response & Calculate All Savings); fixed negative zero (-0.00) KPI display, wrapped Energy filter/delete buttons cleanly so nothing clips off-screen, and added vertical scrolling across Alerts & Updates and Remote tabs.

⚡ v1.2.4 Features & Bug Fixes

  • In-Panel Auto-Updater (GitHub Public Releases API): Queries /releases to list all published versions with [LATEST] and [INSTALLED] badges, downloads matching platform binaries/installers in the background via Update Now, prompts to Install & Restart Now, and swaps portable .exe/tarballs or launches .msi cleanly in place (plus a Built-in Uninstall Software option).
  • Custom Watt Calculator & AI Spec Prompt Estimator: Auto-fetches CPU, RAM, GPU/VRAM, storage, and monitors in the background; adds manual inputs for SMPS/PSU wattage & efficiency, monitor counts, peripherals, and daily hours; computes component-level wall wattage + Daily/Monthly/Yearly savings projections; and generates a copy-ready AI prompt whose JSON reply can be pasted straight back into the app with zero API key needed.
  • 26 Major Currencies (incl. INR ₹) + Custom Currency & High Tariff Range: Replaced hardcoded $ in the Energy History table, raised electricity rate range from 2.0 to 50,000 (fixing ₹9/kWh+ entry), added a 26-currency selector + custom symbol input, and exposed Sleep Power (W) right alongside Active & Monitor watts.
  • Fixed Sleep Savings Duration Logger: Measures true wall-clock sleep duration (before_sleep -> after_sleep) instead of idle_threshold_secs (3 min vs 8 hours overnight).
  • Fixed powercfg Audio Overrides & Port Config Consistency: Added VB-Audio Virtual Cable (ROOT\MEDIA\0001), FxSound Audio Enhancer (ROOT\MEDIA\0000), USB Audio 2.0, and Legacy Kernel Caller, verified admin exit status instead of failing silently, and wired config.web_server_port cleanly across GUI, headless daemon, and CLI commands (status / service status).

🔧 v1.2.3 Fixes & Accuracy Improvements

  • Physical-Disk-Bounded I/O Attribution (Fixes Permanent Hold on Windows Browsers/IDEs): Bounded Cond 5 per-process attribution (GetProcessIoCounters, which includes named pipes and Chromium/Electron Mojo IPC) by actual physical SSD throughput (IOCTL_DISK_PERFORMANCE), and excluded browser/WebView/crashpad helpers from Cond 5 work attribution so idle browser IPC no longer latches Cond 9 (Busy 15/15) at ~10+ MB/s.
  • Accurate Blocker Attribution & Live I/O Diagnostics: Updated Cond 5 and blocker banners to display <proc> <proc_rate> (Disk <effective_total>) cleanly, and added a collapsible Debug: Physical Disk vs Process I/O (Top 5) view plus /api/status top_io_debug.
  • Fixed Adaptive Suggestion Banner Slot Shift (GPU 13302%): Replaced the unnamed (f32, f32, f32) tuple with a named SuggestedThresholds struct (pc_cpu_pct, disk_kbps, net_kbps), so disk baseline suggestions no longer overwrite gpu_threshold_pct.
  • Preset & Stage 1 Display-Off Sync + Native Win32 Monitor Off: Synced top-bar ⏱ 15s Test, Quick Presets, and PowerMode buttons with monitor_timeout_mins, active_mode, apply_monitor_timeout, and live countdown; added live Display-off: Xs / Ys progress and !is_meeting_live guard; replaced PowerShell/Add-Type subprocess with native Win32 SendMessageTimeoutW(..., SC_MONITORPOWER, 2, SMTO_ABORTIFHUNG).

🧠 Intent-Aware Sleep Engine & Signal Conditioning (v1.2.x)

  • Signal-Conditioning Layer: Every analog metric (Agent CPU, Downloads, PC CPU, Attributed Disk, Default-Route Network, GPU) passes through a rolling-window duty-cycle filter with hysteresis (Pending -> Busy -> Quiet). Single 1-second spikes and Pending windows never reset the countdown or kill Stage 1 display-off.
  • Explicit Intent Classification: Unified top-level intent hierarchy (BestPerformance -> GuardOff -> ExplicitHold -> MeetingLive -> PassiveMedia -> ActiveWork -> HumanActive -> IdleReady) controlling Stage 1 display-off and Stage 2 sleep independently.
  • 3 Top-Level Operational Modes & Dedicated OS Wake Lock: Switch between Smart Guard (watchdog actively manages display-off & sleep), Guard Off (watchdog pauses so normal OS power settings apply), and Best Performance (explicitly disables sleep & display-off via a dedicated OS wake-lock thread using SetThreadExecutionState / systemd-inhibit / caffeinate, with optional 1h / 2h / ∞ timers).
  • Live Blocker Transparency & Built-in (i) Guide: Every active blocker shows #, condition, offending owner/process, live value, hold duration, and inline + Ignore across desktop GUI, tray tooltip, and web dashboard.
  • Adaptive GPU Baseline + Multi-Adapter NVML Power Draw: Learns your idle desktop compositor floor (floor + margin), polls all NVML devices including board power draw, never triggers on VRAM allocation alone, and surfaces a Probe Unavailable badge when NVML is absent.
  • Per-Process Disk Attribution & Default-Route NIC Filtering: Subtracts background noise (`MsMp...
Read more

Agent Power Guard v1.2.8

Choose a tag to compare

@github-actions github-actions released this 12 Nov 12:24

🛡️⚡ Agent Power Guard v1.2.8 Release

A lightweight, 100% native desktop utility written in Rust (egui + glow) that puts your workstation to sleep only when you AND your AI coding agents are truly idle.


🌟 What's New & Fixed in v1.2.8 (Full Upgrade Since v1.0.3)

🧩 v1.2.8 Watt Calculator Modal Alignment & Layout Fix

  • Zero Left/Right Overflow: Locked the Hardware Watt Calculator modal with .fixed_size(...), .constrain_to(ctx.content_rect()), uniform inner card widths (inner_w), and finite desired_width on Step 3/4 text editors (replacing f32::INFINITY), so all 4 Step cards, colored hardware bubbles, and buttons stay cleanly centered and inside the modal borders on any window size.

🧩 v1.2.7 Editable Color-Coded Hardware Bubbles, Case Cooling & ARGB Support

  • Interactive Color-Coded Hardware Bubbles (Step 1): Redesigned detected specs into responsive, color-coded pills by category (Board/CPU/RAM/GPU, Storage Drives, Displays, Wi-Fi/LAN, Bluetooth, Audio/Mic, USB & Peripherals, and Cabinet Cooling/ARGB). Click any bubble to rename/edit inline, click x to remove unused paired/virtual devices, or click + Add inside any category to append custom gear — with responsive modal sizing so buttons and long hardware lists never clip on narrow/portrait monitors.
  • Cabinet Fans, ARGB Lighting & Cooler Controls (Step 2): Added dedicated inputs for Case Fan count, ARGB/RGB Fan count, CPU Cooler type (Stock/Tower/Dual-Tower Air, 120mm/240mm/360mm AIO Liquid, Custom Loop, Laptop), ARGB Hub / LED Strips, 1-click Quick-Add chips, full-width Extra Notes, and auto-classification of motherboard/USB RGB controllers (ITE Device RGB Fusion, iCUE, NZXT, Lian Li) plus virtual audio filter cleanup (FxSound/VB-Audio). All edits auto-sync into Step 3's AI estimator prompt.

🔍 v1.2.6 Cross-Platform Deep Hardware Detection & Watt Calculator Fixes

  • Real Physical Storage, RAM & Motherboard Detection (Windows, Linux & macOS): Replaced logical volume-count storage summaries with unprivileged physical drive model/bus/size detection (MSFT_PhysicalDisk/Win32_DiskDrive on Windows, lsblk -J//sys/block on Linux, SPNVMeDataType/SPSerialATADataType on macOS), motherboard/system model (Win32_BaseBoard, /sys/class/dmi/id, SPHardwareDataType), DDR generation/MHz/stick-count RAM formatting (Win32_PhysicalMemory SMBIOSMemoryType, lshw, SPMemoryDataType), and 64-bit GPU VRAM lookup on Windows.
  • Wi-Fi, LAN, Bluetooth, Audio/Mic & USB Peripherals Detection: Detects physical Wi-Fi and Ethernet adapters, Bluetooth adapters/connected peripherals, microphones/USB DACs/speakers, cameras, and exact mouse/keyboard/USB peripheral models (DEVPKEY_Device_BusReportedDeviceDesc on Windows, lsusb/sysfs on Linux, SPUSBDataType/SPAudioDataType/SPBluetoothDataType on macOS) and includes all of them cleanly in Step 1 and the AI estimator prompt.
  • Watt Calculator Fixes: Fixed monitor per-display wattage doubling when initial multi-monitor config.monitor_watts was split across 2+ detected displays, and grouped (label + control) pairs inside Step 2 so Rate/kWh: no longer wraps separately from its input field.

🎨 v1.2.5 UI Overhaul, System Clipboard & Polish

  • Zero Missing-Glyph Boxes (Custom Vector Icons): Replaced all missing-glyph Unicode emojis across every tab, top-bar action, modal, tray menu, and card header with crisp anti-aliased vector icons (UiIcon) and theme-aware Dark/Light cards (app_card_frame).
  • Reliable System Clipboard Copy & Paste: Fixed eframe clipboard copy/paste (Copy Prompt, Paste Clipboard, Copy JSON/CSV, Copy Path/Token/Link/MAC) by pairing egui clipboard with UTF-8 native OS clipboard integration (Set-Clipboard/Get-Clipboard on Windows, pbcopy/pbpaste on macOS, xclip/wl-copy on Linux).
  • Clean 4-Step Watt Calculator Wizard & Clipped-UI Fixes: Rebuilt the Watt Calculator & AI Estimator into a 4-step readable wizard (Step 1: Fetch System Specs, Step 2: Missing Details, Watt Distribution & Electricity Price, Step 3: Generate & Copy AI Prompt, Step 4: Paste AI Response & Calculate All Savings); fixed negative zero (-0.00) KPI display, wrapped Energy filter/delete buttons cleanly so nothing clips off-screen, and added vertical scrolling across Alerts & Updates and Remote tabs.

⚡ v1.2.4 Features & Bug Fixes

  • In-Panel Auto-Updater (GitHub Public Releases API): Queries /releases to list all published versions with [LATEST] and [INSTALLED] badges, downloads matching platform binaries/installers in the background via Update Now, prompts to Install & Restart Now, and swaps portable .exe/tarballs or launches .msi cleanly in place (plus a Built-in Uninstall Software option).
  • Custom Watt Calculator & AI Spec Prompt Estimator: Auto-fetches CPU, RAM, GPU/VRAM, storage, and monitors in the background; adds manual inputs for SMPS/PSU wattage & efficiency, monitor counts, peripherals, and daily hours; computes component-level wall wattage + Daily/Monthly/Yearly savings projections; and generates a copy-ready AI prompt whose JSON reply can be pasted straight back into the app with zero API key needed.
  • 26 Major Currencies (incl. INR ₹) + Custom Currency & High Tariff Range: Replaced hardcoded $ in the Energy History table, raised electricity rate range from 2.0 to 50,000 (fixing ₹9/kWh+ entry), added a 26-currency selector + custom symbol input, and exposed Sleep Power (W) right alongside Active & Monitor watts.
  • Fixed Sleep Savings Duration Logger: Measures true wall-clock sleep duration (before_sleep -> after_sleep) instead of idle_threshold_secs (3 min vs 8 hours overnight).
  • Fixed powercfg Audio Overrides & Port Config Consistency: Added VB-Audio Virtual Cable (ROOT\MEDIA\0001), FxSound Audio Enhancer (ROOT\MEDIA\0000), USB Audio 2.0, and Legacy Kernel Caller, verified admin exit status instead of failing silently, and wired config.web_server_port cleanly across GUI, headless daemon, and CLI commands (status / service status).

🔧 v1.2.3 Fixes & Accuracy Improvements

  • Physical-Disk-Bounded I/O Attribution (Fixes Permanent Hold on Windows Browsers/IDEs): Bounded Cond 5 per-process attribution (GetProcessIoCounters, which includes named pipes and Chromium/Electron Mojo IPC) by actual physical SSD throughput (IOCTL_DISK_PERFORMANCE), and excluded browser/WebView/crashpad helpers from Cond 5 work attribution so idle browser IPC no longer latches Cond 9 (Busy 15/15) at ~10+ MB/s.
  • Accurate Blocker Attribution & Live I/O Diagnostics: Updated Cond 5 and blocker banners to display <proc> <proc_rate> (Disk <effective_total>) cleanly, and added a collapsible Debug: Physical Disk vs Process I/O (Top 5) view plus /api/status top_io_debug.
  • Fixed Adaptive Suggestion Banner Slot Shift (GPU 13302%): Replaced the unnamed (f32, f32, f32) tuple with a named SuggestedThresholds struct (pc_cpu_pct, disk_kbps, net_kbps), so disk baseline suggestions no longer overwrite gpu_threshold_pct.
  • Preset & Stage 1 Display-Off Sync + Native Win32 Monitor Off: Synced top-bar ⏱ 15s Test, Quick Presets, and PowerMode buttons with monitor_timeout_mins, active_mode, apply_monitor_timeout, and live countdown; added live Display-off: Xs / Ys progress and !is_meeting_live guard; replaced PowerShell/Add-Type subprocess with native Win32 SendMessageTimeoutW(..., SC_MONITORPOWER, 2, SMTO_ABORTIFHUNG).

🧠 Intent-Aware Sleep Engine & Signal Conditioning (v1.2.x)

  • Signal-Conditioning Layer: Every analog metric (Agent CPU, Downloads, PC CPU, Attributed Disk, Default-Route Network, GPU) passes through a rolling-window duty-cycle filter with hysteresis (Pending -> Busy -> Quiet). Single 1-second spikes and Pending windows never reset the countdown or kill Stage 1 display-off.
  • Explicit Intent Classification: Unified top-level intent hierarchy (BestPerformance -> GuardOff -> ExplicitHold -> MeetingLive -> PassiveMedia -> ActiveWork -> HumanActive -> IdleReady) controlling Stage 1 display-off and Stage 2 sleep independently.
  • 3 Top-Level Operational Modes & Dedicated OS Wake Lock: Switch between Smart Guard (watchdog actively manages display-off & sleep), Guard Off (watchdog pauses so normal OS power settings apply), and Best Performance (explicitly disables sleep & display-off via a dedicated OS wake-lock thread using SetThreadExecutionState / systemd-inhibit / caffeinate, with optional 1h / 2h / ∞ timers).
  • Live Blocker Transparency & Built-in (i) Guide: Every active blocker shows #, condition, offending owner/process, live value, hold duration, and inline + Ignore across desktop GUI, tray tooltip, and web dashboard.
  • Adaptive GPU Baseline + Multi-Adapter NVML Power Draw: Learns your idle desktop compositor floor (floor + margin), polls all NVML devices including board power draw, never triggers on VRAM allocation alone, and surfaces a Probe Unavailable badge when NVML is absent.
  • Per-Process Disk Attribution & Default-Route NIC Filtering: Subtracts background noise (MsMpEng, SearchIndexer, TiWorker, cloud sync clients) and reports the exact culprit (cargo.exe 14.2 MB/s); filters network traffic to default-route interfaces (0.0.0.0/0, ::/0) ignoring loopback, WSL vEthernet, Hyper-V, and Docker virtual adapters; subtracts self-CPU overhead.
  • Process-Tree Agent CPU Attribution: Separates idle IDE shells (code.exe, cursor.exe) from active compiler/agent worker child processes.
  • Passive Media Detection & Monitor Audio Protection: CoreAudio render sessions + WinRT SMTC (GlobalSystemMediaTransportControls) detect playback and raise a non-focus-stealing topmost prompt (Keep Awake / Sleep Now / Hide) bound ...
Read more

Agent Power Guard v1.2.7

Choose a tag to compare

@github-actions github-actions released this 12 Nov 12:12

🛡️⚡ Agent Power Guard v1.2.7 Release

A lightweight, 100% native desktop utility written in Rust (egui + glow) that puts your workstation to sleep only when you AND your AI coding agents are truly idle.


🌟 What's New & Fixed in v1.2.7 (Full Upgrade Since v1.0.3)

🧩 v1.2.7 Editable Color-Coded Hardware Bubbles, Case Cooling & ARGB Support

  • Interactive Color-Coded Hardware Bubbles (Step 1): Redesigned detected specs into responsive, color-coded pills by category (Board/CPU/RAM/GPU, Storage Drives, Displays, Wi-Fi/LAN, Bluetooth, Audio/Mic, USB & Peripherals, and Cabinet Cooling/ARGB). Click any bubble to rename/edit inline, click x to remove unused paired/virtual devices, or click + Add inside any category to append custom gear — with responsive modal sizing so buttons and long hardware lists never clip on narrow/portrait monitors.
  • Cabinet Fans, ARGB Lighting & Cooler Controls (Step 2): Added dedicated inputs for Case Fan count, ARGB/RGB Fan count, CPU Cooler type (Stock/Tower/Dual-Tower Air, 120mm/240mm/360mm AIO Liquid, Custom Loop, Laptop), ARGB Hub / LED Strips, 1-click Quick-Add chips, full-width Extra Notes, and auto-classification of motherboard/USB RGB controllers (ITE Device RGB Fusion, iCUE, NZXT, Lian Li) plus virtual audio filter cleanup (FxSound/VB-Audio). All edits auto-sync into Step 3's AI estimator prompt.

🔍 v1.2.6 Cross-Platform Deep Hardware Detection & Watt Calculator Fixes

  • Real Physical Storage, RAM & Motherboard Detection (Windows, Linux & macOS): Replaced logical volume-count storage summaries with unprivileged physical drive model/bus/size detection (MSFT_PhysicalDisk/Win32_DiskDrive on Windows, lsblk -J//sys/block on Linux, SPNVMeDataType/SPSerialATADataType on macOS), motherboard/system model (Win32_BaseBoard, /sys/class/dmi/id, SPHardwareDataType), DDR generation/MHz/stick-count RAM formatting (Win32_PhysicalMemory SMBIOSMemoryType, lshw, SPMemoryDataType), and 64-bit GPU VRAM lookup on Windows.
  • Wi-Fi, LAN, Bluetooth, Audio/Mic & USB Peripherals Detection: Detects physical Wi-Fi and Ethernet adapters, Bluetooth adapters/connected peripherals, microphones/USB DACs/speakers, cameras, and exact mouse/keyboard/USB peripheral models (DEVPKEY_Device_BusReportedDeviceDesc on Windows, lsusb/sysfs on Linux, SPUSBDataType/SPAudioDataType/SPBluetoothDataType on macOS) and includes all of them cleanly in Step 1 and the AI estimator prompt.
  • Watt Calculator Fixes: Fixed monitor per-display wattage doubling when initial multi-monitor config.monitor_watts was split across 2+ detected displays, and grouped (label + control) pairs inside Step 2 so Rate/kWh: no longer wraps separately from its input field.

🎨 v1.2.5 UI Overhaul, System Clipboard & Polish

  • Zero Missing-Glyph Boxes (Custom Vector Icons): Replaced all missing-glyph Unicode emojis across every tab, top-bar action, modal, tray menu, and card header with crisp anti-aliased vector icons (UiIcon) and theme-aware Dark/Light cards (app_card_frame).
  • Reliable System Clipboard Copy & Paste: Fixed eframe clipboard copy/paste (Copy Prompt, Paste Clipboard, Copy JSON/CSV, Copy Path/Token/Link/MAC) by pairing egui clipboard with UTF-8 native OS clipboard integration (Set-Clipboard/Get-Clipboard on Windows, pbcopy/pbpaste on macOS, xclip/wl-copy on Linux).
  • Clean 4-Step Watt Calculator Wizard & Clipped-UI Fixes: Rebuilt the Watt Calculator & AI Estimator into a 4-step readable wizard (Step 1: Fetch System Specs, Step 2: Missing Details, Watt Distribution & Electricity Price, Step 3: Generate & Copy AI Prompt, Step 4: Paste AI Response & Calculate All Savings); fixed negative zero (-0.00) KPI display, wrapped Energy filter/delete buttons cleanly so nothing clips off-screen, and added vertical scrolling across Alerts & Updates and Remote tabs.

⚡ v1.2.4 Features & Bug Fixes

  • In-Panel Auto-Updater (GitHub Public Releases API): Queries /releases to list all published versions with [LATEST] and [INSTALLED] badges, downloads matching platform binaries/installers in the background via Update Now, prompts to Install & Restart Now, and swaps portable .exe/tarballs or launches .msi cleanly in place (plus a Built-in Uninstall Software option).
  • Custom Watt Calculator & AI Spec Prompt Estimator: Auto-fetches CPU, RAM, GPU/VRAM, storage, and monitors in the background; adds manual inputs for SMPS/PSU wattage & efficiency, monitor counts, peripherals, and daily hours; computes component-level wall wattage + Daily/Monthly/Yearly savings projections; and generates a copy-ready AI prompt whose JSON reply can be pasted straight back into the app with zero API key needed.
  • 26 Major Currencies (incl. INR ₹) + Custom Currency & High Tariff Range: Replaced hardcoded $ in the Energy History table, raised electricity rate range from 2.0 to 50,000 (fixing ₹9/kWh+ entry), added a 26-currency selector + custom symbol input, and exposed Sleep Power (W) right alongside Active & Monitor watts.
  • Fixed Sleep Savings Duration Logger: Measures true wall-clock sleep duration (before_sleep -> after_sleep) instead of idle_threshold_secs (3 min vs 8 hours overnight).
  • Fixed powercfg Audio Overrides & Port Config Consistency: Added VB-Audio Virtual Cable (ROOT\MEDIA\0001), FxSound Audio Enhancer (ROOT\MEDIA\0000), USB Audio 2.0, and Legacy Kernel Caller, verified admin exit status instead of failing silently, and wired config.web_server_port cleanly across GUI, headless daemon, and CLI commands (status / service status).

🔧 v1.2.3 Fixes & Accuracy Improvements

  • Physical-Disk-Bounded I/O Attribution (Fixes Permanent Hold on Windows Browsers/IDEs): Bounded Cond 5 per-process attribution (GetProcessIoCounters, which includes named pipes and Chromium/Electron Mojo IPC) by actual physical SSD throughput (IOCTL_DISK_PERFORMANCE), and excluded browser/WebView/crashpad helpers from Cond 5 work attribution so idle browser IPC no longer latches Cond 9 (Busy 15/15) at ~10+ MB/s.
  • Accurate Blocker Attribution & Live I/O Diagnostics: Updated Cond 5 and blocker banners to display <proc> <proc_rate> (Disk <effective_total>) cleanly, and added a collapsible Debug: Physical Disk vs Process I/O (Top 5) view plus /api/status top_io_debug.
  • Fixed Adaptive Suggestion Banner Slot Shift (GPU 13302%): Replaced the unnamed (f32, f32, f32) tuple with a named SuggestedThresholds struct (pc_cpu_pct, disk_kbps, net_kbps), so disk baseline suggestions no longer overwrite gpu_threshold_pct.
  • Preset & Stage 1 Display-Off Sync + Native Win32 Monitor Off: Synced top-bar ⏱ 15s Test, Quick Presets, and PowerMode buttons with monitor_timeout_mins, active_mode, apply_monitor_timeout, and live countdown; added live Display-off: Xs / Ys progress and !is_meeting_live guard; replaced PowerShell/Add-Type subprocess with native Win32 SendMessageTimeoutW(..., SC_MONITORPOWER, 2, SMTO_ABORTIFHUNG).

🧠 Intent-Aware Sleep Engine & Signal Conditioning (v1.2.x)

  • Signal-Conditioning Layer: Every analog metric (Agent CPU, Downloads, PC CPU, Attributed Disk, Default-Route Network, GPU) passes through a rolling-window duty-cycle filter with hysteresis (Pending -> Busy -> Quiet). Single 1-second spikes and Pending windows never reset the countdown or kill Stage 1 display-off.
  • Explicit Intent Classification: Unified top-level intent hierarchy (BestPerformance -> GuardOff -> ExplicitHold -> MeetingLive -> PassiveMedia -> ActiveWork -> HumanActive -> IdleReady) controlling Stage 1 display-off and Stage 2 sleep independently.
  • 3 Top-Level Operational Modes & Dedicated OS Wake Lock: Switch between Smart Guard (watchdog actively manages display-off & sleep), Guard Off (watchdog pauses so normal OS power settings apply), and Best Performance (explicitly disables sleep & display-off via a dedicated OS wake-lock thread using SetThreadExecutionState / systemd-inhibit / caffeinate, with optional 1h / 2h / ∞ timers).
  • Live Blocker Transparency & Built-in (i) Guide: Every active blocker shows #, condition, offending owner/process, live value, hold duration, and inline + Ignore across desktop GUI, tray tooltip, and web dashboard.
  • Adaptive GPU Baseline + Multi-Adapter NVML Power Draw: Learns your idle desktop compositor floor (floor + margin), polls all NVML devices including board power draw, never triggers on VRAM allocation alone, and surfaces a Probe Unavailable badge when NVML is absent.
  • Per-Process Disk Attribution & Default-Route NIC Filtering: Subtracts background noise (MsMpEng, SearchIndexer, TiWorker, cloud sync clients) and reports the exact culprit (cargo.exe 14.2 MB/s); filters network traffic to default-route interfaces (0.0.0.0/0, ::/0) ignoring loopback, WSL vEthernet, Hyper-V, and Docker virtual adapters; subtracts self-CPU overhead.
  • Process-Tree Agent CPU Attribution: Separates idle IDE shells (code.exe, cursor.exe) from active compiler/agent worker child processes.
  • Passive Media Detection & Monitor Audio Protection: CoreAudio render sessions + WinRT SMTC (GlobalSystemMediaTransportControls) detect playback and raise a non-focus-stealing topmost prompt (Keep Awake / Sleep Now / Hide) bound strictly to session identity (app + session) rather than track title, clearing automatically after pause grace (default 60s). Stage 1 display-off stays allowed for audio-only playback unless audio plays through monitor/HDMI speakers (DigitalAudioDisplayDevice).
  • Mic/Cam Signal Presence & App Categories: Measures real CoreAudio capture peak energy (Dead / Ambient / Active) alongside ConsentStore/webcam checks — strict protection for...
Read more

Agent Power Guard v1.2.6

Choose a tag to compare

@github-actions github-actions released this 12 Nov 11:38

🛡️⚡ Agent Power Guard v1.2.6 Release

A lightweight, 100% native desktop utility written in Rust (egui + glow) that puts your workstation to sleep only when you AND your AI coding agents are truly idle.


🌟 What's New & Fixed in v1.2.6 (Full Upgrade Since v1.0.3)

🔍 v1.2.6 Cross-Platform Deep Hardware Detection & Watt Calculator Fixes

  • Real Physical Storage, RAM & Motherboard Detection (Windows, Linux & macOS): Replaced logical volume-count storage summaries with unprivileged physical drive model/bus/size detection (MSFT_PhysicalDisk/Win32_DiskDrive on Windows, lsblk -J//sys/block on Linux, SPNVMeDataType/SPSerialATADataType on macOS), motherboard/system model (Win32_BaseBoard, /sys/class/dmi/id, SPHardwareDataType), DDR generation/MHz/stick-count RAM formatting (Win32_PhysicalMemory SMBIOSMemoryType, lshw, SPMemoryDataType), and 64-bit GPU VRAM lookup on Windows.
  • Wi-Fi, LAN, Bluetooth, Audio/Mic & USB Peripherals Detection: Detects physical Wi-Fi and Ethernet adapters, Bluetooth adapters/connected peripherals, microphones/USB DACs/speakers, cameras, and exact mouse/keyboard/USB peripheral models (DEVPKEY_Device_BusReportedDeviceDesc on Windows, lsusb/sysfs on Linux, SPUSBDataType/SPAudioDataType/SPBluetoothDataType on macOS) and includes all of them cleanly in Step 1 and the AI estimator prompt.
  • Watt Calculator Fixes: Fixed monitor per-display wattage doubling when initial multi-monitor config.monitor_watts was split across 2+ detected displays, and grouped (label + control) pairs inside Step 2 so Rate/kWh: no longer wraps separately from its input field.

🎨 v1.2.5 UI Overhaul, System Clipboard & Polish

  • Zero Missing-Glyph Boxes (Custom Vector Icons): Replaced all missing-glyph Unicode emojis across every tab, top-bar action, modal, tray menu, and card header with crisp anti-aliased vector icons (UiIcon) and theme-aware Dark/Light cards (app_card_frame).
  • Reliable System Clipboard Copy & Paste: Fixed eframe clipboard copy/paste (Copy Prompt, Paste Clipboard, Copy JSON/CSV, Copy Path/Token/Link/MAC) by pairing egui clipboard with UTF-8 native OS clipboard integration (Set-Clipboard/Get-Clipboard on Windows, pbcopy/pbpaste on macOS, xclip/wl-copy on Linux).
  • Clean 4-Step Watt Calculator Wizard & Clipped-UI Fixes: Rebuilt the Watt Calculator & AI Estimator into a 4-step readable wizard (Step 1: Fetch System Specs, Step 2: Missing Details, Watt Distribution & Electricity Price, Step 3: Generate & Copy AI Prompt, Step 4: Paste AI Response & Calculate All Savings); fixed negative zero (-0.00) KPI display, wrapped Energy filter/delete buttons cleanly so nothing clips off-screen, and added vertical scrolling across Alerts & Updates and Remote tabs.

⚡ v1.2.4 Features & Bug Fixes

  • In-Panel Auto-Updater (GitHub Public Releases API): Queries /releases to list all published versions with [LATEST] and [INSTALLED] badges, downloads matching platform binaries/installers in the background via Update Now, prompts to Install & Restart Now, and swaps portable .exe/tarballs or launches .msi cleanly in place (plus a Built-in Uninstall Software option).
  • Custom Watt Calculator & AI Spec Prompt Estimator: Auto-fetches CPU, RAM, GPU/VRAM, storage, and monitors in the background; adds manual inputs for SMPS/PSU wattage & efficiency, monitor counts, peripherals, and daily hours; computes component-level wall wattage + Daily/Monthly/Yearly savings projections; and generates a copy-ready AI prompt whose JSON reply can be pasted straight back into the app with zero API key needed.
  • 26 Major Currencies (incl. INR ₹) + Custom Currency & High Tariff Range: Replaced hardcoded $ in the Energy History table, raised electricity rate range from 2.0 to 50,000 (fixing ₹9/kWh+ entry), added a 26-currency selector + custom symbol input, and exposed Sleep Power (W) right alongside Active & Monitor watts.
  • Fixed Sleep Savings Duration Logger: Measures true wall-clock sleep duration (before_sleep -> after_sleep) instead of idle_threshold_secs (3 min vs 8 hours overnight).
  • Fixed powercfg Audio Overrides & Port Config Consistency: Added VB-Audio Virtual Cable (ROOT\MEDIA\0001), FxSound Audio Enhancer (ROOT\MEDIA\0000), USB Audio 2.0, and Legacy Kernel Caller, verified admin exit status instead of failing silently, and wired config.web_server_port cleanly across GUI, headless daemon, and CLI commands (status / service status).

🔧 v1.2.3 Fixes & Accuracy Improvements

  • Physical-Disk-Bounded I/O Attribution (Fixes Permanent Hold on Windows Browsers/IDEs): Bounded Cond 5 per-process attribution (GetProcessIoCounters, which includes named pipes and Chromium/Electron Mojo IPC) by actual physical SSD throughput (IOCTL_DISK_PERFORMANCE), and excluded browser/WebView/crashpad helpers from Cond 5 work attribution so idle browser IPC no longer latches Cond 9 (Busy 15/15) at ~10+ MB/s.
  • Accurate Blocker Attribution & Live I/O Diagnostics: Updated Cond 5 and blocker banners to display <proc> <proc_rate> (Disk <effective_total>) cleanly, and added a collapsible Debug: Physical Disk vs Process I/O (Top 5) view plus /api/status top_io_debug.
  • Fixed Adaptive Suggestion Banner Slot Shift (GPU 13302%): Replaced the unnamed (f32, f32, f32) tuple with a named SuggestedThresholds struct (pc_cpu_pct, disk_kbps, net_kbps), so disk baseline suggestions no longer overwrite gpu_threshold_pct.
  • Preset & Stage 1 Display-Off Sync + Native Win32 Monitor Off: Synced top-bar ⏱ 15s Test, Quick Presets, and PowerMode buttons with monitor_timeout_mins, active_mode, apply_monitor_timeout, and live countdown; added live Display-off: Xs / Ys progress and !is_meeting_live guard; replaced PowerShell/Add-Type subprocess with native Win32 SendMessageTimeoutW(..., SC_MONITORPOWER, 2, SMTO_ABORTIFHUNG).

🧠 Intent-Aware Sleep Engine & Signal Conditioning (v1.2.x)

  • Signal-Conditioning Layer: Every analog metric (Agent CPU, Downloads, PC CPU, Attributed Disk, Default-Route Network, GPU) passes through a rolling-window duty-cycle filter with hysteresis (Pending -> Busy -> Quiet). Single 1-second spikes and Pending windows never reset the countdown or kill Stage 1 display-off.
  • Explicit Intent Classification: Unified top-level intent hierarchy (BestPerformance -> GuardOff -> ExplicitHold -> MeetingLive -> PassiveMedia -> ActiveWork -> HumanActive -> IdleReady) controlling Stage 1 display-off and Stage 2 sleep independently.
  • 3 Top-Level Operational Modes & Dedicated OS Wake Lock: Switch between Smart Guard (watchdog actively manages display-off & sleep), Guard Off (watchdog pauses so normal OS power settings apply), and Best Performance (explicitly disables sleep & display-off via a dedicated OS wake-lock thread using SetThreadExecutionState / systemd-inhibit / caffeinate, with optional 1h / 2h / ∞ timers).
  • Live Blocker Transparency & Built-in (i) Guide: Every active blocker shows #, condition, offending owner/process, live value, hold duration, and inline + Ignore across desktop GUI, tray tooltip, and web dashboard.
  • Adaptive GPU Baseline + Multi-Adapter NVML Power Draw: Learns your idle desktop compositor floor (floor + margin), polls all NVML devices including board power draw, never triggers on VRAM allocation alone, and surfaces a Probe Unavailable badge when NVML is absent.
  • Per-Process Disk Attribution & Default-Route NIC Filtering: Subtracts background noise (MsMpEng, SearchIndexer, TiWorker, cloud sync clients) and reports the exact culprit (cargo.exe 14.2 MB/s); filters network traffic to default-route interfaces (0.0.0.0/0, ::/0) ignoring loopback, WSL vEthernet, Hyper-V, and Docker virtual adapters; subtracts self-CPU overhead.
  • Process-Tree Agent CPU Attribution: Separates idle IDE shells (code.exe, cursor.exe) from active compiler/agent worker child processes.
  • Passive Media Detection & Monitor Audio Protection: CoreAudio render sessions + WinRT SMTC (GlobalSystemMediaTransportControls) detect playback and raise a non-focus-stealing topmost prompt (Keep Awake / Sleep Now / Hide) bound strictly to session identity (app + session) rather than track title, clearing automatically after pause grace (default 60s). Stage 1 display-off stays allowed for audio-only playback unless audio plays through monitor/HDMI speakers (DigitalAudioDisplayDevice).
  • Mic/Cam Signal Presence & App Categories: Measures real CoreAudio capture peak energy (Dead / Ambient / Active) alongside ConsentStore/webcam checks — strict protection for calls (Zoom, Teams, Meet, Discord) even when muted, while creative tools (Premiere, Resolve, Audacity, OBS) block only on active acoustic/camera capture.
  • Cond 9 Power Requests Visibility & Safe Degradation: Surfaces active powercfg /requests lock owners with 1-tap ignore, suppresses stale silent browser DISPLAY locks (>60s paused), and clearly displays Probe Unavailable under standard-user (AsInvoker) execution rather than failing silently.
  • Zombie Agent Lease Watchdog & Wake Classification: Detects PID-bound leases stuck at ~0% subtree CPU & disk (lease_idle_mins), alerts before optional expiry, registers PowerRegisterSuspendResumeNotification (GUI & headless daemon) to classify user wakes vs unattended wakes (120s fast return timer) without disabling wake events, and suggests adaptive idle baseline floors.
  • Packaging & Release Fixes: Fixed GitHub Actions secrets conditional syntax blocking release publishing, resolved sysinfo interface name &OsString handling, updated QR encoder corner separators and security audit fixes, and eliminated cross-platform compiler warnings.

🚀 Prev...

Read more

Agent Power Guard v1.2.5

Choose a tag to compare

@github-actions github-actions released this 12 Nov 11:08

🛡️⚡ Agent Power Guard v1.2.5 Release

A lightweight, 100% native desktop utility written in Rust (egui + glow) that puts your workstation to sleep only when you AND your AI coding agents are truly idle.


🌟 What's New & Fixed in v1.2.5 (Full Upgrade Since v1.0.3)

🎨 v1.2.5 UI Overhaul, System Clipboard & Polish

  • Zero Missing-Glyph Boxes (Custom Vector Icons): Replaced all missing-glyph Unicode emojis across every tab, top-bar action, modal, tray menu, and card header with crisp anti-aliased vector icons (UiIcon) and theme-aware Dark/Light cards (app_card_frame).
  • Reliable System Clipboard Copy & Paste: Fixed eframe clipboard copy/paste (Copy Prompt, Paste Clipboard, Copy JSON/CSV, Copy Path/Token/Link/MAC) by pairing egui clipboard with UTF-8 native OS clipboard integration (Set-Clipboard/Get-Clipboard on Windows, pbcopy/pbpaste on macOS, xclip/wl-copy on Linux).
  • Clean 4-Step Watt Calculator Wizard & Clipped-UI Fixes: Rebuilt the Watt Calculator & AI Estimator into a 4-step readable wizard (Step 1: Fetch System Specs, Step 2: Missing Details, Watt Distribution & Electricity Price, Step 3: Generate & Copy AI Prompt, Step 4: Paste AI Response & Calculate All Savings); fixed negative zero (-0.00) KPI display, wrapped Energy filter/delete buttons cleanly so nothing clips off-screen, and added vertical scrolling across Alerts & Updates and Remote tabs.

⚡ v1.2.4 Features & Bug Fixes

  • In-Panel Auto-Updater (GitHub Public Releases API): Queries /releases to list all published versions with [LATEST] and [INSTALLED] badges, downloads matching platform binaries/installers in the background via Update Now, prompts to Install & Restart Now, and swaps portable .exe/tarballs or launches .msi cleanly in place (plus a Built-in Uninstall Software option).
  • Custom Watt Calculator & AI Spec Prompt Estimator: Auto-fetches CPU, RAM, GPU/VRAM, storage, and monitors in the background; adds manual inputs for SMPS/PSU wattage & efficiency, monitor counts, peripherals, and daily hours; computes component-level wall wattage + Daily/Monthly/Yearly savings projections; and generates a copy-ready AI prompt whose JSON reply can be pasted straight back into the app with zero API key needed.
  • 26 Major Currencies (incl. INR ₹) + Custom Currency & High Tariff Range: Replaced hardcoded $ in the Energy History table, raised electricity rate range from 2.0 to 50,000 (fixing ₹9/kWh+ entry), added a 26-currency selector + custom symbol input, and exposed Sleep Power (W) right alongside Active & Monitor watts.
  • Fixed Sleep Savings Duration Logger: Measures true wall-clock sleep duration (before_sleep -> after_sleep) instead of idle_threshold_secs (3 min vs 8 hours overnight).
  • Fixed powercfg Audio Overrides & Port Config Consistency: Added VB-Audio Virtual Cable (ROOT\MEDIA\0001), FxSound Audio Enhancer (ROOT\MEDIA\0000), USB Audio 2.0, and Legacy Kernel Caller, verified admin exit status instead of failing silently, and wired config.web_server_port cleanly across GUI, headless daemon, and CLI commands (status / service status).

🔧 v1.2.3 Fixes & Accuracy Improvements

  • Physical-Disk-Bounded I/O Attribution (Fixes Permanent Hold on Windows Browsers/IDEs): Bounded Cond 5 per-process attribution (GetProcessIoCounters, which includes named pipes and Chromium/Electron Mojo IPC) by actual physical SSD throughput (IOCTL_DISK_PERFORMANCE), and excluded browser/WebView/crashpad helpers from Cond 5 work attribution so idle browser IPC no longer latches Cond 9 (Busy 15/15) at ~10+ MB/s.
  • Accurate Blocker Attribution & Live I/O Diagnostics: Updated Cond 5 and blocker banners to display <proc> <proc_rate> (Disk <effective_total>) cleanly, and added a collapsible Debug: Physical Disk vs Process I/O (Top 5) view plus /api/status top_io_debug.
  • Fixed Adaptive Suggestion Banner Slot Shift (GPU 13302%): Replaced the unnamed (f32, f32, f32) tuple with a named SuggestedThresholds struct (pc_cpu_pct, disk_kbps, net_kbps), so disk baseline suggestions no longer overwrite gpu_threshold_pct.
  • Preset & Stage 1 Display-Off Sync + Native Win32 Monitor Off: Synced top-bar ⏱ 15s Test, Quick Presets, and PowerMode buttons with monitor_timeout_mins, active_mode, apply_monitor_timeout, and live countdown; added live Display-off: Xs / Ys progress and !is_meeting_live guard; replaced PowerShell/Add-Type subprocess with native Win32 SendMessageTimeoutW(..., SC_MONITORPOWER, 2, SMTO_ABORTIFHUNG).

🧠 Intent-Aware Sleep Engine & Signal Conditioning (v1.2.x)

  • Signal-Conditioning Layer: Every analog metric (Agent CPU, Downloads, PC CPU, Attributed Disk, Default-Route Network, GPU) passes through a rolling-window duty-cycle filter with hysteresis (Pending -> Busy -> Quiet). Single 1-second spikes and Pending windows never reset the countdown or kill Stage 1 display-off.
  • Explicit Intent Classification: Unified top-level intent hierarchy (BestPerformance -> GuardOff -> ExplicitHold -> MeetingLive -> PassiveMedia -> ActiveWork -> HumanActive -> IdleReady) controlling Stage 1 display-off and Stage 2 sleep independently.
  • 3 Top-Level Operational Modes & Dedicated OS Wake Lock: Switch between Smart Guard (watchdog actively manages display-off & sleep), Guard Off (watchdog pauses so normal OS power settings apply), and Best Performance (explicitly disables sleep & display-off via a dedicated OS wake-lock thread using SetThreadExecutionState / systemd-inhibit / caffeinate, with optional 1h / 2h / ∞ timers).
  • Live Blocker Transparency & Built-in (i) Guide: Every active blocker shows #, condition, offending owner/process, live value, hold duration, and inline + Ignore across desktop GUI, tray tooltip, and web dashboard.
  • Adaptive GPU Baseline + Multi-Adapter NVML Power Draw: Learns your idle desktop compositor floor (floor + margin), polls all NVML devices including board power draw, never triggers on VRAM allocation alone, and surfaces a Probe Unavailable badge when NVML is absent.
  • Per-Process Disk Attribution & Default-Route NIC Filtering: Subtracts background noise (MsMpEng, SearchIndexer, TiWorker, cloud sync clients) and reports the exact culprit (cargo.exe 14.2 MB/s); filters network traffic to default-route interfaces (0.0.0.0/0, ::/0) ignoring loopback, WSL vEthernet, Hyper-V, and Docker virtual adapters; subtracts self-CPU overhead.
  • Process-Tree Agent CPU Attribution: Separates idle IDE shells (code.exe, cursor.exe) from active compiler/agent worker child processes.
  • Passive Media Detection & Monitor Audio Protection: CoreAudio render sessions + WinRT SMTC (GlobalSystemMediaTransportControls) detect playback and raise a non-focus-stealing topmost prompt (Keep Awake / Sleep Now / Hide) bound strictly to session identity (app + session) rather than track title, clearing automatically after pause grace (default 60s). Stage 1 display-off stays allowed for audio-only playback unless audio plays through monitor/HDMI speakers (DigitalAudioDisplayDevice).
  • Mic/Cam Signal Presence & App Categories: Measures real CoreAudio capture peak energy (Dead / Ambient / Active) alongside ConsentStore/webcam checks — strict protection for calls (Zoom, Teams, Meet, Discord) even when muted, while creative tools (Premiere, Resolve, Audacity, OBS) block only on active acoustic/camera capture.
  • Cond 9 Power Requests Visibility & Safe Degradation: Surfaces active powercfg /requests lock owners with 1-tap ignore, suppresses stale silent browser DISPLAY locks (>60s paused), and clearly displays Probe Unavailable under standard-user (AsInvoker) execution rather than failing silently.
  • Zombie Agent Lease Watchdog & Wake Classification: Detects PID-bound leases stuck at ~0% subtree CPU & disk (lease_idle_mins), alerts before optional expiry, registers PowerRegisterSuspendResumeNotification (GUI & headless daemon) to classify user wakes vs unattended wakes (120s fast return timer) without disabling wake events, and suggests adaptive idle baseline floors.
  • Packaging & Release Fixes: Fixed GitHub Actions secrets conditional syntax blocking release publishing, resolved sysinfo interface name &OsString handling, updated QR encoder corner separators and security audit fixes, and eliminated cross-platform compiler warnings.

🚀 Previous Upgrades Now Included in This Release (v1.1.0 Milestones)

  • 🔒 Secure Local API & Pure Evaluator: 256-bit API token auth (0600 on Unix, %APPDATA% on Windows), constant-time verification, 10-fail/min IP rate limiting, DNS-rebinding protection + CORS support for fleet polling, and AsInvoker manifest so CLI commands run without UAC prompts.
  • 🤖 AI Coding Agent Integration: agent-power-guard run [--max-mins N] -- <cmd> PID-bound wrapper, built-in mcp stdio server for Claude Code / Cursor / Antigravity, and 8 agent profiles.
  • 📊 Block History, Notifications & Update Check: Local JSONL timeline answering "what kept my PC awake?" with CSV/JSON export, ntfy / Telegram / webhook alerts, and opt-in daily GitHub Releases check.
  • ⏱️ Power Modes, Quiet Hours, Battery Profiles & Wake Timers: Balanced / Work / Night / Away presets, quiet-hours downshift, "Sleep After Lease Ends", OS RTC wake timers (rtcwake, Task Scheduler, pmset), laptop AC vs battery thresholds + low-battery emergency suspend, and carbon grid / currency accounting.
  • 📱 Mobile PWA Dashboard, Fleet View & Wake-on-LAN: QR code pairing, live SVG sparklines, 1-tap + Ignore, multi-machine Fleet View tab, agent-power-guard daemon headless mode, agent-power-guard relay Wake-on-LAN server, and native .deb, universal macOS .app, and Windows MSI installers.

📦 ...

Read more

Agent Power Guard v1.2.4

Choose a tag to compare

@github-actions github-actions released this 12 Nov 10:42

🛡️⚡ Agent Power Guard v1.2.4 Release

A lightweight, 100% native desktop utility written in Rust (egui + glow) that puts your workstation to sleep only when you AND your AI coding agents are truly idle.


🌟 What's New & Fixed in v1.2.4 (Full Upgrade Since v1.0.3)

⚡ v1.2.4 New Features & Bug Fixes

  • In-Panel Auto-Updater (GitHub Public Releases API): Queries /releases to list all published versions with [LATEST] and [INSTALLED] badges, downloads matching platform binaries/installers in the background via Update Now, prompts to Install & Restart Now, and swaps portable .exe/tarballs or launches .msi cleanly in place (plus a Built-in Uninstall Software option).
  • Custom Watt Calculator & AI Spec Prompt Estimator: Auto-fetches CPU, RAM, GPU/VRAM, storage, and monitors in the background; adds manual inputs for SMPS/PSU wattage & efficiency, monitor counts, peripherals, and daily hours; computes component-level wall wattage + Daily/Monthly/Yearly savings projections; and generates a copy-ready AI prompt whose JSON reply can be pasted straight back into the app with zero API key needed.
  • 26 Major Currencies (incl. INR ₹) + Custom Currency & High Tariff Range: Replaced hardcoded $ in the Energy History table, raised electricity rate range from 2.0 to 50,000 (fixing ₹9/kWh+ entry), added a 26-currency selector + custom symbol input, and exposed Sleep Power (W) right alongside Active & Monitor watts.
  • Fixed Sleep Savings Duration Logger: Measures true wall-clock sleep duration (before_sleep -> after_sleep) instead of idle_threshold_secs (3 min vs 8 hours overnight).
  • Fixed powercfg Audio Overrides & Port Config Consistency: Added VB-Audio Virtual Cable (ROOT\MEDIA\0001), FxSound Audio Enhancer (ROOT\MEDIA\0000), USB Audio 2.0, and Legacy Kernel Caller, verified admin exit status instead of failing silently, and wired config.web_server_port cleanly across GUI, headless daemon, and CLI commands (status / service status).

🔧 v1.2.3 Fixes & Accuracy Improvements

  • Physical-Disk-Bounded I/O Attribution (Fixes Permanent Hold on Windows Browsers/IDEs): Bounded Cond 5 per-process attribution (GetProcessIoCounters, which includes named pipes and Chromium/Electron Mojo IPC) by actual physical SSD throughput (IOCTL_DISK_PERFORMANCE), and excluded browser/WebView/crashpad helpers from Cond 5 work attribution so idle browser IPC no longer latches Cond 9 (Busy 15/15) at ~10+ MB/s.
  • Accurate Blocker Attribution & Live I/O Diagnostics: Updated Cond 5 and blocker banners to display <proc> <proc_rate> (Disk <effective_total>) cleanly, and added a collapsible Debug: Physical Disk vs Process I/O (Top 5) view plus /api/status top_io_debug.
  • Fixed Adaptive Suggestion Banner Slot Shift (GPU 13302%): Replaced the unnamed (f32, f32, f32) tuple with a named SuggestedThresholds struct (pc_cpu_pct, disk_kbps, net_kbps), so disk baseline suggestions no longer overwrite gpu_threshold_pct.
  • Preset & Stage 1 Display-Off Sync + Native Win32 Monitor Off: Synced top-bar ⏱ 15s Test, Quick Presets, and PowerMode buttons with monitor_timeout_mins, active_mode, apply_monitor_timeout, and live countdown; added live Display-off: Xs / Ys progress and !is_meeting_live guard; replaced PowerShell/Add-Type subprocess with native Win32 SendMessageTimeoutW(..., SC_MONITORPOWER, 2, SMTO_ABORTIFHUNG).

🧠 Intent-Aware Sleep Engine & Signal Conditioning (v1.2.x)

  • Signal-Conditioning Layer: Every analog metric (Agent CPU, Downloads, PC CPU, Attributed Disk, Default-Route Network, GPU) passes through a rolling-window duty-cycle filter with hysteresis (Pending -> Busy -> Quiet). Single 1-second spikes and Pending windows never reset the countdown or kill Stage 1 display-off.
  • Explicit Intent Classification: Unified top-level intent hierarchy (BestPerformance -> GuardOff -> ExplicitHold -> MeetingLive -> PassiveMedia -> ActiveWork -> HumanActive -> IdleReady) controlling Stage 1 display-off and Stage 2 sleep independently.
  • 3 Top-Level Operational Modes & Dedicated OS Wake Lock: Switch between Smart Guard (watchdog actively manages display-off & sleep), Guard Off (watchdog pauses so normal OS power settings apply), and Best Performance (explicitly disables sleep & display-off via a dedicated OS wake-lock thread using SetThreadExecutionState / systemd-inhibit / caffeinate, with optional 1h / 2h / ∞ timers).
  • Live Blocker Transparency & Built-in (i) Guide: Every active blocker shows #, condition, offending owner/process, live value, hold duration, and inline + Ignore across desktop GUI, tray tooltip, and web dashboard.
  • Adaptive GPU Baseline + Multi-Adapter NVML Power Draw: Learns your idle desktop compositor floor (floor + margin), polls all NVML devices including board power draw, never triggers on VRAM allocation alone, and surfaces a Probe Unavailable badge when NVML is absent.
  • Per-Process Disk Attribution & Default-Route NIC Filtering: Subtracts background noise (MsMpEng, SearchIndexer, TiWorker, cloud sync clients) and reports the exact culprit (cargo.exe 14.2 MB/s); filters network traffic to default-route interfaces (0.0.0.0/0, ::/0) ignoring loopback, WSL vEthernet, Hyper-V, and Docker virtual adapters; subtracts self-CPU overhead.
  • Process-Tree Agent CPU Attribution: Separates idle IDE shells (code.exe, cursor.exe) from active compiler/agent worker child processes.
  • Passive Media Detection & Monitor Audio Protection: CoreAudio render sessions + WinRT SMTC (GlobalSystemMediaTransportControls) detect playback and raise a non-focus-stealing topmost prompt (Keep Awake / Sleep Now / Hide) bound strictly to session identity (app + session) rather than track title, clearing automatically after pause grace (default 60s). Stage 1 display-off stays allowed for audio-only playback unless audio plays through monitor/HDMI speakers (DigitalAudioDisplayDevice).
  • Mic/Cam Signal Presence & App Categories: Measures real CoreAudio capture peak energy (Dead / Ambient / Active) alongside ConsentStore/webcam checks — strict protection for calls (Zoom, Teams, Meet, Discord) even when muted, while creative tools (Premiere, Resolve, Audacity, OBS) block only on active acoustic/camera capture.
  • Cond 9 Power Requests Visibility & Safe Degradation: Surfaces active powercfg /requests lock owners with 1-tap ignore, suppresses stale silent browser DISPLAY locks (>60s paused), and clearly displays Probe Unavailable under standard-user (AsInvoker) execution rather than failing silently.
  • Zombie Agent Lease Watchdog & Wake Classification: Detects PID-bound leases stuck at ~0% subtree CPU & disk (lease_idle_mins), alerts before optional expiry, registers PowerRegisterSuspendResumeNotification (GUI & headless daemon) to classify user wakes vs unattended wakes (120s fast return timer) without disabling wake events, and suggests adaptive idle baseline floors.
  • Packaging & Release Fixes: Fixed GitHub Actions secrets conditional syntax blocking release publishing, resolved sysinfo interface name &OsString handling, updated QR encoder corner separators and security audit fixes, and eliminated cross-platform compiler warnings.

🚀 Previous Upgrades Now Included in This Release (v1.1.0 Milestones)

  • 🔒 Secure Local API & Pure Evaluator: 256-bit API token auth (0600 on Unix, %APPDATA% on Windows), constant-time verification, 10-fail/min IP rate limiting, DNS-rebinding protection + CORS support for fleet polling, and AsInvoker manifest so CLI commands run without UAC prompts.
  • 🤖 AI Coding Agent Integration: agent-power-guard run [--max-mins N] -- <cmd> PID-bound wrapper, built-in mcp stdio server for Claude Code / Cursor / Antigravity, and 8 agent profiles.
  • 📊 Block History, Notifications & Update Check: Local JSONL timeline answering "what kept my PC awake?" with CSV/JSON export, ntfy / Telegram / webhook alerts, and opt-in daily GitHub Releases check.
  • ⏱️ Power Modes, Quiet Hours, Battery Profiles & Wake Timers: Balanced / Work / Night / Away presets, quiet-hours downshift, "Sleep After Lease Ends", OS RTC wake timers (rtcwake, Task Scheduler, pmset), laptop AC vs battery thresholds + low-battery emergency suspend, and carbon grid / currency accounting.
  • 📱 Mobile PWA Dashboard, Fleet View & Wake-on-LAN: QR code pairing, live SVG sparklines, 1-tap + Ignore, multi-machine Fleet View tab, agent-power-guard daemon headless mode, agent-power-guard relay Wake-on-LAN server, and native .deb, universal macOS .app, and Windows MSI installers.

📦 Download & Installation Guide

Platform / Architecture Download Asset Description & Format
Windows 10 / 11 (Installer) AgentPowerGuard-windows-x64.msi Recommended for Windows. Start Menu, desktop shortcuts, Add/Remove Programs.
Windows 10 / 11 (Portable) agent-power-guard-windows-x64.exe Portable single-file binary. Runs as standard user (AsInvoker) without UAC prompts.
Debian / Ubuntu Linux agent-power-guard_1.2.4_amd64.deb Native .deb package with desktop integration and systemd user unit.
Linux (Generic tarball) agent-power-guard-linux-x86_64.tar.gz Standalone Linux x86_64 binary supporting X11 & Wayland.
macOS (Universal Bundle) AgentPowerGuard-macos-universal.zip Universal .app bundle for both Apple Silicon (M1–M4) and Intel Macs.
macOS (Apple Silicon) agent-power-guard-macos-aarch64.tar.gz Raw standalone ARM64 binary.
macOS (Intel Core x86_64) agent-power-guard-macos-x86_64.tar.gz Raw standalone x86_64 binary.

🚀 Quick Start & Installation

Windows

  • Installer: Doub...
Read more

Agent Power Guard v1.2.3

Choose a tag to compare

@github-actions github-actions released this 12 Nov 08:17

🛡️⚡ Agent Power Guard v1.2.3 Release

A lightweight, 100% native desktop utility written in Rust (egui + glow) that puts your workstation to sleep only when you AND your AI coding agents are truly idle.


🌟 What's New & Fixed in v1.2.3 (Full Upgrade Since v1.0.3)

🔧 v1.2.3 Fixes & Accuracy Improvements

  • Physical-Disk-Bounded I/O Attribution (Fixes Permanent Hold on Windows Browsers/IDEs): Bounded Cond 5 per-process attribution (GetProcessIoCounters, which includes named pipes and Chromium/Electron Mojo IPC) by actual physical SSD throughput (IOCTL_DISK_PERFORMANCE), and excluded browser/WebView/crashpad helpers from Cond 5 work attribution so idle browser IPC no longer latches Cond 9 (Busy 15/15) at ~10+ MB/s.
  • Accurate Blocker Attribution & Live I/O Diagnostics: Updated Cond 5 and blocker banners to display <proc> <proc_rate> (Disk <effective_total>) cleanly, and added a collapsible Debug: Physical Disk vs Process I/O (Top 5) view plus /api/status top_io_debug.
  • Fixed Adaptive Suggestion Banner Slot Shift (GPU 13302%): Replaced the unnamed (f32, f32, f32) tuple with a named SuggestedThresholds struct (pc_cpu_pct, disk_kbps, net_kbps), so disk baseline suggestions no longer overwrite gpu_threshold_pct.
  • Preset & Stage 1 Display-Off Sync + Native Win32 Monitor Off: Synced top-bar ⏱ 15s Test, Quick Presets, and PowerMode buttons with monitor_timeout_mins, active_mode, apply_monitor_timeout, and live countdown; added live Display-off: Xs / Ys progress and !is_meeting_live guard; replaced PowerShell/Add-Type subprocess with native Win32 SendMessageTimeoutW(..., SC_MONITORPOWER, 2, SMTO_ABORTIFHUNG).

🧠 Intent-Aware Sleep Engine & Signal Conditioning (v1.2.x)

  • Signal-Conditioning Layer: Every analog metric (Agent CPU, Downloads, PC CPU, Attributed Disk, Default-Route Network, GPU) passes through a rolling-window duty-cycle filter with hysteresis (Pending -> Busy -> Quiet). Single 1-second spikes and Pending windows never reset the countdown or kill Stage 1 display-off.
  • Explicit Intent Classification: Unified top-level intent hierarchy (BestPerformance -> GuardOff -> ExplicitHold -> MeetingLive -> PassiveMedia -> ActiveWork -> HumanActive -> IdleReady) controlling Stage 1 display-off and Stage 2 sleep independently.
  • 3 Top-Level Operational Modes & Dedicated OS Wake Lock: Switch between Smart Guard (watchdog actively manages display-off & sleep), Guard Off (watchdog pauses so normal OS power settings apply), and Best Performance (explicitly disables sleep & display-off via a dedicated OS wake-lock thread using SetThreadExecutionState / systemd-inhibit / caffeinate, with optional 1h / 2h / ∞ timers).
  • Live Blocker Transparency & Built-in (i) Guide: Every active blocker shows #, condition, offending owner/process, live value, hold duration, and inline + Ignore across desktop GUI, tray tooltip, and web dashboard.
  • Adaptive GPU Baseline + Multi-Adapter NVML Power Draw: Learns your idle desktop compositor floor (floor + margin), polls all NVML devices including board power draw, never triggers on VRAM allocation alone, and surfaces a Probe Unavailable badge when NVML is absent.
  • Per-Process Disk Attribution & Default-Route NIC Filtering: Subtracts background noise (MsMpEng, SearchIndexer, TiWorker, cloud sync clients) and reports the exact culprit (cargo.exe 14.2 MB/s); filters network traffic to default-route interfaces (0.0.0.0/0, ::/0) ignoring loopback, WSL vEthernet, Hyper-V, and Docker virtual adapters; subtracts self-CPU overhead.
  • Process-Tree Agent CPU Attribution: Separates idle IDE shells (code.exe, cursor.exe) from active compiler/agent worker child processes.
  • Passive Media Detection & Monitor Audio Protection: CoreAudio render sessions + WinRT SMTC (GlobalSystemMediaTransportControls) detect playback and raise a non-focus-stealing topmost prompt (Keep Awake / Sleep Now / Hide) bound strictly to session identity (app + session) rather than track title, clearing automatically after pause grace (default 60s). Stage 1 display-off stays allowed for audio-only playback unless audio plays through monitor/HDMI speakers (DigitalAudioDisplayDevice).
  • Mic/Cam Signal Presence & App Categories: Measures real CoreAudio capture peak energy (Dead / Ambient / Active) alongside ConsentStore/webcam checks — strict protection for calls (Zoom, Teams, Meet, Discord) even when muted, while creative tools (Premiere, Resolve, Audacity, OBS) block only on active acoustic/camera capture.
  • Cond 9 Power Requests Visibility & Safe Degradation: Surfaces active powercfg /requests lock owners with 1-tap ignore, suppresses stale silent browser DISPLAY locks (>60s paused), and clearly displays Probe Unavailable under standard-user (AsInvoker) execution rather than failing silently.
  • Zombie Agent Lease Watchdog & Wake Classification: Detects PID-bound leases stuck at ~0% subtree CPU & disk (lease_idle_mins), alerts before optional expiry, registers PowerRegisterSuspendResumeNotification (GUI & headless daemon) to classify user wakes vs unattended wakes (120s fast return timer) without disabling wake events, and suggests adaptive idle baseline floors.
  • Packaging & Release Fixes: Fixed GitHub Actions secrets conditional syntax blocking release publishing, resolved sysinfo interface name &OsString handling, updated QR encoder corner separators and security audit fixes, and eliminated cross-platform compiler warnings.

🚀 Previous Upgrades Now Included in This Release (v1.1.0 Milestones)

  • 🔒 Secure Local API & Pure Evaluator: 256-bit API token auth (0600 on Unix, %APPDATA% on Windows), constant-time verification, 10-fail/min IP rate limiting, DNS-rebinding protection + CORS support for fleet polling, and AsInvoker manifest so CLI commands run without UAC prompts.
  • 🤖 AI Coding Agent Integration: agent-power-guard run [--max-mins N] -- <cmd> PID-bound wrapper, built-in mcp stdio server for Claude Code / Cursor / Antigravity, and 8 agent profiles.
  • 📊 Block History, Notifications & Update Check: Local JSONL timeline answering "what kept my PC awake?" with CSV/JSON export, ntfy / Telegram / webhook alerts, and opt-in daily GitHub Releases check.
  • ⏱️ Power Modes, Quiet Hours, Battery Profiles & Wake Timers: Balanced / Work / Night / Away presets, quiet-hours downshift, "Sleep After Lease Ends", OS RTC wake timers (rtcwake, Task Scheduler, pmset), laptop AC vs battery thresholds + low-battery emergency suspend, and carbon grid / currency accounting.
  • 📱 Mobile PWA Dashboard, Fleet View & Wake-on-LAN: QR code pairing, live SVG sparklines, 1-tap + Ignore, multi-machine Fleet View tab, agent-power-guard daemon headless mode, agent-power-guard relay Wake-on-LAN server, and native .deb, universal macOS .app, and Windows MSI installers.

📦 Download & Installation Guide

Platform / Architecture Download Asset Description & Format
Windows 10 / 11 (Installer) AgentPowerGuard-windows-x64.msi Recommended for Windows. Start Menu, desktop shortcuts, Add/Remove Programs.
Windows 10 / 11 (Portable) agent-power-guard-windows-x64.exe Portable single-file binary. Runs as standard user (AsInvoker) without UAC prompts.
Debian / Ubuntu Linux agent-power-guard_1.2.3_amd64.deb Native .deb package with desktop integration and systemd user unit.
Linux (Generic tarball) agent-power-guard-linux-x86_64.tar.gz Standalone Linux x86_64 binary supporting X11 & Wayland.
macOS (Universal Bundle) AgentPowerGuard-macos-universal.zip Universal .app bundle for both Apple Silicon (M1–M4) and Intel Macs.
macOS (Apple Silicon) agent-power-guard-macos-aarch64.tar.gz Raw standalone ARM64 binary.
macOS (Intel Core x86_64) agent-power-guard-macos-x86_64.tar.gz Raw standalone x86_64 binary.

🚀 Quick Start & Installation

Windows

  • Installer: Double-click AgentPowerGuard-windows-x64.msi to install, or run silently with:
    msiexec /i AgentPowerGuard-windows-x64.msi /qn
  • Portable: Download agent-power-guard-windows-x64.exe and double-click to launch.

Linux

sudo apt update
sudo apt install -y pkg-config libx11-dev libxext-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libgl1-mesa-dev libglu1-mesa-dev libxss-dev libxkbcommon-dev libwayland-dev xprintidle libgtk-3-dev libayatana-appindicator3-dev
tar -xzvf agent-power-guard-linux-x86_64.tar.gz
cd agent-power-guard
./agent-power-guard

macOS

tar -xzvf agent-power-guard-macos-aarch64.tar.gz
./agent-power-guard

💡 Staged Power-Saving Strategy

  1. Stage 1 (Monitor Off): Turns off your display first (saves 50–100W immediately and protects screen/OLED) while leaving CPU/GPU active so background agents continue working.
  2. Stage 2 (Sleep Mode): Once the monitor is off and all 11 conditions pass, the entire workstation enters deep sleep (< 1W draw).

⏱️ Quick Presets Included

  • 15s Test: Instant hands-off countdown test.
  • 3m ★: Default balanced setting (Display off at 2m -> Sleep at 3m).
  • 5m, 10m, 15m, 30m, 45m, 1h, 2h, 3h preset buttons.
  • Custom sliders adjustable from 10s up to 3 hours.

Agent Power Guard v1.2.2

Choose a tag to compare

@github-actions github-actions released this 11 Nov 21:28

🛡️⚡ Agent Power Guard v1.2.2 Release

A lightweight, 100% native desktop utility written in Rust (egui + glow) that puts your workstation to sleep only when you AND your AI coding agents are truly idle.


🌟 What's New & Fixed in v1.2.2 (Full Upgrade Since v1.0.3)

🧠 Intent-Aware Sleep Engine & Signal Conditioning (v1.2.x)

  • Signal-Conditioning Layer: Every analog metric (Agent CPU, Downloads, PC CPU, Attributed Disk, Default-Route Network, GPU) passes through a rolling-window duty-cycle filter with hysteresis (Pending -> Busy -> Quiet). Single 1-second spikes and Pending windows never reset the countdown or kill Stage 1 display-off.
  • Explicit Intent Classification: Unified top-level intent hierarchy (BestPerformance -> GuardOff -> ExplicitHold -> MeetingLive -> PassiveMedia -> ActiveWork -> HumanActive -> IdleReady) controlling Stage 1 display-off and Stage 2 sleep independently.
  • 3 Top-Level Operational Modes & Dedicated OS Wake Lock: Switch between Smart Guard (watchdog actively manages display-off & sleep), Guard Off (watchdog pauses so normal OS power settings apply), and Best Performance (explicitly disables sleep & display-off via a dedicated OS wake-lock thread using SetThreadExecutionState / systemd-inhibit / caffeinate, with optional 1h / 2h / ∞ timers).
  • Live Blocker Transparency & Built-in (i) Guide: Every active blocker shows #, condition, offending owner/process, live value, hold duration, and inline + Ignore across desktop GUI, tray tooltip, and web dashboard.
  • Adaptive GPU Baseline + Multi-Adapter NVML Power Draw: Learns your idle desktop compositor floor (floor + margin), polls all NVML devices including board power draw, never triggers on VRAM allocation alone, and surfaces a Probe Unavailable badge when NVML is absent.
  • Per-Process Disk Attribution & Default-Route NIC Filtering: Subtracts background noise (MsMpEng, SearchIndexer, TiWorker, cloud sync clients) and reports the exact culprit (cargo.exe 14.2 MB/s); filters network traffic to default-route interfaces (0.0.0.0/0, ::/0) ignoring loopback, WSL vEthernet, Hyper-V, and Docker virtual adapters; subtracts self-CPU overhead.
  • Process-Tree Agent CPU Attribution: Separates idle IDE shells (code.exe, cursor.exe) from active compiler/agent worker child processes.
  • Passive Media Detection & Monitor Audio Protection: CoreAudio render sessions + WinRT SMTC (GlobalSystemMediaTransportControls) detect playback and raise a non-focus-stealing topmost prompt (Keep Awake / Sleep Now / Hide) bound strictly to session identity (app + session) rather than track title, clearing automatically after pause grace (default 60s). Stage 1 display-off stays allowed for audio-only playback unless audio plays through monitor/HDMI speakers (DigitalAudioDisplayDevice).
  • Mic/Cam Signal Presence & App Categories: Measures real CoreAudio capture peak energy (Dead / Ambient / Active) alongside ConsentStore/webcam checks — strict protection for calls (Zoom, Teams, Meet, Discord) even when muted, while creative tools (Premiere, Resolve, Audacity, OBS) block only on active acoustic/camera capture.
  • Cond 9 Power Requests Visibility & Safe Degradation: Surfaces active powercfg /requests lock owners with 1-tap ignore, suppresses stale silent browser DISPLAY locks (>60s paused), and clearly displays Probe Unavailable under standard-user (AsInvoker) execution rather than failing silently.
  • Zombie Agent Lease Watchdog & Wake Classification: Detects PID-bound leases stuck at ~0% subtree CPU & disk (lease_idle_mins), alerts before optional expiry, registers PowerRegisterSuspendResumeNotification (GUI & headless daemon) to classify user wakes vs unattended wakes (120s fast return timer) without disabling wake events, and suggests adaptive idle baseline floors.
  • Packaging & Release Fixes: Fixed GitHub Actions secrets conditional syntax blocking release publishing, resolved sysinfo interface name &OsString handling, updated QR encoder corner separators and security audit fixes, and eliminated cross-platform compiler warnings.

🚀 Previous Upgrades Now Included in This Release (v1.1.0 Milestones)

  • 🔒 Secure Local API & Pure Evaluator: 256-bit API token auth (0600 on Unix, %APPDATA% on Windows), constant-time verification, 10-fail/min IP rate limiting, DNS-rebinding protection + CORS support for fleet polling, and AsInvoker manifest so CLI commands run without UAC prompts.
  • 🤖 AI Coding Agent Integration: agent-power-guard run [--max-mins N] -- <cmd> PID-bound wrapper, built-in mcp stdio server for Claude Code / Cursor / Antigravity, and 8 agent profiles.
  • 📊 Block History, Notifications & Update Check: Local JSONL timeline answering "what kept my PC awake?" with CSV/JSON export, ntfy / Telegram / webhook alerts, and opt-in daily GitHub Releases check.
  • ⏱️ Power Modes, Quiet Hours, Battery Profiles & Wake Timers: Balanced / Work / Night / Away presets, quiet-hours downshift, "Sleep After Lease Ends", OS RTC wake timers (rtcwake, Task Scheduler, pmset), laptop AC vs battery thresholds + low-battery emergency suspend, and carbon grid / currency accounting.
  • 📱 Mobile PWA Dashboard, Fleet View & Wake-on-LAN: QR code pairing, live SVG sparklines, 1-tap + Ignore, multi-machine Fleet View tab, agent-power-guard daemon headless mode, agent-power-guard relay Wake-on-LAN server, and native .deb, universal macOS .app, and Windows MSI installers.

📦 Download & Installation Guide

Platform / Architecture Download Asset Description & Format
Windows 10 / 11 (Installer) AgentPowerGuard-windows-x64.msi Recommended for Windows. Start Menu, desktop shortcuts, Add/Remove Programs.
Windows 10 / 11 (Portable) agent-power-guard-windows-x64.exe Portable single-file binary. Runs as standard user (AsInvoker) without UAC prompts.
Debian / Ubuntu Linux agent-power-guard_1.2.2_amd64.deb Native .deb package with desktop integration and systemd user unit.
Linux (Generic tarball) agent-power-guard-linux-x86_64.tar.gz Standalone Linux x86_64 binary supporting X11 & Wayland.
macOS (Universal Bundle) AgentPowerGuard-macos-universal.zip Universal .app bundle for both Apple Silicon (M1–M4) and Intel Macs.
macOS (Apple Silicon) agent-power-guard-macos-aarch64.tar.gz Raw standalone ARM64 binary.
macOS (Intel Core x86_64) agent-power-guard-macos-x86_64.tar.gz Raw standalone x86_64 binary.

🚀 Quick Start & Installation

Windows

  • Installer: Double-click AgentPowerGuard-windows-x64.msi to install, or run silently with:
    msiexec /i AgentPowerGuard-windows-x64.msi /qn
  • Portable: Download agent-power-guard-windows-x64.exe and double-click to launch.

Linux

sudo apt update
sudo apt install -y pkg-config libx11-dev libxext-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libgl1-mesa-dev libglu1-mesa-dev libxss-dev libxkbcommon-dev libwayland-dev xprintidle libgtk-3-dev libayatana-appindicator3-dev
tar -xzvf agent-power-guard-linux-x86_64.tar.gz
cd agent-power-guard
./agent-power-guard

macOS

tar -xzvf agent-power-guard-macos-aarch64.tar.gz
./agent-power-guard

💡 Staged Power-Saving Strategy

  1. Stage 1 (Monitor Off): Turns off your display first (saves 50–100W immediately and protects screen/OLED) while leaving CPU/GPU active so background agents continue working.
  2. Stage 2 (Sleep Mode): Once the monitor is off and all 11 conditions pass, the entire workstation enters deep sleep (< 1W draw).

⏱️ Quick Presets Included

  • 15s Test: Instant hands-off countdown test.
  • 3m ★: Default balanced setting (Display off at 2m -> Sleep at 3m).
  • 5m, 10m, 15m, 30m, 45m, 1h, 2h, 3h preset buttons.
  • Custom sliders adjustable from 10s up to 3 hours.

Agent Power Guard v1.0.3

Choose a tag to compare

@github-actions github-actions released this 09 Nov 16:56

🛡️⚡ Agent Power Guard v1.0.3 Release

A lightweight, 100% native desktop utility written in Rust (egui + glow) that puts your workstation to sleep only when you AND your AI coding agents are truly idle.


🌟 What's New in This Release

  • 🎮 GPU Activity Monitoring (Condition 10): Real-time GPU compute tracking (NVIDIA NVML dynamic load, Linux DRM, Apple Silicon) + 5th rolling history graph to protect active Ollama, PyTorch, and local LLM inference.
  • 🎙️ Microphone, Camera & Meeting Detection (Condition 11): Senses active calls on Zoom, Microsoft Teams, Google Meet, Discord, Slack, and OBS to prevent sleep during meetings.
  • ⏳ Pre-Sleep Grace Period Notification: Countdown banner when ≤ 30s before sleep with instant [ ⏳ Postpone (+15m) ] and [ ⚡ Sleep Immediately ] buttons.
  • 🔌 Agent Heartbeat REST API & CLI: Lightweight HTTP API on port 49281 and CLI commands (agent-power-guard lease 30 "Build", release, status, sleep, postpone) for autonomous coding agents (Cursor, Claude Code, Antigravity) to acquire sleep leases.
  • 🌐 Web & Mobile Remote Dashboard (over Wi-Fi): Control your workstation from your smartphone or tablet at http://<Local-IP>:49281 with Wake-on-LAN (WoL) primary MAC display.
  • 💰 Energy & Cost Savings Dashboard: Interactive analytics tracking sleep sessions, monitor-off time, estimated kWh saved, money saved, and CO2 emissions avoided. Includes date filters, recording toggle, and %APPDATA%\AgentPowerGuard\energy_history.json storage.
  • 📥 System Tray & Memory Trimming: Closing the window minimizes to tray while automatically trimming memory to under 5 MB RAM.

📦 Download & Extension Guide (Which file should I download?)

Platform / Architecture Recommended Download Format / Extension Description & Setup
Windows 10 / 11 (64-bit) AgentPowerGuard-windows-x64.msi .msi (Installer) Recommended for Windows. Standard installer with Start Menu, Desktop shortcuts, and full Add/Remove Programs support.
Windows 10 / 11 (Portable) agent-power-guard-windows-x64.exe .exe (Standalone) Portable single-file binary. No installation required; run directly as Administrator.
Linux (Ubuntu, Debian, Fedora, Arch) agent-power-guard-linux-x86_64.tar.gz .tar.gz (Archive) Standalone Linux x86_64 binary supporting X11 & Wayland compositors.
macOS (M1 / M2 / M3 / M4 Apple Silicon) agent-power-guard-macos-aarch64.tar.gz .tar.gz (Archive) Native ARM64 binary for modern Apple Silicon Macs.
macOS (Intel Core x86_64) agent-power-guard-macos-x86_64.tar.gz .tar.gz (Archive) Native x86_64 binary for Intel-based Macs.

🚀 Quick Start & Installation

Windows

  • Installer: Double-click AgentPowerGuard-windows-x64.msi to install, or run silently with:
    msiexec /i AgentPowerGuard-windows-x64.msi /qn
  • Portable: Download agent-power-guard-windows-x64.exe and double-click to launch.

Linux

sudo apt update
sudo apt install -y pkg-config libx11-dev libxext-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libgl1-mesa-dev libglu1-mesa-dev libxss-dev libxkbcommon-dev libwayland-dev xprintidle libgtk-3-dev libayatana-appindicator3-dev
tar -xzvf agent-power-guard-linux-x86_64.tar.gz
cd agent-power-guard
./agent-power-guard

macOS

tar -xzvf agent-power-guard-macos-aarch64.tar.gz
./agent-power-guard

💡 Staged Power-Saving Strategy

  1. Stage 1 (Monitor Off): Turns off your display first (saves 50–100W immediately and protects screen/OLED) while leaving CPU/GPU active so background agents continue working.
  2. Stage 2 (Sleep Mode): Once the monitor is off and all 11 conditions pass, the entire workstation enters deep sleep (< 1W draw).

⏱️ Quick Presets Included

  • 15s Test: Instant hands-off countdown test.
  • 3m ★: Default balanced setting (Display off at 2m -> Sleep at 3m).
  • 5m, 10m, 15m, 30m, 45m, 1h, 2h, 3h preset buttons.
  • Custom sliders adjustable from 10s up to 3 hours.

Agent Power Guard v1.0.2

Choose a tag to compare

@github-actions github-actions released this 09 Nov 14:30

🛡️⚡ Agent Power Guard v1.0.2 Release

A lightweight, 100% native desktop utility written in Rust (egui + glow) that puts your workstation to sleep only when you AND your AI coding agents are truly idle.


🌟 What's New in This Release

  • 🎮 GPU Activity Monitoring (Condition 10): Real-time GPU compute tracking (NVIDIA NVML dynamic load, Linux DRM, Apple Silicon) + 5th rolling history graph to protect active Ollama, PyTorch, and local LLM inference.
  • 🎙️ Microphone, Camera & Meeting Detection (Condition 11): Senses active calls on Zoom, Microsoft Teams, Google Meet, Discord, Slack, and OBS to prevent sleep during meetings.
  • ⏳ Pre-Sleep Grace Period Notification: Countdown banner when ≤ 30s before sleep with instant [ ⏳ Postpone (+15m) ] and [ ⚡ Sleep Immediately ] buttons.
  • 🔌 Agent Heartbeat REST API & CLI: Lightweight HTTP API on port 49281 and CLI commands (agent-power-guard lease 30 "Build", release, status, sleep, postpone) for autonomous coding agents (Cursor, Claude Code, Antigravity) to acquire sleep leases.
  • 🌐 Web & Mobile Remote Dashboard (over Wi-Fi): Control your workstation from your smartphone or tablet at http://<Local-IP>:49281 with Wake-on-LAN (WoL) primary MAC display.
  • 💰 Energy & Cost Savings Dashboard: Interactive analytics tracking sleep sessions, monitor-off time, estimated kWh saved, money saved, and CO2 emissions avoided. Includes date filters, recording toggle, and %APPDATA%\AgentPowerGuard\energy_history.json storage.
  • 📥 System Tray & Memory Trimming: Closing the window minimizes to tray while automatically trimming memory to under 5 MB RAM.

📦 Download & Extension Guide (Which file should I download?)

Platform / Architecture Recommended Download Format / Extension Description & Setup
Windows 10 / 11 (64-bit) AgentPowerGuard-windows-x64.msi .msi (Installer) Recommended for Windows. Standard installer with Start Menu, Desktop shortcuts, and full Add/Remove Programs support.
Windows 10 / 11 (Portable) agent-power-guard-windows-x64.exe .exe (Standalone) Portable single-file binary. No installation required; run directly as Administrator.
Linux (Ubuntu, Debian, Fedora, Arch) agent-power-guard-linux-x86_64.tar.gz .tar.gz (Archive) Standalone Linux x86_64 binary supporting X11 & Wayland compositors.
macOS (M1 / M2 / M3 / M4 Apple Silicon) agent-power-guard-macos-aarch64.tar.gz .tar.gz (Archive) Native ARM64 binary for modern Apple Silicon Macs.
macOS (Intel Core x86_64) agent-power-guard-macos-x86_64.tar.gz .tar.gz (Archive) Native x86_64 binary for Intel-based Macs.

🚀 Quick Start & Installation

Windows

  • Installer: Double-click AgentPowerGuard-windows-x64.msi to install, or run silently with:
    msiexec /i AgentPowerGuard-windows-x64.msi /qn
  • Portable: Download agent-power-guard-windows-x64.exe and double-click to launch.

Linux

sudo apt update
sudo apt install -y pkg-config libx11-dev libxext-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libgl1-mesa-dev libglu1-mesa-dev libxss-dev libxkbcommon-dev libwayland-dev xprintidle libgtk-3-dev libayatana-appindicator3-dev
tar -xzvf agent-power-guard-linux-x86_64.tar.gz
cd agent-power-guard
./agent-power-guard

macOS

tar -xzvf agent-power-guard-macos-aarch64.tar.gz
./agent-power-guard

💡 Staged Power-Saving Strategy

  1. Stage 1 (Monitor Off): Turns off your display first (saves 50–100W immediately and protects screen/OLED) while leaving CPU/GPU active so background agents continue working.
  2. Stage 2 (Sleep Mode): Once the monitor is off and all 11 conditions pass, the entire workstation enters deep sleep (< 1W draw).

⏱️ Quick Presets Included

  • 15s Test: Instant hands-off countdown test.
  • 3m ★: Default balanced setting (Display off at 2m -> Sleep at 3m).
  • 5m, 10m, 15m, 30m, 45m, 1h, 2h, 3h preset buttons.
  • Custom sliders adjustable from 10s up to 3 hours.