- 30 Apr, 2026 6 commits
-
-
Lisa authored
-
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. -
Lisa authored
-
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.
-
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" -
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:
Lisa <lisa@nexlab.net> Signed-off-by:
Lisa <lisa@nexlab.net>
-