feat: Add Hermes Agent vterm integration with SPC z h keybinding #1

Merged
gortium merged 8 commits from feat/hermes-vterm-integration into master 2026-05-14 21:19:56 +00:00
Collaborator

Summary

Hermes Agent launcher: Emacs SPC z h, zsh alias hermes, Hyprland $mainMod + C.

Changes

Doom Emacs (README.org -- tangles to config.el)

  • +Hermes Agent+ section under * AI with gortium/hermes-vterm function
  • SSHs to lazyworkhorse, starts Hermes in CLI mode via process-send-string
  • No timing hack, no TUI, yank-friendly
  • Keybinding: SPC z h added to existing map! block

Zsh (.zshrc)

  • Alias: alias hermes="emacsclient -n -c -e '(gortium/hermes-vterm)'"

Hyprland (hyprland.conf)

  • Binding: $mainMod + C = open Hermes in new Emacs frame

Note

config.el is auto-generated from README.org org-babel tangle. Never edit config.el directly.

Usage

After merging and running doom sync:

  • Emacs: SPC z h
  • Terminal: hermes
  • Hyprland: $mainMod + C
## Summary Hermes Agent launcher: Emacs SPC z h, zsh alias `hermes`, Hyprland $mainMod + C. ## Changes ### Doom Emacs (README.org -- tangles to config.el) - **+Hermes Agent+** section under * AI with `gortium/hermes-vterm` function - SSHs to lazyworkhorse, starts Hermes in CLI mode via process-send-string - No timing hack, no TUI, yank-friendly - Keybinding: `SPC z h` added to existing map! block ### Zsh (.zshrc) - Alias: `alias hermes="emacsclient -n -c -e '(gortium/hermes-vterm)'"` ### Hyprland (hyprland.conf) - Binding: $mainMod + C = open Hermes in new Emacs frame ### Note config.el is auto-generated from README.org org-babel tangle. Never edit config.el directly. ## Usage After merging and running `doom sync`: - Emacs: `SPC z h` - Terminal: `hermes` - Hyprland: $mainMod + C
Hermes added 1 commit 2026-04-30 14:36:37 +00:00
Hermes added 1 commit 2026-05-01 14:35:56 +00:00
- Replaced sleep-for 0.5 + vterm-send-string timing hack with
  direct process-send-string (no timing race)
- Removed TUI chat command, SSH uses -t PTY for clean CLI mode
- Lines 947-957 in config.el
Hermes added 1 commit 2026-05-01 14:40:07 +00:00
- zsh: alias hermes=emacsclient -n -c -e '(gortium/hermes-vterm)'
- hyprland: bind = , C to same command
- C for CLI/Chat, unused key in current layout
Hermes added 1 commit 2026-05-01 14:50:42 +00:00
- Revert config.el changes (file is generated from README.org via tangle)
- Add dedicated ** +Hermes Agent+ section under * AI in README.org
- Add SPC z h keybinding to existing map! block in Minimize window section
- config.el should NEVER be edited directly
Hermes added 1 commit 2026-05-01 15:02:26 +00:00
- Zsh alias now runs ssh + docker exec directly (no emacsclient)
- Emacs function uses delete-other-windows for clean single-window vterm
- SSH command uses correct docker exec path: /opt/hermes/.venv/bin/hermes
- config.el not included - user will tangle from README.org
Hermes added 1 commit 2026-05-01 15:06:11 +00:00
- zsh alias: added -t to SSH (docker exec -it needs a TTY)
- Emacs function: vterm-mode instead of vterm (vterm splits windows,
  vterm-mode is just a major mode, keeps current window layout)
- The SSH command in both cases is now consistent:
  ssh -t lazyworkhorse 'docker exec -it hermes /opt/hermes/.venv/bin/hermes'
gortium added 2 commits 2026-05-14 21:12:35 +00:00
gortium merged commit 69c2447f04 into master 2026-05-14 21:19:56 +00:00
Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: gortium/dotfiles#1
No description provided.