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

This commit is contained in:
Thierry Pouplier
2026-04-30 14:31:38 +00:00
parent 5ee760fbe8
commit 390ba2ef61

View File

@@ -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