Version 0.7.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.gnu.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.7.0 (unreleased) ════════════════════════════ • Excluded tests and development files from ELPA packages, preventing test helper load errors during installation. • Added inert output previews for backend-managed files and HTML/SVG reply blocks, with source inspection, explicit saving, and image zoom. • Added a session-owned live task panel that follows backend snapshots and preserves pending tasks when a turn ends. • Added session pinning and named backend workspaces, with profile-scoped management and readback after changes. • Added Markdown and code highlighting to editable chat drafts without changing submitted text. • Added `hermes-request' for asynchronous prompts in fresh, profile-qualified sessions without borrowing a chat's history. Requests use the selected profile's model and provider and support cancellation and timeouts. • Accepted clarification replies from the composer as well as the minibuffer, preserving free-text answers and handling batched questions in order. • Preserved full accepted corrections between assistant reply segments and contained callback failures without failing unrelated chats. • Kept queued input pending until an interrupt settles, including when an idle notification arrives before the interrupt response. 2 Version 0.6.0 (2026-09-09) ════════════════════════════ • Added local image drafts from files and PNG clipboard data. Images can be previewed or removed before submission; selecting them does not upload them. Failed or uncertain submissions retain bytes in an in-memory recovery view for explicit inspection and manual recovery. Image staging is shared by a backend session, so do not use another client to send into that session. • Rendered Markdown tables inline with wrapped cells and a copy-source action. Tables reflow to the narrowest displaying window, account for line-number gutters, and preserve the transcript, draft, and undo history during resize. • Added `hermes-chat-quote-region' to append selected transcript text as a Markdown quote to the draft. It preserves existing input and never sends or queues the quote, including while a turn is running. • Added `M-x hermes-files' to browse backend-managed files and open inert text or image previews without file-local variables or evaluation. The viewer can save validated bytes to a new local file, never overwrite an existing destination. Reads are capped at 4 MiB and listings at 2000 entries. • Added native pairing and webhook management, tool-provider setup, and agent plugin installation, enablement, update, removal, and context-engine choice. Commands retain their owning instance and reject stale confirmations or unprovable mutation targets. • Expanded MCP management with server creation and removal, reviewed catalog installation, backend-owned OAuth, and progress monitoring. Cancelling monitoring does not imply cancellation of a remote installation. • Added system-log source, level, component, and line-count filters, optional auto-refresh, and popup controls. Worker views can open logs when the backend publishes an exact transcript or child-session identity. • Added optional chat-header and process icons, with text fallbacks. Settings menus show reported values and distinguish pending create-time choices from active settings. • Preserved browser position and instance ownership across refreshes, kept asynchronous completion from displacing later window choices, and settled failed initial client acquisition so views can be retried. • Added `M-x hermes-dashboard-restart' in chat buffers. After confirming its shared impact, it restarts the Emacs-owned dashboard and eagerly reattaches live chats to their durable sessions without replacing buffers or drafts. Queued and uncertain input is copied to editable recovery buffers for manual sending. The backend may recover interrupted turns under its own policy; Emacs never resends input. Remote dashboards are not restarted: use … …
