Hermes Local Device Setup
Run Hermes on a separate local device instead of the daily machine. This workflow assumes the main machine and target Ubuntu or homelab device are on the same network. The main machine connects over SSH, while Hermes runs on the controlled target device.
Set connection variables
Section titled “Set connection variables”Set these variables on the main machine. Use the remote username and the local IP address or hostname of the device where Hermes will run.
export LAB_USER="your_remote_user"export LAB_HOST="your_lab_ip_or_hostname"export LAB_SSH="$LAB_USER@$LAB_HOST"Update the target device
Section titled “Update the target device”SSH into the target device and update the base system before installing Hermes.
ssh $LAB_SSH
sudo apt updatesudo apt upgradeReboot if kernel, systemd, libc, GPU, or browser-related packages changed. SSH back in after the reboot.
sudo reboot
ssh $LAB_SSHInstall base dependencies
Section titled “Install base dependencies”Install the basic tools Hermes needs on the target device.
sudo apt updatesudo apt install -y curl git ca-certificates tmux nodejs npmInstall browser automation dependencies
Section titled “Install browser automation dependencies”Install Chromium dependencies for browser automation on the target device.
sudo npx playwright install-deps chromiumInstall Hermes
Section titled “Install Hermes”Run the Hermes installer on the target device.
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bashAdd ~/.local/bin to PATH, reload the shell, then check the Hermes install.
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrcsource ~/.bashrc
hermes doctorStart Hermes
Section titled “Start Hermes”| Command | Use |
|---|---|
| hermes | Start classic CLI mode |
| hermes –tui | Start TUI mode |
| hermes -c | Resume the latest session |
| hermes –tui -c | Resume the latest session in TUI mode |
- Classic CLI mode is usually better for copy and paste.
- TUI mode is useful if classic CLI has terminal display issues.
Stop a frozen Hermes process
Section titled “Stop a frozen Hermes process”First try Ctrl+C in the active SSH terminal. If Hermes does not respond, open another SSH terminal to the target device and kill the process.
pkill -f hermes
hermesManage Hermes sessions
Section titled “Manage Hermes sessions”# List sessionshermes sessions list
# List more sessionshermes sessions list --limit 50
# Resume a session by title or IDhermes --resume "SESSION_TITLE_OR_ID"
# Short formhermes -r "SESSION_TITLE_OR_ID"
# Rename a sessionhermes sessions rename SESSION_ID "new-session-title"
# Delete a sessionhermes sessions delete SESSION_ID
# Delete without confirmationhermes sessions delete SESSION_ID --yesExpose a local dev site to Hermes
Section titled “Expose a local dev site to Hermes”Use an SSH reverse tunnel when a local app is running on the main machine and Hermes needs to inspect it from the target device.
ssh -N -R 3000:localhost:3000 $LAB_SSHHermes running on the target device can then inspect the local app through this address.
http://127.0.0.1:3000File locations
Section titled “File locations”- Hermes runs on the target Ubuntu or homelab device.
- The main machine connects to the target device over SSH.
- Use the target device terminal for Hermes sessions.