Skip to content

Releases: apoapostolov/hermes-agent-awesome-plugins

Provider Status 1.6.5

Choose a tag to compare

The Discord presence draws a ten-cell bar.

Both presence bars — context use and remaining quota — were five cells, which
read as a stub beside the numbers. They draw ten now, and discord_bar_width
still sets the width anywhere from 3 to 20 cells for a status that shares space
with Discord's member list. The presence reads its settings once, when the
gateway registers the plugin, so the new default appears after the next gateway
restart rather than on the next presence update.

The listed edition also picks up the 1.6.4 credential work, which had no release
of its own. It reads no vendor CLI auth file, refreshes and writes back no Grok
or Codex token, writes no Hermes .env on exhaustion, and keeps no copy of a key
in a plugin-owned library.env. Exhaustion and renewal-day rotation record the
pool index, and an expired OAuth token asks for a new login. Key pools stay in
the plugin's own config.json.

Both editions are 1.6.5. See the changelog for plugin-level history.

Intelligent Tool Break 1.3.6

Choose a tag to compare

One chat's turn can no longer drop another chat's in-flight calls.

Hermes fires on_session_end after every turn, not when a session ends, and the plugin treated it as the end of the session: it cleared the tracked in-flight calls and the /again budget for the whole process. A turn finishing in one chat therefore erased a tool call still running in another, and /break answered "Nothing in flight" for a live call. Both lifecycle hooks now act on the session they are given, and on_session_end drops nothing at all, because a call can still be running for the same session across a turn boundary. A surface that provides no session id keeps the old process-wide reset.

The /again budget was keyed by the tool name and its arguments, so two sessions running an identical command shared the two uses. It is keyed by session as well now, so each session gets its own two retries, and a deleted session takes its budget with it.

Both editions are 1.3.6. See the changelog for plugin-level history.

Provider Status 1.6.3

Choose a tag to compare

The pet bubble follows a settings save at once.

Its settings query polls every 60 seconds, so toggling the pet line in Settings, Plugins could take up to a minute to show, and the quota chips kept their old values until the next poll. The Desktop half now listens for the backend's plugin.provider-status.settings.changed broadcast and refreshes the pet settings and the status query, the same refresh the in-plugin dialog already runs.

Both editions are 1.6.3. See the changelog for plugin-level history.

Intelligent Tool Break 1.3.5

Choose a tag to compare

The break commands belong to the chat you type them in.

/break, /again and /break-status read one map of in-flight tool calls that the whole gateway process shares. Breaking a stalled tool in one chat could therefore kill a tool running in another, and /break-status needed an explicit --session-id to say which session it meant. Each command now takes the session id that every surface already hands a plugin command, so the newest in-flight call is chosen inside that session. An explicit --session-id still wins, and a call with no recorded owner stays visible everywhere.

A session deleted from the Desktop now takes its rows with it through the new on_session_delete hook. A Desktop delete never fires on_session_end, so those rows used to sit in the killable list until the process restarted.

Both editions are 1.3.5. See the changelog for plugin-level history.

Jev Routing 1.0.2

Choose a tag to compare

The routing line now renders where the app expects plugin UI.

The listed edition found the last user message by DOM selector, injected its own style tag, and cached lines in localStorage, so the desktop surface check refused the pin. The line and its approve row are a React contribution at the composer's underside strip, fed by the same plugin.hermes-jev-routing.routed event. Nothing touches app-owned nodes now, and the plugin passes the check that gates a catalog listing.

One behaviour change follows from that surface: the line sits under the composer, not under the message you already sent, so an older turn no longer shows the line it carried.

Both editions are 1.0.2. The personal edition keeps its prompt-anchored strip. See the changelog for plugin-level history.

Jev Routing 1.0.1

Choose a tag to compare

The routing override belongs to the session that asked for it.

/jev-routing on, off and mode wrote one process-wide record and then answered "for this session". Any other chat's next turn overwrote that record, and the config read at the start of every turn reset the mode as well, so an override barely survived the turn it was typed in. Overrides now live in a per-session slot that is applied after the config read: one chat can run unrouted while another is routed, and the mode you set stays set.

why and status read the calling session's own prompt and decision instead of whichever turn ran last, and the request middleware hands each session its own decision even when two turns are in flight. Deleting a session drops its state, and the map is capped at 64 sessions.

Both editions are 1.0.1. See the changelog for plugin-level history.

Better Capabilities 1.0.0

Choose a tag to compare

First release.

Better Capabilities puts a delete action on plugin and skill rows, zips a skill folder for sharing, and saves on/off presets for a set of capabilities, all on the Capabilities page.

This release resolves a skill through the same helpers that skills_list and skill_view use. A name resolves with the host's tier precedence, an ambiguous name is refused instead of guessed, and both zip and delete stay inside your own skills folder. The previous build imported a private helper and, when that missed, walked the skills tree itself.

Personal edition only. See the changelog for plugin-level history.

RSS Reader 1.2.1

Choose a tag to compare

@apoapostolov apoapostolov released this 17 Oct 10:37

RSS Reader 1.2.1

YouTube posts show a poster that plays the video where it can actually play.

  • The reader no longer embeds a YouTube player. That embedded frame is sandboxed to an opaque origin, and YouTube's player refuses to boot inside it: it throws reading caches and never defines writeEmbed, so the pane stayed a black rectangle.
  • The 16:9 slot is now a poster with a play control. Clicking it hands the watch URL to the desktop's own Browser pane, which is a real browser surface, so the video plays with a real origin. On a build without that API the poster says so and opens your system browser instead. A chapter timestamp opens the video at that mark.
  • A YouTube link or chapter inside a captured article goes the same way, so a click no longer lands on a page that renders empty.
  • Fixed: the listed edition's browser pane crashed, because its import list had lost SandboxedFrame while the code still called it.

Provider Status 1.6.2

Choose a tag to compare

The two presence lines that stood out are quiet now.

Tokens/sec and the idle and thinking state shipped color emoji (U+26A1 and U+1F4CA) while every other line in the family carried a monochrome glyph, so the settings list and the Discord presence read as two styles in one view. Tokens/sec uses a zigzag lightning arrow (U+21AF) and the state line uses a vertical-fill square (U+25A5), which puts the whole family on one footing. The quota line keeps its own glyph, unchanged.

The settings form shows the new marks as soon as it loads. The running plugin reads its config once at register, so the Discord presence and /pulse follow after a reload: Save and Reconnect, then toggle Provider Quota Status off and on under Capabilities, Plugins.

Both editions are 1.6.2. See the changelog for plugin-level history.

Memory Review 1.2.6

Choose a tag to compare

@apoapostolov apoapostolov released this 16 Oct 08:11

Memory Review 1.2.6

The chrome-menu row is placed by proof now, not by elimination.

  • Personal edition: the row also appeared in the profile switcher, which carries New profile / Import profile… / Manage profiles… with the same add + cloud-download + settings-gear glyphs as the shell menu. A menu counts as the shell menu only when it also carries a chrome verb no other menu renders (layout-statusbar, layout-menubar, multiple-windows), so one rule covers both that menu and the composer model picker from 1.2.5. The status-bar chip stays the primary door.
  • Public edition has no chrome inject. Version stays shared.

Reported by @Spelvi in #11.