Skip to main content

Jupyter server proxy for Hermes Agent dashboard

Project description

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

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

jupyter_hermes_proxy-0.2.0-py3-none-any.whl (4.3 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for jupyter_hermes_proxy-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1d2ccd43a3b040ea6d24ea81657c71a65b74751c73809fa5dd2229b21e81634a
MD5 6fe0ad72803bc8e8b7da834730562996
BLAKE2b-256 299dd1561780ec9139a898ecc1de33a4143096c14db41b5bc89b03e22de74dc5

See more details on using hashes here.

Supported by

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