Skip to main content

jupyter-hermes-proxy

Launch the Hermes Agent dashboard from JupyterLab as a native launcher entry.

Features

  • One-click launch from the JupyterLab launcher panel with a custom Hermes icon
  • Automatic port management via jupyter-server-proxy
  • Works behind reverse proxies (no manual port forwarding needed)
  • Two modes: spawn a new dashboard, or connect to an existing one
  • Configurable Hermes executable path via HERMES_BIN_PATH

Installation

pip install jupyter-hermes-proxy

Then restart JupyterLab. The "Hermes Dashboard" launcher entry will appear automatically.

Configuration

Spawn mode (default)

By default the proxy searches for hermes in PATH and spawns a new dashboard process when you click the launcher.

Override the binary path:

export HERMES_BIN_PATH=/path/to/hermes

URL mode (connect to existing dashboard)

When Hermes dashboard is already running (e.g. supervised by s6 in Docker), point the proxy at it:

export HERMES_DASHBOARD_URL=http://127.0.0.1:9119

In this mode the proxy does not spawn a new process — it simply proxies traffic to the existing dashboard. No hermes binary on PATH is required.

Building the Hermes dashboard web UI (required)

The Hermes Agent pip package does not ship with the compiled web UI frontend. The dashboard will crash with ModuleNotFoundError: No module named 'hermes_cli.dashboard_auth' or show a blank page if web_dist is missing.

You must build the web UI before the dashboard will work:

# Clone the hermes-agent source
git clone --depth 1 --branch v2026.5.29.2 https://github.com/NousResearch/hermes-agent.git /tmp/hermes-agent

# Build the web UI
cd /tmp/hermes-agent/web && npm install && npm run build

# Copy the built assets into your Python environment
cp -r hermes_cli/web_dist $(python -c "import site; print(site.getsitepackages()[0])")/hermes_cli/

In Dockerfile contexts, this is typically done inline:

RUN git clone --depth 1 --branch v2026.5.29.2 https://github.com/NousResearch/hermes-agent.git /tmp/hermes-agent && \
    cd /tmp/hermes-agent/web && npm install && npm run build && \
    cp -r hermes_cli/web_dist /path/to/conda/site-packages/hermes_cli/ && \
    rm -rf /tmp/hermes-agent

Once built, hermes dashboard --skip-build will use the pre-built assets instead of attempting a live build.

Related Packages

  • jupyter-ai-hermes — Hermes Agent as an ACP persona for Jupyter AI chat, with live notebook context injection and MCP tools for cell management.

Both packages share the same HERMES_BIN_PATH environment variable convention.

Development

git clone git@github.com:dive4dec/jupyter-hermes-proxy.git
cd jupyter-hermes-proxy
pip install -e .

How It Works

This package registers a server spec under the jupyter_serverproxy_servers entry point.

  • Spawn mode: jupyter-server-proxy calls setup_hermes() which returns a command that spawns hermes dashboard on an ephemeral port and proxies it through the Jupyter server.
  • URL mode: setup_hermes() returns the pre-existing dashboard URL directly, so jupyter-server-proxy connects to it without spawning anything.

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jupyter_hermes_proxy-0.3.0.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jupyter_hermes_proxy-0.3.0-py3-none-any.whl (4.5 kB view details)

Uploaded Python 3

File details

Details for the file jupyter_hermes_proxy-0.3.0.tar.gz.

File metadata

  • Download URL: jupyter_hermes_proxy-0.3.0.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for jupyter_hermes_proxy-0.3.0.tar.gz
Algorithm Hash digest
SHA256 950cbd120803e34795d40ab6190b9e6318e507c074d580572ff7338e754cc4d4
MD5 48faa183f3f4ec443a32ea9ae6dfd68b
BLAKE2b-256 0c4277c336768f1109d4106d3f6b0a1136f4a8d0f2c7a45f99fe6f377f4bc80b

See more details on using hashes here.

File details

Details for the file jupyter_hermes_proxy-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for jupyter_hermes_proxy-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eb1f1c42a2c82c70013c9d47b8e10be3df01524c6928ebc15ff39bc91b7f5167
MD5 e3e03fa97575aa0c970dc9e6939fac38
BLAKE2b-256 833695153389dac9949c4f0cdc7cf7c76e13975f9f459d0ce3c13b9f160c7489

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 files

0.2.0

1 file

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page