Skip to main content

jupyter-dsh-proxy

A jupyter-server-proxy launcher entry for the DeepSeek Harness (dsh) web UI.

It adds a "DeepSeek Harness" tile to the JupyterLab launcher that opens the dsh web UI in a new tab — without requiring code-server / VS Code to be running first.

How it works

The dsh web server is started independently at pod boot by the 41-dsh-web boot hook (in the divenb image), which runs dsh web on a fixed loopback port. This package registers a PORT-mode proxy spec that points at that already-running server:

browser → jupyter-server-proxy (/dsh/) → dsh web (127.0.0.1:<port>)

The spec uses {"port": <P>, ...} — not url mode. jupyter-server-proxy 4.x's ServerProcess has no url traitlet; a url-only spec registers no proxy handler and the tile 404s. Port mode registers a real _Proxy handler at the tile's link path (/…/dsh/). request_headers_override pins the Host header to the loopback bind (mirrors jupyter-hermes-proxy).

The same dsh web instance is shared with the VS Code extension: the extension only auto-starts dsh web when nothing is already listening at its dsh.url, so a boot-hook-owned instance is used by both entry points.

Port selection

The launcher resolves the target port in this order:

  1. ~/.dsh/web.port — written by the 41-dsh-web boot hook (single source of truth for a non-default port).
  2. DSH_WEB_PORT env var — a literal number, or random / auto / 0 to pick a free port (used only if web.port is absent).
  3. default 3080 — the dsh web default and the VS Code extension default, so both entry points agree with no configuration.

The port is a documented dsh web flag (dsh web --port <P>), not a patched default, so it survives dsh version bumps.

Installation

uv pip install /path/to/jupyter-dsh-proxy

The dsh entry point is auto-discovered by jupyter-server-proxy; no additional configuration is required. The launcher tile appears under the "Other" section.

Metadata

Release files for jupyter-dsh-proxy 0.2.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 jupyter-dsh-proxy 0.2.0
File Size Uploaded
jupyter_dsh_proxy-0.2.0.tar.gz 31.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jupyter-dsh-proxy 0.2.0
File Interpreter ABI Platform
jupyter_dsh_proxy-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 61.3 kB

Release files / jupyter_dsh_proxy-0.2.0.tar.gz

Download URL jupyter_dsh_proxy-0.2.0.tar.gz
Size 31.7 kB
Tags Source
SHA-256 checksum
How to use checksums
3634ab21df1464cc3bc99837be829cb311e5644729b32b0816c372c297ef869f
BLAKE2b-256 checksum
How to use checksums
2591d5d831cb8b6a544ac53f983024db6ce23287808d8753fe88c9564671043a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.5

Release files / jupyter_dsh_proxy-0.2.0-py3-none-any.whl

Download URL jupyter_dsh_proxy-0.2.0-py3-none-any.whl
Size 29.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a690ebc97f92581a1ea9b60a8c74e09126a7e5e30c8425f19b33070fc53491c3
BLAKE2b-256 checksum
How to use checksums
38f515a7c51d37e31179e17729bad2f42fe95c644dc8922ecb675bb8a089e1d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.5

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.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