All plugins

hermes-pantheon

Eighteen Hermes Desktop themes in dithered classical marble, one god each: all twelve Olympians plus Hades, Nyx, Helios, Selene and Medusa. Install once, then switch with /skin <name>. Matching terminal skins ship in cli/skins. Disclosure — theme-only desktop plugin: it registers eighteen themes through the plugin SDK, and their stylesheets restyle parts of Desktop's own UI (sidebar art, tabs, composer, wordmark) only while a Pantheon theme is active. It also watches Desktop's active theme: when a terminal skin named pantheon-<god> is active, it switches Desktop to that god's theme through the SDK's requestTheme. The terminal skins are plain YAML files the user copies into the Hermes skins folder by hand; the plugin does not install them or write any files. Fonts and art are bundled; no network requests, no agent tools or hooks.

Adolanium22Desktopv0.4.2Updated 11 days ago

About

Eighteen Hermes Desktop themes in dithered classical marble, one god each: all twelve Olympians plus Hades, Nyx, Helios, Selene and Medusa. Install once, then switch with /skin <name>. Matching terminal skins ship in cli/skins. Disclosure — theme-only desktop plugin: it registers eighteen themes through the plugin SDK, and their stylesheets restyle parts of Desktop's own UI (sidebar art, tabs, composer, wordmark) only while a Pantheon theme is active. It also watches Desktop's active theme: when a terminal skin named pantheon-<god> is active, it switches Desktop to that god's theme through the SDK's requestTheme. The terminal skins are plain YAML files the user copies into the Hermes skins folder by hand; the plugin does not install them or write any files. Fonts and art are bundled; no network requests, no agent tools or hooks.

Pantheon

Eighteen gods for your Hermes desktop.

Eighteen themes for Hermes Desktop: all twelve Olympians, plus Hades, Nyx, Helios, Selene and Medusa.
Each one has its own myth, its own palette and its own lettering, drawn in dithered marble.
Install once and switch with a word.

FOR HERMES DESKTOP  ·  COMMUNITY THEMES  ·  VERSION 0.4.2

See all eighteen live  ·  Try it in a minute  ·  Meet the eighteen  ·  Switch any time

Eighteen narrow columns side by side, one per theme, each with a dithered marble head at the top, the theme's name inscribed vertically in the middle, and a collage of statue fragments at the bottom, every column in its own palette from indigo to parchment

Try it in a minute

You need Hermes Desktop 0.22.2 or later. You don't need a terminal.

1. Install. In Hermes Desktop, open Capabilities → Plugins and click Install from Git. Paste this address, click Review repository, then install:

https://github.com/Adolanium/hermes-pantheon
hermes plugins install Adolanium/hermes-pantheon

If it asks whether to enable the plugin, either answer works. That switch is for the agent side, and Pantheon has nothing there.

2. Turn it on. Pantheon now appears in Capabilities → Plugins. Flip its Desktop switch on. Desktop plugins installed from a package start turned off, and this is the step people miss.

3. Pick a god. Type this in the message box and press Enter:

/skin olympus

The whole app changes on the spot, with no restart. Try /skin hades next, or plain /skin to step through every theme you have.

Meet the eighteen

Click a card to see the full window.

| Olympus: deep indigo, Zeus reaching for the stars | Hera: cobalt and gold, the queen of the gods |
|:---:|:---:|
| Poseidon: abyssal teal and seafoam, the trident raised | Demeter: wheat on cream, the goddess of the harvest |
| Athena: olive and sage, wisdom with a spear | Apollo: sky and lyre gold, the god of light and song |
| Artemis: silver birch and forest green, the huntress | Ares: crimson on iron, the god of war |
| Aphrodite: wine and rose, born from the sea foam | Hephaestus: iron and molten orange, the forge god at work |
| Hestia: hearth clay on warm cream, the keeper of the fire | Dionysus: wine and vine, the god of revelry |
| Caduceus: parchment and ink, the messenger in flight | Hades: charcoal and ember, the lord of the underworld |
| Nyx: pure 1-bit night, the goddess under her starfield | Helios: bronze and gold, the sun chariot at full gallop |
| Selene: slate and silver, the moon rising | Medusa: black and acid green, the gorgon's stare |

