All plugins

hermes-toolsmith

Local developer tools, transformation recipes, and reviewed chat handoff inside Hermes Desktop.

Adolanium1Desktopv1.0.1Updated 18 days ago

Toolsmith

Everyday developer tools. Right inside Hermes.

Format JSON, decode a payload, compare text, or chain conversions together. Nineteen tool families in one native Hermes Desktop page. Your input stays local until you choose to copy or share it.

POWERED BY HERMES AGENT  ·  COMMUNITY PLUGIN  ·  VERSION 1.0.1

See what it does  ·  Watch the demo  ·  Install  ·  All tools

Toolsmith formatting JSON inside Hermes Desktop

Powered by Hermes

Toolsmith opens straight from the Hermes sidebar and follows your Desktop theme. It uses the native plugin SDK for controls, menus, and the chat handoff. One bundled file. No API key, extra server, or model call.

Small jobs without leaving Hermes

| | |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Make sense of a payloadFormat JSON without rounding large numbers. Expand a JSON tree, inspect a JWT, or pull apart a URL and its query parameters. | Convert what you haveBase64, hex, URL encoding, HTML entities, CSV, timestamps, number bases, and colors. Load a small UTF-8 file or paste your input. |
| Run the whole sequenceChain up to 12 conversions into a recipe. Reorder steps, inspect intermediate results, and save the definition for next time. | Take only what you need to chatSelect a result, review the exact text, then insert it into a draft. Nothing is sent automatically. |

Search the tool list, star your regulars, and run with Ctrl/Cmd+Enter. Suggestions offer likely operations for your input; you choose what runs. Switching tools keeps the original input, and Use output as input makes replacement explicit.

One recipe, three steps

An encoded response does not have to mean three different websites.

URL decode → Base64 decode → Format JSON

Open Recipe, click Load demo and example input, then Run recipe. You get the decoded JSON and an expandable result for every step. Save the recipe to reuse its settings, or copy its definition to share it. Inputs and results are not included in saved definitions.

Nineteen tool families

| Group | Tools |
| --------------------- | ---------------------------------------------------------------------------------------- |
| Encoding | Base64 / Base64URL · URL encoding · HTML entities · Text / hexadecimal |
| Structured data | JSON format / validate · JSON string escaping · JSON tree · JSON comparison · CSV / JSON |
| Inspectors | JWT inspector · Unix timestamp · URL / query inspector |
| Generators and hashes | UUID v4 · Random strings / passwords · SHA-256 / SHA-512 |
| Text and conversions | Text utilities · Text diff · Number bases · Color conversion |

JWT inspection decodes the token; it does not verify its signature. CSV imports preserve cells as strings. Input and output limits keep larger jobs from overwhelming the page. See the tool reference for exact behavior and limits.

Install

Use a current Hermes Desktop with combined-package support. The native demo was recorded on Windows with Desktop 0.21.3.

From GitHub

Run on the machine where Desktop is installed:

hermes plugins install Adolanium/hermes-toolsmith
hermes plugins enable hermes-toolsmith

Restart Desktop or run Reload desktop plugins, then enable Hermes Toolsmith in Capabilities → Plugins. Click Toolsmith in the sidebar. You can also use Toolsmith: Open in the command palette.

Just the Desktop file

Download plugin.js and place it in:

$HERMES_HOME/desktop-plugins/hermes-toolsmith/plugin.js

With the usual defaults, that is ~/.hermes/desktop-plugins/hermes-toolsmith/ on macOS/Linux, or %LOCALAPPDATA%\hermes\desktop-plugins\hermes-toolsmith\ on Windows. Use your configured Hermes home if it differs. No Node.js or build step is needed.

Choose one installation method. Hermes preserves manually installed plugin folders, so an existing manual copy can take precedence over a package install.

From a result to a draft

  1. Select the entire output, a highlighted part, a tree value, or a recipe result using its Select … for chat button.
  2. Switch to a chat and open Add context → Toolsmith: insert reviewed output.
  3. Review or edit the preview, then click Insert into draft.

The handoff needs Hermes's status bar to be visible. Use Toggle status bar in the command palette if it is hidden. Copy output is always available. Drafts and clipboard contents follow their destination's storage behavior.

Local by default

Conversions run in the Desktop renderer. Toolsmith makes no network requests and does not read your clipboard in the background. It saves favorites, the selected tool, and recipe definitions. Input, output, and intermediate results stay in memory while you work. Switching pages keeps them; Clear, Close, or disabling the plugin releases them.

Updates and development

Toolsmith does not replace its own files. Repository installs update through Hermes; manual installs update by replacing plugin.js with a release file. Catalog installs, once admitted, use reviewed commit pins and hermes plugins update hermes-toolsmith.

To work on the plugin, use Node.js 22 or newer:

npm ci
npx playwright install chromium
npm run check
npm run format:check

The build produces the single committed artifact at desktop/plugin.js. Source lives in src/; tests and build scripts stay in tests/ and scripts/. Browser tests exercise the built artifact with a mock SDK. The demo shows the real Desktop app. The small Python entry point exists for Hermes package discovery and registers no Agent tools or hooks.

License

MIT. Bundled dependency notices are in THIRD_PARTY_NOTICES.md.


Toolsmith
Keep the small jobs inside Hermes.

Community project
Toolsmith is an independent community plugin. It is not affiliated with or endorsed by Nous Research or the Hermes Agent project. Their names and marks belong to their respective owners.

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

More by Adolanium

24 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. 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. 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.Communityplatform466Adolaniumhermes-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 app81Adolaniumhermes-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 app63Adolaniumhermes-tailscaleBrowse Tailscale devices and connect to remote Hermes instances in Hermes Desktop.CommunityDesktop app60