Commands & Config
Command Execution
The API sends commands to agents over WebSocket. Each command has an action and optional payload:
| Action | Description | Payload |
|---|---|---|
run_script | Execute a script | { scriptId, args?, timeout? } |
collect_inventory | Gather full system inventory | — |
discovery_scan | Run network discovery | { subnet, scanType } |
restart_service | Restart a system service | { serviceName } |
file_transfer | Initiate file transfer | { direction, path } |
upgrade_agent | Self-upgrade to new version | { version, downloadUrl } |
terminal_start | Open a remote terminal session | — |
terminal_input | Send input to terminal | { data } |
terminal_resize | Resize terminal | { cols, rows } |
Command Flow
Dashboard → POST /devices/:id/commands → BullMQ job created → WebSocket message sent to agent → Agent executes command → Agent sends result via WebSocket → Result stored in database → Dashboard receives real-time updateCommands with a term- prefix bypass the database queue and are sent directly over WebSocket for real-time terminal sessions.
Service Management
Linux (systemd)
sudo systemctl start breeze-agentsudo systemctl stop breeze-agentsudo systemctl restart breeze-agentsudo systemctl status breeze-agent
# View logssudo journalctl -u breeze-agent -fmacOS (launchd)
sudo launchctl load /Library/LaunchDaemons/com.breeze.agent.plistsudo launchctl unload /Library/LaunchDaemons/com.breeze.agent.plist
# View logssudo log show --predicate 'process == "breeze-agent"' --last 1hWindows (Services)
Start-Service breeze-agentStop-Service breeze-agentRestart-Service breeze-agentGet-Service breeze-agent
# View logsGet-EventLog -LogName Application -Source breeze-agent -Newest 50Heartbeat Telemetry
The agent sends a heartbeat every 60 seconds containing:
| Field | Description |
|---|---|
cpu | CPU usage percentage |
memory | Memory usage (used/total) |
disk | Disk usage per mount point |
network | Network interface stats |
uptime | System uptime |
os | OS name and version |
hostname | Current hostname |
agentVersion | Running agent version |
User-Mode Helper
The agent includes a user-mode helper process for operations that require user-session context:
- Desktop notifications
- User-specific inventory (installed apps, browser extensions)
- Session-aware remote desktop
Install the user helper:
# Linuxsudo make install-user-helpersystemctl --user enable breeze-agent-user
# macOSsudo make install-user-helper# LaunchAgent auto-starts at login