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 URL-mode proxy spec that points at
that already-running server:
browser → jupyter-server-proxy (/proxy/<port>/) → dsh web (127.0.0.1:<port>)
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:
~/.dsh/web.port— written by the41-dsh-webboot hook (single source of truth for a non-default port).DSH_WEB_PORTenv var — a literal number, orrandom/auto/0to pick a free port (used only ifweb.portis absent).- 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.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jupyter_dsh_proxy-0.1.0.tar.gz | 6.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jupyter_dsh_proxy-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.2 kB
Release files / jupyter_dsh_proxy-0.1.0.tar.gz
| Download URL | jupyter_dsh_proxy-0.1.0.tar.gz |
|---|---|
| Size | 6.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7909b1150b2c0856f5d0f202c36fc8ead8059dad01c9e36e9d3ba395a26ceda4
|
|
BLAKE2b-256 checksum How to use checksums |
1179bda5e946b9c3376e40703e08d2f73d8268a144d62c398ca5a8f9f881ceb1
|
| 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.1.0-py3-none-any.whl
| Download URL | jupyter_dsh_proxy-0.1.0-py3-none-any.whl |
|---|---|
| Size | 5.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dab5a7bf69fa1902e93285546b1e0540fd0b29c804b1c785995dc94cb901a683
|
|
BLAKE2b-256 checksum How to use checksums |
4940b08613941ac5793180e554670914fb411a28526a742c82a8bdb65627b570
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.5
|