Switch any time

Every Pantheon theme is a normal Hermes theme, so all the usual ways to switch work:

| Where | What to do |
| --- | --- |
| Message box | /skin <name>, for example /skin selene. /skin list shows every theme; /skin alone moves to the next one. |
| Command palette | Press Ctrl K (⌘ K on macOS), choose Change theme, and pick one. |
| Settings | Settings → Appearance → Theme. |

The names are olympus, hera, poseidon, demeter, athena, apollo, artemis, mars, aphrodite, hephaestus, hestia, dionysus, caduceus, hades, nyx, helios, selene and medusa. To go back to the stock look, type /skin nous. Ares answers to /skin mars: Hermes keeps ares as an old name for its own Ember theme.

Hermes remembers your choice for each profile, so a work profile can live on Olympus while a personal one lives on Hades.

In the terminal too

The eighteen gods also come as skins for hermes in the terminal, both the classic interface and hermes --tui. Each skin draws the god's bust from the Desktop sidebar as pixel art beside the start panel, letters HERMES AGENT in the god's colours, and repaints the prompt, status bar and menus in the god's palette.

Terminal skins are files, not part of the plugin switch, so copy them once after installing, and again after a plugin update:

mkdir -p ~/.hermes/skins
cp ~/.hermes/plugins/hermes-pantheon/cli/skins/*.yaml ~/.hermes/skins/
hermes skin use pantheon-olympus

On Windows, Hermes keeps its home in %LOCALAPPDATA%\hermes instead of ~/.hermes, so in PowerShell:

New-Item -ItemType Directory -Force "$env:LOCALAPPDATA\hermes\skins" | Out-Null
Copy-Item "$env:LOCALAPPDATA\hermes\plugins\hermes-pantheon\cli\skins\*.yaml" "$env:LOCALAPPDATA\hermes\skins\"
hermes skin use pantheon-olympus

Each skin is the god's name with pantheon- in front, so Hermes's own skins of the same name (Poseidon, for one) stay as they are and Desktop keeps the plugin themes with their art. Inside a session, /skin pantheon-hades switches too: the prompt, status bar and menus change right away, and the art shows on the next start (hermes --tui redraws it at once). Each profile keeps its own skins, so for a profile copy them into ~/.hermes/profiles/<name>/skins/ (on Windows, %LOCALAPPDATA%\hermes\profiles\<name>\skins\) as well. hermes skin use default goes back to the stock look.

  • Each skin also carries banner_art, the whole bust image 80 columns wide (30 to 40 rows) dithered in three tones of the Desktop inks, like the Desktop art. The TUI paints one colour per line, so Hermes uses banner_hero, the 60-column one-colour version, wherever banner_art is not supported or does not fit.
  • While you browse skins with /skin and the arrow keys, the classic interface previews each one live: its colours, and a small version of its bust above the menu (banner_thumb, shown only by a Hermes that supports it, like banner_art). Enter keeps it.
  • The art is tuned for dark terminals; on a light terminal the palette switches to its light variant, but the bust stays light.
  • The bust is 60 columns wide and sits in the panel's left column. In the TUI that column takes up to 40% of the width, so the bust stays whole from about 160 columns; narrower, its right side is cut.
  • Hermes shares the active skin between surfaces, so switching skin in the terminal also switches Desktop. With the plugin on, Desktop follows to the god's full theme, art included: pantheon-hades in the terminal gives Hades in Desktop. Desktop also lists the terminal skins as themes; picking one there does the same.

The skins are generated from the same art as the Desktop themes: python3 cli/build_skins.py (needs Pillow) rewrites cli/skins/.

Small decisions, already made

  • One install, eighteen themes. All eighteen ship in a single plugin. There's nothing to choose at install time and nothing extra to download later.
  • The art lives inside the plugin. Every statue is a dithered image packed into plugin.js, and the fonts (IBM Plex) are bundled too, so themes switch instantly and work fully offline.
  • Your light or dark setting can't break the art. Each theme keeps its own palette in both modes. Five are light (Demeter, Apollo, Artemis, Hestia and Caduceus); the other thirteen are dark.
  • The accent picker still works. Pick a custom accent in Settings and the theme keeps its art and framing.
  • The chat stays readable. The art sits in the sidebar and the empty new-session screen. Once a conversation starts, it's text on a calm ground.

Update or remove

hermes plugins update hermes-pantheon
hermes plugins remove hermes-pantheon

Or use Capabilities → Plugins: switch Pantheon off to hide the themes, or remove it from there. If a Pantheon theme was active, Hermes goes back to its default theme.

What it touches

  • Theme registration through the Desktop plugin SDK, the same way any theme plugin adds itself to the picker.
  • Style rules that apply only while a Pantheon theme is active, and disappear when you switch away.
  • IBM Plex Sans and IBM Plex Mono for the interface, plus one display face per god for the HERMES AGENT wordmark, all bundled inside the plugin under the SIL Open Font License.

It makes no network requests, adds no agent tools, hooks, background processes or settings, and reads none of your data.

The bracketed tabs, dotted rules and placement of the art style Hermes Desktop's own markup, because the plugin SDK has no slots for decoration yet. If a Desktop update renames that markup, those touches fall back to the plain palette. Nothing else breaks.

Compatibility

| Hermes Desktop | Platform | Status |
| --- | --- | --- |
| 0.22.2 | Windows 11 | Tested |
| 0.22.2 | Linux (Ubuntu 26.04, GNOME on Wayland) | Tested |
| 0.22.4 | macOS 26 (Apple silicon) | Tested |

More gods

Pantheon is one of three packs. They install side by side, and none of their theme names overlap, so every god shows up in the same picker.

License

MIT. The bundled fonts are under the SIL Open Font License: IBM Plex, and the gods' wordmark faces (Silkscreen, Grenze Gotisch, Cinzel Decorative, Cinzel, Marcellus SC, Forum, Gloock, Metamorphous, IM Fell English SC), plus Bodoni Moda on the site. See LICENSES.

Community project

Pantheon is an independent community theme pack. It is not affiliated with, endorsed by, sponsored by, or officially associated with Nous Research or the Hermes Agent project. Hermes, Hermes Agent, and Nous Research are names and marks belonging to their respective owners.

README from the reviewed commit f4c9970; it updates when the author re-pins.

More by Adolanium

25 plugins by Adolanium in the catalog.

AdolaniumgadgetTalk to your Hermes from small ESP32 devices with a screen, microphone and speaker: hold a button, ask, and hear the answer. Adds a gateway platform where each device is a chat, plus tools to list devices, show a card on a screen and run device actions (LEDs, relays). Disclosure — the gateway listens for devices on a WebSocket port (8765, all interfaces by default; plain ws:// unless tls_cert/tls_key are set). New devices need a Hermes pairing code unless listed in GADGET_ALLOWED_USERS; GADGET_ALLOW_ALL_USERS skips pairing (development only). A paired device answers the agent's command approvals for its own chat (allow once or deny), within Hermes's approval timeout. The first approved device becomes the platform's home channel by default. Session hooks feed a dashboard on paired devices with each agent session's platform, a short id and its state (idle, busy, waiting for approval); a device that can switch profiles also sees the offered profiles' sessions. Optional profile switching (off unless `profiles` is set in the default profile's gadget config) lets a device paired on the default profile talk to the listed profiles; each profile approves the device through its own pairing flow (the device shows the `hermes -p <profile> pairing approve` command), the plugin writes nothing into other profiles, and revoking the device in the default profile sends it back there. A paired gadget that draws faces gets the answering profile's face: its `gadget-face.bin`, or its Hermes avatar (`assets/avatar.*`) converted with Pillow when installed; the plugin only reads these files, and `profile_faces: false` turns this off. `platforms.gadget.extra.stt_language` sets the transcription language of gadget recordings through the `pre_transcription` hook; other platforms' audio is untouched. Spoken replies that are not WAV are converted with the local ffmpeg; Opus reply audio uses the host's libopus when installed (loaded with ctypes, not bundled). `hermes gadget update --latest` downloads firmware from this repository's GitHub releases, checks size and SHA-256 against the release manifest (files carry build provenance attestations) and sends it to the device. A device that advertises `camera.capture` returns stills that are saved as PNGs under `~/.hermes/gadgetpix/` and kept until removed by hand. A Hermes Desktop page (`desktop/plugin.js`, plugin SDK only) runs a gadget in the window that connects to the local gateway as a device of its own: its device key, and the gateway access token when one is required, are kept in the page's plugin storage, it pairs like any device, and it uses the microphone only while its talk button or Space is held. The plugin's dashboard routes, behind the dashboard's login, can approve the pairing code a device is showing and send a card or run an advertised action on a connected, paired device; the requests pass through files under plugin-data/gadget/desk/. Otherwise writes only under plugin-data/gadget/. Uses Hermes's own STT, TTS and image cache; no telemetry. Independent community project, not affiliated with Nous Research.Communityplatform518Adolaniumhermes-resetwatchTrack subscription quotas and reset times in Hermes Desktop. Disclosure — probe.py re-executes itself under the Hermes Python interpreter located via HERMES_PYTHON / VIRTUAL_ENV / the parent process or the Hermes installer's managed venv (HERMES_HOME/installs). Every credential read is read-only and nothing is refreshed or stored: it reads provider API keys from the process environment, the Hermes .env (through Hermes's get_secret helper, else read directly), the Vaultwarden plugin's local secret cache (cache/vaultwarden_cache.json, only when Vaultwarden is the sole enabled secret source, keyed by a hash of BW_SESSION, which is never sent) and Docker s6 container env files; Hermes's saved OAuth logins (the credential pool through Hermes's read_credential_pool helper, else auth.json directly, and HERMES_HOME/.anthropic_oauth.json); and other coding-assistant CLIs' local logins: Claude Code (credentials file, macOS keychain or Windows Credential Manager), Codex, Cursor (macOS keychain and the IDE's state.vscdb, opened read-only), Kimi, Grok, ZCode and Command Code. For GitHub Copilot (on by default) it tries COPILOT_GITHUB_TOKEN / GH_TOKEN / GITHUB_TOKEN (through Hermes get_secret, else the process environment), then the Copilot editor's apps.json / hosts.json, then runs gh auth token (prompts disabled, 3-second limit), trying each token in turn until GitHub accepts one. For Codex, a 401 or 403 is retried once with another saved login for the same account. It sends each key only to its own vendor's usage endpoint, presenting the vendor client's identity headers where a private endpoint expects them (Claude Code and Codex CLI user agents, the Grok CLI client headers, and for Copilot the VS Code / Copilot Chat editor headers on api.github.com/copilot_internal/user, which GitHub does not document); environment variables such as GROK_CLI_CHAT_PROXY_BASE_URL (honored only for https grok.com / x.ai hosts), CLAUDE_CONFIG_DIR, CODEX_HOME and GROK_HOME change which host or file it uses. Usage results are cached under HERMES_HOME/cache/resetwatch, never tokens. It exposes nothing to the model: it is a Desktop page only.CommunityDesktop app83Adolaniumhermes-rssRead RSS and Atom feeds and discuss articles in Hermes Desktop. Disclosure — feeds and full articles are fetched with curl through the gateway's shell.exec on the connected Hermes host (public-IPv4 SSRF guard); opt-in AI grading sends article excerpts to your configured model and creates HERMES_HOME/skills/rss-importance-grading/SKILL.md if missing; opt-in image loading fetches publisher images directly from Desktop.CommunityDesktop app65Adolaniumhermes-tailscaleBrowse Tailscale devices and connect to remote Hermes instances in Hermes Desktop.CommunityDesktop app60

Developer Mode

Explore built-in Hermes toolsets and actions.

HermesAgent

Developer?

Create a Hermes extension for Desktop or agent workflows.

Developer Section