hermes-desktop-achievements
Health Pass
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 11 GitHub stars
Code Fail
- exec() — Shell command execution in plugin.js
- network request — Outbound network request in plugin.js
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
Hermes desktop achievements: full achievements page + sidebar nav + statusbar score chip, backed by the bundled hermes-achievements plugin API. Zero new backend.
Hermes Desktop Achievements
Achievements, right inside the Hermes desktop app, with unlock notifications.
A full achievements page (score header, tier filters, progress bars, rescan),
a sidebar nav row, a live statusbar score chip, and a ⌘K command — all backed
by the hermes-achievements dashboard plugin that ships with Hermes Agent.

What you get
- Unlock notifications — toast, haptic, a chime, and a confetti burst in
your theme colors plus the badge's tier color, no page visit required - Discord announcements — optional webhook posts every unlock and
milestone to your server - Tier-specific sounds — Copper/Silver get the chime, Gold and up and
milestones get a five-note fanfare - Score header — unlocked/total, discovered/secret counts, scan freshness,
one-click Rescan - Next up strip — the locked achievements closest to unlocking, with
progress bars and next-tier thresholds - Unlock history — a chronological timeline of every unlock with dates and
evidence sessions - Custom achievements — define your own personal badges, mark them done,
get the same celebration - Settings panel — toggles for confetti, sound, haptic, and the Discord
webhook URL, persisted across restarts - Milestone celebrations — a bigger confetti party at every 10 unlocks
- Weekly mini-stats — unlocks this week, busiest day, tier counts
- Export badges — download the full list as Markdown or JSON
- Replay celebrations — fire the confetti again from any unlocked badge or
history entry - Per-session context — badges earned in the active session, right on the
page - Share cards — 1200×630 canvas PNG export for any unlocked badge, ready
to post - Filter tabs — all / unlocked / discovered / secret / history / custom
with live counts - Search and sort — filter by name, sort by closest, tier, or name
- NEW freshness tag — badges unlocked in the last 48 hours are marked NEW
- Statusbar chip — live score plus the closest next-up achievement in the
tooltip; click to open - Command palette — ⌘K → "Achievements: Open"
Install
Backend (required): the Hermes Agent install already ships
plugins/hermes-achievements/(it mounts/api/plugins/hermes-achievements/
onhermes serve). Make sure it's enabled in~/.hermes/config.yaml:plugins: enabled: - hermes-achievementsVerify it mounted:
grep "Mounted plugin API routes: /api/plugins/hermes-achievements" ~/.hermes/logs/agent.logDesktop plugin: copy the folder into your desktop plugins directory:
mkdir -p ~/.hermes/desktop-plugins/hermes-achievements cp plugin.js ~/.hermes/desktop-plugins/hermes-achievements/The app watches that directory — the plugin loads within a few seconds.
If it doesn't appear: ⌘K → Reload desktop plugins.
Requirements
- Hermes Agent desktop app (v0.19+ recommended)
- The
hermes-achievementsplugin enabled (bundled with Hermes Agent; seeplugins/hermes-achievements/in the repo or the dashboard's built-in
plugins doc)
How it works
- Zero new backend. The plugin talks to the existing
hermes-achievementsdashboard plugin API overctx.rest→/api/plugins/hermes-achievements/achievements— the same scan engine the
web dashboard uses. - Unlock watcher. Polls
/achievementsevery 15 seconds and diffs against
a known-unlock set persisted in plugin storage. First load seeds the
baseline, so restarts never replay old unlocks. New unlocks fire a success
toast, haptic, and a two-tone chime, then invalidate the shared React Query
cache. - Theme-native. Cards, chips, and the share card use the app's theme CSS
variables, no hardcoded colors, follows light/dark.
Files
plugin.js The whole plugin — plain ESM, loaded uncompiled (jsx() calls, no JSX syntax)
Development
The desktop plugin SDK docs live in the Hermes Agent repo:website/docs/developer-guide/desktop-plugin-sdk.md.
Quick iteration loop: edit plugin.js, save — the app hot-reloads in place.
License
MIT. Original plugin by Tony Simons, extended by
Cliff Wade with unlock notifications, next-up
tracking, per-session badges, and share cards.
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found