Skip to main content

StageWhisper Hermes Plugin

Hermes plugin that connects to StageWhisper's encrypted reasoning relay. Receives live call reasoning jobs, executes them via Hermes's configured main LLM provider (the same model Hermes itself uses), and returns results.

Install

pipx run --spec hermes-plugin-stagewhisper stagewhisper-hermes-install

The installer finds the active hermes command, copies the plugin into ~/.hermes/plugins/stagewhisper, and enables it.

If you use uv, this equivalent command is faster:

uvx --from hermes-plugin-stagewhisper stagewhisper-hermes-install

If neither pipx nor uv is installed:

python3 -m venv /tmp/stagewhisper-hermes-install
/tmp/stagewhisper-hermes-install/bin/python -m pip install -U hermes-plugin-stagewhisper
/tmp/stagewhisper-hermes-install/bin/stagewhisper-hermes-install

On Ubuntu, install python3-venv first if python3 -m venv is unavailable.

For local development, copy or symlink hermes_stagewhisper_plugin/ into ~/.hermes/plugins/stagewhisper/.

The plugin reasoning route uses Hermes's main provider — whichever you configured with hermes config (Nous Portal, OpenRouter, OpenAI, Anthropic, Codex, Ollama, etc.). No additional LLM credentials are needed.

Optional overrides in ~/.hermes/.env:

  • STAGEWHISPER_REASONING_MODEL — Force a specific model instead of Hermes's main default
  • STAGEWHISPER_API_URL — StageWhisper backend override (normally set by pairing)

Pair

  1. In StageWhisper desktop → Settings → Assistant → Hermes → Generate Pairing Code
  2. On your Hermes host:
stagewhisper-hermes pair --code <CODE>

The plugin exchanges X25519 keys and stores the relay config.

The pair command restarts the Hermes gateway after a successful pair. If that restart fails, run:

hermes gateway restart

Verify

stagewhisper-hermes status

BYO mode (end-to-end encrypted reasoning)

When the desktop is in BYO reasoning mode, all analysis prompts are encrypted end-to-end between the desktop and the plugin. The plugin decrypts, runs the prompt through your LLM, encrypts the result, and posts it back.

Unpair

stagewhisper-hermes unpair

Tools for the LLM

The plugin registers three tools Hermes's LLM can call:

  • stagewhisper_pair(code, label, api_url) — Pair with StageWhisper desktop
  • stagewhisper_relay(action) — Start/stop/status/restart the relay
  • stagewhisper_unpair() — Unpair and clear config

Architecture

Desktop (E2EE) ↔ StageWhisper Backend (blind relay) ↔ Hermes Plugin (this)
                                                          ├── SSE stream consumer
                                                          ├── XChaCha20-Poly1305 crypto
                                                          └── agent.auxiliary_client.async_call_llm(provider="main")

Metadata

Release files for hermes-plugin-stagewhisper 0.29.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hermes-plugin-stagewhisper 0.29.0
File Size Uploaded
hermes_plugin_stagewhisper-0.29.0.tar.gz 24.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hermes-plugin-stagewhisper 0.29.0
File Interpreter ABI Platform
hermes_plugin_stagewhisper-0.29.0-py3-none-any.whl Python 3 none any Details

Total release size: 53.7 kB

Release files / hermes_plugin_stagewhisper-0.29.0.tar.gz

Download URL hermes_plugin_stagewhisper-0.29.0.tar.gz
Size 24.9 kB
Tags Source
SHA-256 checksum
How to use checksums
886adf518b5cce22d2387af17b8f07898c189ba9a6e43c66ad2fb5da2cc09aa2
BLAKE2b-256 checksum
How to use checksums
096d3cfeda1e00a53f515d9a27d6d37b5c3480ade3e2a0881d31d97e513449be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Release files / hermes_plugin_stagewhisper-0.29.0-py3-none-any.whl

Download URL hermes_plugin_stagewhisper-0.29.0-py3-none-any.whl
Size 28.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
05768ca6425697084af23f168e539046d08641542a9ae2db12ca6a60dde0ee55
BLAKE2b-256 checksum
How to use checksums
a9f91d560bf5d084132796584b5abd4d829c15b24c7a64c1160468a376ab9a55
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Release history Release notifications | RSS feed

This release

0.29.0 This release

2 release files

0.23.0

2 release files

0.22.0

2 release files

0.21.0

2 release files

0.20.0

2 release files

0.19.0

2 release files

0.18.0

2 release files

0.16.0

2 release files

0.14.0

2 release files

0.12.0

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page