1. 01 May, 2026 16 commits
  2. 30 Apr, 2026 14 commits
    • Lisa's avatar
      feat: add installer build scripts for Linux and Windows · 8affefbc
      Lisa authored
      - Add Linux installer (self-contained bash script)
      
      - Add Windows build script (NSIS + Python embeddable)
      
      - Installers produce fully offline-capable agents
      8affefbc
    • Lisa's avatar
      1773a2c0
    • Lisa's avatar
      97f6a449
    • Lisa's avatar
      c1535a48
    • Lisa's avatar
      c142045f
    • Lisa's avatar
      6d826b53
    • Lisa's avatar
      Add comprehensive deployment documentation · 5f1d0dfb
      Lisa authored
      5f1d0dfb
    • Lisa's avatar
      Add MIT License for hermes-node-agent · 8aaceb7d
      Lisa authored
      8aaceb7d
    • Lisa's avatar
    • Lisa's avatar
      Cleanup: remove orphaned duplicate code, add .gitignore · 1d066e88
      Lisa authored
        - Removed 102 lines of orphaned duplicate PosixComputerController class
        - Fixed code structure: PosixComputerController defined only once (lines 198-267)
        - Reduced file size from 658 to 556 lines
      
        - Added .gitignore for Python/Windows artifacts:
          * __pycache__/ and *.pyc
          * venv/, build/, dist/
          * *.bak, *.backup
          * windows/build/, windows/Output/
          * IDE files (.vscode, .idea)
      
        - Removed __pycache__ from git staging (no longer tracked)
      
      Documentation already present in README.md and windows/README.md.
      1d066e88
    • Lisa's avatar
    • Lisa's avatar
      Remove browser extension (moved to hermes-node-chrome repo) · 020b3a28
      Lisa authored
      The Chrome browser extension now lives in its own repository:
      git@git.nexlab.net:lisa/hermes-node-chrome.git
      
      This keeps the node-agent repo focused on the core agent functionality.
      020b3a28
    • Lisa's avatar
      Add Windows support: GUI installer and system tray manager · f7f01954
      Lisa authored
      Added complete Windows deployment capability:
      
        - windows/agent-manager.py: System tray GUI application
          * Configuration editor (no manual JSON editing)
          * Log viewer with refresh/tail
          * Service management (start/stop/restart)
          * Status monitoring dashboard
          * Windows toast notifications
      
        - windows/installer.iss: Inno Setup installer script
          * Graphical one-click installer
          * Service registration via NSSM
          * Start menu shortcuts
          * Uninstaller support
      
        - install-windows.ps1: PowerShell installer (legacy/cli)
          * Automated installation without GUI
          * Service registration (NSSM or Task Scheduler)
      
        - windows/build.py: Automated build script
          * PyInstaller builds for agent and manager
          * Inno Setup compilation
          * Dependency checking
      
        - Modified hermes_node_agent.py:
          * Fixed duplicate PosixComputerController class
          * Cleaned up code structure
      
        - Modified install.sh:
          * Simplified user-friendly output
          * Better error handling
      
      The Windows agent includes:
        * PowerShell-based command execution
        * sexec.ps1 permission system (matches Linux)
        * Windows Service integration (NSSM)
        * Same WebSocket protocol (WSS)
      
      Documentation: WINDOWS_DEPLOYMENT.md, WINDOWS_INSTALL.md
      
      See COMPLETE_DEPLOYMENT.md for full overview.
      
      Hermes Agent integration:
        * Works with plugins/node_gateway.py
        * Same API as Linux nodes
        * hermes node windows-pc exec "command"
      f7f01954
    • Lisa's avatar
      feat(node-agent): add computer_control desktop automation and capability-based tool discovery · 29a308f6
      Lisa authored
      Major integration of desktop automation and structured capability reporting for Hermes Node Gateway.
      This enables a unified node execution framework with optional tool support that is
      automatically detected and advertised.
      
      Features:
      - ComputerController class (Linux/X11) using xdotool and import (ImageMagick)
        - Screenshot (full screen, optional path or base64-return)
        - Mouse: move(x,y), click(button), position()
        - Keyboard: type_text(text), key_press(key like 'Return', 'Ctrl+c')
        - Window: active_window() returns focused window info
      - Capability-based registration to gateway
        - Agent sends tool list ["exec", "browser_control", "computer_control"] on connect
        - gateway filters tools based on declared capabilities
        - missing PC deps handled: checks for xdotool/import; browser extension presence
      - Universal installer updated:
        - Prompts: enable browser control? enable computer control?
        - Optional per-node sexec permissions quick-edit (allow/deny/ask comma patterns)
        - Writes config.json with enable_browser, enable_computer_control and permissions JSON
      - Fixes:
        - agent formerly advertised capability key 'browser'; gateway expects 'browser_control' → aligned
        - installers baked agent compressed with base64 in shell script, no external files
      
      Files:
      - node-agent/: new ComputerController class; enhanced hermes_node_agent.py
      - ~/.hermes/plugins/hermes-node-gateway/: added COMPUTER_CONTROL_SCHEMA + handlers + routing
      - install_hermes_node_universal.sh (merged in repo dist/ location)
      
      Node Agent endpoint type: "computer_control" commands (gateway forwards to node agent)
      Gateway: registers tool 'computer_control' with schema and executes cc_result responses handled
      
      Deployed nodes can now:
        - Execute shell commands via sexec (preserves existing allow/ask/deny)
        - Control browsers (if extension installed)
        - Control desktop (if X11 + xdotool + ImageMagick installed)
      
      Hermes Gateway plugin now exposes 4 tools:
        node_list, node_status, node_exec, browser_control, computer_control ✓
      Co-authored-by: 's avatarLisa <lisa@nexlab.net>
      Signed-off-by: 's avatarLisa <lisa@nexlab.net>
      29a308f6