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.
  …  …

Reply via email to