Agent Smith Tray is a Windows system tray application that provides user interactivity and real-time status updates for the Agent Smith service.
This executable displays a tray icon in the system toolbar and connects to the Agent Smith service to show its status, display messages, and open configurable links.
Make sure you have Node.js installed.
Use npm to install all required project dependencies:
npm ciTo generate the Windows installer, run the following command as Administrator:
npm run distAdministrative privileges are required for successful installer creation.
To run the tray app in development mode:
npm startThis will launch the app without creating an installer, useful for testing changes.
You can download the latest installer (agent-smith-tray-installer.exe) from the Releases page.
- The Agent Smith service must be installed before running the tray installer.
-
Run the installer and follow the on-screen instructions.
-
The installer automatically configures and registers the tray app to start on system boot.
-
After installation:
- If you select "Run after installation", the tray icon will appear immediately.
- Otherwise, it will appear automatically after the next system restart.
-
The tray icon reflects the connection status of the Agent Smith service:
- Active – Normal icon
- Offline – Grayed-out icon
- The tray can display real-time HTML messages sent from workflows via IoTHub.
Example message format:
{
"type": "user_interaction_html",
"content": "<p>HTML CONTENT</p>"
}- Double-clicking the tray icon or selecting "Show" from the tray menu opens a list of custom links.
To configure these links, send a message via IoTHub:
{
"type": "links",
"content": "[{\"name\":\"Rewst\",\"url\":\"https://rewst.io\"}]"
}Ensure that all linked pages can be embedded inside an iframe (you can use the app builder to generate such pages).
Contributions are welcome! Please open a Pull Request (PR) for any improvements or bug fixes.
This project uses Commitizen for standardized commit messages. After staging your changes, commit using:
cz commit