Version 0.9.0 of package Hermes has just been released in NonGNU ELPA. You can now find it in M-x list-packages RET.
Hermes describes itself as: =============================== Emacs frontend for Hermes Agent =============================== More at https://elpa.nongnu.org/nongnu/hermes.html ## Summary: ━━━━━━━━━━━━━━ EMACS-HERMES ━━━━━━━━━━━━━━ <https://elpa.nongnu.org/nongnu/hermes.svg> An Emacs front-end for Hermes Agent, driven over the dashboard/TUI gateway. ## Recent NEWS: ━━━━━━━━━━━━━━━━━━━━━━━━ EMACS-HERMES CHANGELOG ━━━━━━━━━━━━━━━━━━━━━━━━ 1 Version 0.9.0 (unreleased) ════════════════════════════ Incompatible changes: • Chat buffer names follow the chat's project rather than the gateway's live working directory (see below), and the DIRECTORY argument of `hermes-chat-buffer-name-function' is now that stable naming directory. Review custom naming functions that expected the live directory. • Chat, profile and cron model completion candidates now lead with the model, for example `claude · Anthropic (anthropic)'. Update any code or completion configuration that matched the old candidate text. • List browsers keep their native column titles in the header line. With several instances configured, the instance name now follows the buffer name in the mode line, and the scope or status text of the Pairing, Webhooks, Tool Setup, Agent Plugins, Foreign histories and Skill Hub views moved to the mode line. • In the Workers view `RET' now opens the row's details; the published worker log moved to `L'. New features and fixes: • The chat header's work count follows the Hermes TUI: `🤖 N' counts running and queued workers and `⚙ M' running background processes, with no trailing `?'. Each chat keeps the last successful roster read; hiding the chat, a failed read or a timeout no longer clears or doubts it. Live `subagent.*' events update the count between polls, a background process notice triggers an immediate read, and finished workers and exited processes stay listed for 60 seconds. The Workers view lists workers in spawn-tree order and shows depth, delegation, tool count, last tool and a process's last output line; process elapsed time now comes from the backend's uptime. • The Workers view is now an outline with Agents and Processes sections. Each running worker shows its latest tool on a second line and each process its last output line or exit verdict. `TAB' folds a section or opens a row's card with the full goal, recent tools and the error or summary; `n=/=p', `f=/=b' and `^' move by row, sibling and parent. `RET' reuses one detail buffer per row, and `k' on a process kills it after confirmation. Live updates keep point, folds, cards and each window's start. • Completed paragraphs, closed code fences and complete table rows render as Markdown while a reply is still streaming; unfinished text stays literal until the turn ends. `hermes-chat-stream-format-delay' (default 0.1 seconds) throttles the formatting. • Streaming no longer slows down as a reply or transcript grows: the read-only protection rescans only changed text, and echo detection no longer renormalizes the whole reply on every chunk. • `C-c C-c' in a chat interrupts the running turn (`hermes-chat-interrupt-turn'); when idle it only reports that nothing is running. `C-c C-k' is unchanged. • Chat actions menu (`C-c C-o'): Work is now Activity (`B') and Workspace is now Directory (`w'), so neither reads like Workers (`W'). The Session menu splits into Session (New, Rename, List sessions) and Fork (Branch `b', Hand off `H', Compress `z', the new `hermes-chat-compress'). A new Aside group exposes the formerly slash-only side question (`y'), background task (`G') and Stop processes (`!'). Root `b' remains Switch chat buffer. Stop processes stops the terminal processes registered with the whole instance, across all chats; it does not cancel the model turn or delegated workers. • While a turn runs with no backend event for 30 seconds (`hermes-chat-status-rule-quiet-after'), the composer rule appends `quiet 0:45' in the warning face; it clears as soon as an event arrives. • When output arrives while no window shows the end of the transcript, the mode line shows `↓ new'. `mouse-1' on it or `C-c C-j' jumps to the latest output; scrolling the end into view also clears it. • The header's context usage turns warning-coloured from 80% and error-coloured from 95%. Its tooltip gives exact tokens and percentage, and `mouse-1' opens the Context budget view. … …
