From 390ba2ef61a776acd8828dddceb2de274b1670eb Mon Sep 17 00:00:00 2001 From: Thierry Pouplier Date: Thu, 30 Apr 2026 14:31:38 +0000 Subject: [PATCH] feat: Add Hermes Agent vterm integration with SPC z h keybinding --- doom/.config/doom/config.el | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/doom/.config/doom/config.el b/doom/.config/doom/config.el index ee75e4d..040345e 100644 --- a/doom/.config/doom/config.el +++ b/doom/.config/doom/config.el @@ -18,7 +18,9 @@ (map! :leader (:prefix ("w" . "window") - :desc "Minimize window" "O" #'minimize-window)) + :desc "Minimize window" "O" #'minimize-window) + (:prefix ("z" . "Personal") + :desc "Hermes Agent" "h" #'gortium/hermes-vterm)) (use-package! ultra-scroll :init @@ -941,7 +943,19 @@ Handles org-clock and context link capture for tasks." (after! vterm (add-hook 'vterm-mode-hook (lambda () - (evil-local-set-key 'insert (kbd "C-j") #'vterm--self-insert)))) + (evil-local-set-key 'insert (kbd "C-j") #'vterm--self-insert))) + ;; Quick launch Hermes Agent on lazyworkhorse server + (defun gortium/hermes-vterm () + "Launch Hermes Agent in a vterm buffer via SSH to lazyworkhorse." + (interactive) + (let ((buf (get-buffer-create "*hermes*"))) + (switch-to-buffer buf) + (unless (get-buffer-process buf) + (vterm buf) + (sleep-for 0.5) + ;; SSH to server, then exec into docker and run hermes from venv + (vterm-send-string "ssh lazyworkhorse 'docker exec -it hermes /opt/hermes/.venv/bin/hermes chat'") + (vterm-send-return))))) ;; GPTel AI chat for emacs (use-package! gptel