StageWhisper platform adapter for Hermes Agent
Project description
StageWhisper Hermes Platform Adapter
Hermes platform adapter that exposes the StageWhisper desktop app as a first-class messaging surface for your Hermes Agent. Live-call transcripts arrive on a :reasoning chat thread, in-call chat arrives on a :chat thread, and the agent's reply is POSTed back to the desktop's per-task callback URL.
Install
pipx install hermes-platform-stagewhisper
stagewhisper-hermes-install
The installer drops a minimal shim into ~/.hermes/plugins/stagewhisper/:
PLUGIN.yamladapter.py(6-line shim that re-exports the in-package adapter)
pipx upgrade hermes-platform-stagewhisper patches the adapter without re-running the installer. stagewhisper-hermes-install --uninstall removes the shim.
Configure
Required environment variables (set in ~/.hermes/.env or via hermes config):
| Variable | Purpose |
|---|---|
STAGEWHISPER_RELAY_TOKEN |
Bearer token shared with the desktop app (32+ chars). |
STAGEWHISPER_LISTEN_PORT |
Loopback TCP port the adapter binds (1024-65535). |
Optional:
| Variable | Default | Purpose |
|---|---|---|
STAGEWHISPER_LISTEN_HOST |
127.0.0.1 |
Must be loopback. |
STAGEWHISPER_ALLOWED_USERS |
unset | Comma-separated session_id allowlist. |
STAGEWHISPER_ALLOW_ALL_USERS |
unset | 1 to bypass allowlist. |
STAGEWHISPER_MAX_CONCURRENT |
4 |
Max in-flight tasks. |
STAGEWHISPER_CALLBACK_TIMEOUT_S |
10 |
Callback HTTP timeout. |
STAGEWHISPER_DEDUP_CACHE_SIZE |
2048 |
Idempotency LRU size. |
After setting the env vars, restart Hermes. hermes status will list StageWhisper (plugin) - connected.
Wire protocol
Desktop posts to http://127.0.0.1:<port>/v1/incoming with bearer auth. Three event reasons:
transcript_chunk(onlyis_final: trueroutes through the agent) -> chat threadsw:<session>:reasoningchat_message-> chat threadsw:<session>:chatsystem_prelude-> stashed and prepended to the next inbound message for that session as[Context: ...], then cleared
The adapter POSTs the agent's reply to <callback.url>/tasks/<task_id> on the desktop side, where callback.url is a loopback base URL the desktop included on the inbound event.
Local development
uv run --with pytest --with pytest-asyncio python -m pytest -v
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hermes_platform_stagewhisper-0.37.0.tar.gz.
File metadata
- Download URL: hermes_platform_stagewhisper-0.37.0.tar.gz
- Upload date:
- Size: 16.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
98cf2b23880d6f3f1f0da1aa2d525dfa87cf8d3fdd49dcee8968a944e2cbddf5
|
|
| MD5 |
35172df4a6a56e89c0647823eafd48ea
|
|
| BLAKE2b-256 |
ed5154a5cbf539e1b88065d533b4200a5d990405c7c845ccdb3a34522bef7bc2
|
File details
Details for the file hermes_platform_stagewhisper-0.37.0-py3-none-any.whl.
File metadata
- Download URL: hermes_platform_stagewhisper-0.37.0-py3-none-any.whl
- Upload date:
- Size: 20.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
535111f1a58c47d01ba5a8cb3c055618622737a997d40082c8a2ffce6c2edbfe
|
|
| MD5 |
abb5f373787bd418f7201ee2ec5ab856
|
|
| BLAKE2b-256 |
99d3ee2d07d281c66abe0fec7688ba3c034dbe12ae33283f0ebd455161c92e41
|