Skip to content

Releases: sanchomuzax/hermes-theme-editor

v0.4.4 — Font override + background filler fix

05 May 20:29

Choose a tag to compare

Font forced via !important in customCSS so DM Sans overrides Tailwind utility classes. assets.bg set to "none" to suppress the Hermes default background filler image.

v0.4.3 — Claude theme redesign

05 May 20:29

Choose a tag to compare

Anthropic theme redesigned to match claude.ai: near-black background, zero noise, DM Sans font, refined color tokens.

v0.4.2 — Font apply fix + background bleed fix

05 May 19:59

Choose a tag to compare

Fixes in 0.4.2

Font not changing — fixed

Two things were wrong:

  1. Tailwind's --font-sans wasn't being updated. Hermes uses both --theme-font-sans (the theme system variable) and Tailwind v4's --font-sans (used by .font-sans utility classes on components). We were only setting the first one. Now both are set together.

  2. Typography vars were skipped when falsy. The old code did if (t.fontSans) setProperty(...) — meaning a blank value left the previous theme's font in place. Now every typography variable is always written unconditionally.

Background from another theme appearing — fixed

applyThemeToDom now mirrors Hermes's internal _PREV_DYNAMIC_VAR_KEYS pattern: every --component-* and --theme-asset-* variable written by the previous theme call is tracked and wiped before the new theme's variables are applied. Previously only --theme-asset-bg was cleared; now all asset slots and all component buckets are handled.

Native switcher / F5 reverting to wrong theme — fixed

handleActivate now writes to window.localStorage["hermes-dashboard-theme"] (same key as Hermes's own setTheme()). This means the native bottom-left theme switcher and F5 reload both see the correct active theme instead of whatever was active when the page first loaded.

v0.4.1 — Instant theme activate + screenshot

04 May 22:52

Choose a tag to compare

Fixes

Activate button now works like the native Hermes switcher

Previously, clicking ✓ Activate set the active theme in config but left all CSS variables at their old values until you reloaded the page. Now it calls applyThemeToDom() immediately after the API call — palette, fonts, border radius, and the background asset all switch in one click, without a reload.

Background asset cleared on theme switch

When the newly activated theme has no background image/gradient, the old theme's background is now properly removed (previously the old --theme-asset-bg variable was left in place).

Other

  • docs/screenshot.png added; shown at the top of the README on GitHub.

v0.4.0 — Hide from sidebar + Anthropic theme

04 May 22:42

Choose a tag to compare

What's new in 0.4.0

Fix: Hide from sidebar actually works now

The ⊘ Hide from sidebar button at the bottom of the Theme List panel calls the visibility API and immediately reloads the page — so the Theme Editor tab disappears in one click, no manual reload needed.

The Hermes Plugins page buttons require a page reload to take effect (Hermes core limitation). The new button inside the plugin does everything atomically.

To restore the tab: open the Plugins menu → find hermes-theme-editor → click Show in sidebar, then reload.

New: Anthropic / Claude gift theme

A high-quality anthropic theme is now bundled and installed automatically on first run of install.sh:

  • Background #1a1410 — warm near-black
  • Accent #d97757 — Anthropic terracotta
  • Text #e8e2d8 — warm off-white
  • Font Inter + JetBrains Mono
  • Custom scrollbar and focus-ring CSS matching the Claude.ai aesthetic
  • All 17 shadcn color tokens carefully tuned

The file is copied to ~/.hermes/dashboard-themes/anthropic.yaml only if it doesn't already exist — re-installing never overwrites your edits.

Upgrade

cd hermes-theme-editor
git pull
bash install.sh
# restart Hermes Agent

v0.3.0 — Instant apply, hex colours, native buttons

04 May 22:24

Choose a tag to compare

hermes-theme-editor v0.3.0

What's new

Instant theme apply on save
Saving the currently-active theme now applies all CSS variables directly to the page — no reload required. The plugin writes palette layers (color-mix), typography vars (--theme-font-*, --theme-base-size), layout vars (--radius, --theme-spacing-mul), colour overrides, component styles, assets, customCSS, and layoutVariant directly to :root, exactly mirroring what Hermes Agent does internally.

Hex colour input for rgba values
Colour-override fields that store rgba(...) values (e.g. border, muted) now display the correct hex colour in the text input instead of #000000. The resolver parses rgb/rgba strings and converts them to hex.

Native button styling
Save / Activate / Delete / Close buttons in the Live Preview column are now plain <button> elements styled with theme CSS variables, matching the rest of the editor UI. The SDK Button component was producing styles visually foreign to the editor.

Upgrade

bash install.sh
systemctl --user restart hermes-dashboard.service

v0.2.0 — Visual Theme Editor

04 May 21:56

Choose a tag to compare

hermes-theme-editor v0.2.0

Complete rewrite of the dashboard UI — from a basic theme selector to a full visual Theme Editor.

What's new

3-panel layout

  • Left (220 px) — theme list: built-in presets (clone-only) + your user themes (fully editable)
  • Centre (flex) — 8 collapsible editor sections covering every theme property
  • Right (280 px) — live preview: mini Hermes UI mockup (header, sidebar, chat, input) updates as you type

Editor sections

  1. Theme identity — internal name + display label
  2. Base colours — background, midground, foreground (hex + alpha), warm glow (rgba), noise opacity
  3. UI colours — all 17 shadcn-compat colour-override tokens with human-readable labels
  4. Typography — sans-serif, monospace, display font pickers (21 open-source fonts) + custom URL
  5. Font sizes — base size (rem) and line-height sliders
  6. Layout — border-radius slider, density radio, layout variant
  7. Background asset — gradient string or image URL
  8. Custom CSS — textarea with live 32 KiB cap indicator

New field components: ColorField, GlowField, SliderField, FontPicker, RadioGroup, TextareaField

Built-in theme protection: default, midnight, ember, mono, cyberpunk, rose are read-only; Clone creates an editable copy.

Sidebar tab renamed from "Themes" to "Theme Editor".

Upgrade

bash install.sh
systemctl --user restart hermes-dashboard.service

v0.1.0 — Initial release

04 May 21:56

Choose a tag to compare

hermes-theme-editor v0.1.0

First development release of the Hermes Agent Theme Editor plugin.

What's included

  • Backend API — FastAPI router mounted at /api/plugins/hermes-theme-editor/
    CRUD endpoints for user themes stored in ~/.hermes/dashboard-themes/
  • Theme validation — slug regex, hex colour checks, font URL domain whitelist, 32 KiB CSS cap
  • Atomic persistence — temp-file + os.replace() writes; path-traversal protection
  • Dashboard plugin manifest — native tab registered in the Hermes Agent sidebar
  • i18n — English, Hungarian, Chinese translations
  • LLM tools & slash command — theme_editor_* tools, /theme-editor command
  • Tests — validator (22 cases), repository (14 cases), API integration (17 cases)

Installation

bash install.sh
systemctl --user restart hermes-dashboard.service

Pre-alpha. Not published to PyPI.