DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Better Sidebar Jupyter — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
B

@dong-victor/dsh-better-sidebar-jupyter

Better Sidebar Jupyter

Jupyter notebook support for the dsh-better-sidebar editor: .ipynb opens inline as a runnable notebook viewer with IDEA/PyCharm-style run mode (Ctrl+Enter / Shift+Enter / run-all shortcuts, IDEA toolbar, gutter run icons, In/Out labels, execution duration, collapsible tracebacks), a lazy-start Pytho

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:dong-victor/dsh-better-sidebar-jupyter#815402a08e18341b01291eb1fb7f8979e0452eaa
READMECompatibilityVersions

Description

Jupyter notebook support for the dsh-better-sidebar editor: .ipynb opens inline as a runnable notebook viewer with IDEA/PyCharm-style run mode (Ctrl+Enter / Shift+Enter / run-all shortcuts, IDEA toolbar, gutter run icons, In/Out labels, execution duration, collapsible tracebacks), a lazy-start Python kernel (jupyter_client + ipykernel via python/bridge.py), background execution and save-back. Registers the ipynb file viewer through the ctx.betterSidebar service.

Compatibility and provenance

Better Sidebar Jupyter is published as @dong-victor/dsh-better-sidebar-jupyter and currently resolves to version 0.2.5. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
10/13/2026

Versions

0.2.5stable
10/13/2026

Related plugins

Loading related plugins…

Latest
0.2.5
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
10/13/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in developer-tools.

Web App@deepseek-ai/dsh-web-appThe dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving, web-surface prompt, bash runtime variables, URL line)Sdk App@deepseek-ai/dsh-sdk-appThe dsh SDK profile bundle: stdio JSON-RPC serving and process lifecycle over dsh-baseExperimental Inspector@deepseek-ai/dsh-experimental-inspectorExperimental cross-realm CDP hub for Host debugging and Client Runtime inspectionExperimental Inspector Profile@deepseek-ai/dsh-experimental-inspector-profileOptional Web bundle for raw Session logs and Chat node inspection

README

dsh-better-sidebar-jupyter

Jupyter notebook support for dsh-better-sidebar: .ipynb files open inline in the sidebar editor as a runnable notebook view — Python syntax highlighting, cell execution through a lazy-start Python kernel (jupyter_client + ipykernel via python/bridge.py), streaming outputs, and save-back.

Merged from the Jupyter support of @dong-victor/dsh-explorer, adapted to the better-sidebar plugin architecture: the viewer registers through the ctx.betterSidebar.registerFileViewer service, and every route is session-scoped — the notebook must live inside the conversation's working directory.

Requirements

  • dsh-better-sidebar ≥ 0.13.0 (the registerFileViewer service)
  • Python with jupyter_client and ipykernel for cell execution: pip install jupyter_client ipykernel

Install

cd ~/.dsh && dsh plugin --profile web add @dong-victor/dsh-better-sidebar-jupyter

(or add it from the Side card settings → 文件预览 → “添加预览插件”.)

What you get

  • .ipynb opens in the sidebar editor (single-click in the explorer / any open-path flow), rendered by the inline notebook viewer.
  • IDEA/PyCharm-style run mode — shortcuts and toolbar mirror IntelliJ's Jupyter support (Windows keymap):
    • Ctrl+Enter — run the current cell (stays in the cell for editing).
    • Shift+Enter — run the current cell and select the cell below; when there is no cell below, a new one is created (IDEA behavior).
    • Ctrl+Alt+Shift+Enter — run all code cells.
    • Ctrl+F2 — interrupt the running kernel.
    • Ctrl+Home / Ctrl+End — move the caret to the start/end of the current cell; outside an editor, focus the first/last cell of the notebook.
    • Ctrl/Cmd+S — save.
  • IDEA toolbar: ▶ Run cell and select below · ▶▶ Run all · ■ Interrupt · ↻ Restart · ⏻ Shutdown · 🧹 Clear all outputs · + Add cell below · ↑/↓ Move cell · cell-type selector (Code/Markdown/Raw) · ⇡/⇣ select above/below · kernel status widget (state + kernel name) · save.
  • Per-cell IDEA affordances: green ▶ gutter run button on every code cell (hover/selected), In [n] execution counter, Out[n] on results, and the execution duration in the cell's lower-left corner (hover shows the completion date/time). Error outputs render as collapsible tracebacks (IDEA-style summary row + expand toggle).
  • Lazy kernel: the Python bridge starts on the first run — no startup cost for plain browsing. Kernels keep running in the background while the editor is closed, and finished executions are written back into the .ipynb file (run-all survives tab switches / session switches / reconnects). Reopening a notebook — or coming back after switching sessions — re-syncs the whole batch: the executing cell shows as running with its latest partial output, and the queued tail of a run-all batch shows as queued.
  • Explorer indicator: notebooks whose kernel is alive get a green dot next to their file name in the sidebar file browser (pulsing while a cell executes), so a background run is visible even with the notebook closed.
  • Syntax highlighting follows the app theme (IDEA/Darcula-style Python highlighting, --dsw-* tokens).

Architecture

  • src/index.ts (host half): mounts the fenced routes /api/dsh-better-sidebar-jupyter/* (env / notebook GET+PUT / kernel lifecycle) and the kernel WebSocket upgrade, with one KernelManager per notebook path. Every request carries sessionId (+ optional cwd) and a path; src/host/gate.ts requires the canonical path to live inside the session's authoritative working directory.
  • python/bridge.py: a JSON-lines RPC shim that owns the real Jupyter kernel (all ZeroMQ handling stays in Python — no native ZMQ bindings in Node).
  • src/client/ (client half): the .ipynb file viewer (NotebookView) wraps the notebook editor UI (EditorView + cells + outputs), talking to the host through a session-scoped JupyterApi.

Security

All routes pass the same browser-trust fence as the DSH /api gateway (Host-header loopback or trustedHosts), and notebook paths are gated to the session's cwd — a cross-site page cannot reach the kernel or read/write files outside the conversation's directory.

License

MIT