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.

Docks — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
D

dsh-docks

Docks

DSH plugin dsh-docks

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

npx -y @deepseek-ai/dsh plugin --profile web add github:VANvonZHANG/dsh-docks#fbc1cea0e0151fa8fb02e1aee4a7f07c856e37ec
READMECompatibilityVersions

Description

DSH plugin dsh-docks

Compatibility and provenance

Docks is published as dsh-docks and currently resolves to version 0.1.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
8/27/2026

Versions

0.1.0stable
8/27/2026

Related plugins

Loading related plugins…

Latest
0.1.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
Not declared
Source
github
GitHub
★ 1
Weekly downloads
0
Last push
8/27/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 ui-customization.

Deepseek Idesigndeepseek-idesigniPolloWork Design Studio and its curated design templates as a native DeepSeek Harness conversation view.Deepseek Ipptdeepseek-ipptiPolloWork PPT Studio and its curated slide templates as a native DeepSeek Harness conversation view.Codex Ui@michengai/dsh-codex-uiDSH Codex UI — 为 DeepSeek Harness Web 提供 Codex 风格侧栏、工作区会话树、全局搜索和轮次导航 · A Codex-style sidebar, workspace session tree, global search, and turn navigation for DSH WebDream Skindsh-dream-skinDeepSeek Harness 换肤插件(Dream Skin for DSH):8 套 iOS / Linear 式清透冷调的高质感主题 + 弥散光壁纸 + 每皮肤智能背景 + 强调色 + 主题包分享,把换肤做成材质与配色克制的高级感工艺,而非贴图。Works in native DSH Web and third-party desktop clients (DSH Desktop): 8 original premium themes, glass materials, wallpaper 2.0

README

dsh-docks

A generic web-app docking system for DeepSeek Harness: any local web service (marimo, Pluto.jl, gradio, streamlit…) enters dsh via a one-line declaration and runs alongside the agent session. Zero rewriting, zero translation — just *.localhost wildcard host routing + iframe.

Form Factor (v2)

docks is a pure host docking service; the UI is delegated to DSH-better-sidebar:

  • Docked content: open http://<name>.localhost:3081/ in better-sidebar's embedded browser tab
  • Dock control: better-sidebar's "docks" tab (app list + status dot + start/stop + open)
  • agent tool: say "start marimo" in conversation, or call the docks tool directly (list/status/start/stop/restart)

Prerequisites

  • Install dsh-better-sidebar (dsh plugin --profile web add dsh-better-sidebar)
  • In better-sidebar settings enable browserNoSandbox (globally disables the sandbox; accepts the "all web pages and GUI share an origin" tradeoff, only for locally trusted apps)
  • (Optional) enable agentOpenTools so the model can push URLs straight to the browser tab via sidebar_open

Usage

  1. docks list (in conversation or via the agent tool) → get http://marimo.localhost:3081/
  2. Open the URL (sidebar_open or type it in the address bar) → marimo runs in the browser tab
  3. The "docks" control-panel tab → see all app states at a glance, start/stop, click "↗" to open the browser tab

Architecture

  • host: node:http listens on 127.0.0.1:3081, reverse-proxying to the app's real port by the Host header; injects FRAME_SCRIPT to collapse same-origin opens back into the iframe (docking semantics); serves /_docks/state, /_docks/command, /docks/api/origin
  • client: a control-panel tab registered with better-sidebar (soft-dep; without it, pure agent tooling)
  • agent: the docks tool (list/status/start/stop/restart)

Configuration Reference

Declarations hang under - id: docks / config in the profile patch. listen.host only allows 127.0.0.1 (v1 does not offer 0.0.0.0; the security posture matches the dsh main service).

fielddefaultdescription
listen.host127.0.0.1127.0.0.1 only
listen.port3081port the docks panel service listens on (when taken, activation fails with a hint to change this value)
restarts.maxConsecutive3consecutive-crash restart limit; exhausted → failed
restarts.stableUptimeMs60000running continuously past this duration resets the restart counter
restarts.backoffMs1000, 2000, 4000crash-restart backoff sequence (caps at the last value; the counter resets after continuous running ≥ stableUptimeMs)
apps[][]list of app declarations, see below

App declarations come in two levels (v1 implements L0+L1):

L1 managed (docks handles start/stop, probing, crash restart, desired-state restore)

fielddefaultdescription
namerequiredthe subdomain; must match ^[a-z0-9-]+$, no duplicates
titlenamedisplay name
commandrequired for L1executable (mutually exclusive with external)
args[]command-line arguments
portrequired for L1the port the app actually listens on (pre-checked for occupancy before spawn)
cwd / env—working directory / string environment variables
healthPath/HTTP probe path, expecting a ready response (<500)
healthTimeoutMs120000probe timeout (Pluto's first-boot precompilation can take a minute or two; 30000 suggested for marimo)
startupmanualmanual starts on demand; auto starts on activation (a per-app exception)
modeattacheddetached is accepted by the schema but v1 returns a "not implemented" error

L0 pure access (no process; router passes straight through; the status dot unreachable means the external service is unreachable)

fielddescription
namesame as above
externalrequired for L0, only supports local http://127.0.0.1: addresses, and must not be used with command

Separating Compute from Observation (Security Note)

Heavy simulation does not go into docks. Run multi-core / long-running compute itself under tmux / systemd / slurm; docks only hosts the "observation surface" web app. docks shares dsh's lifecycle — a dsh crash takes attached app processes with it. The right posture: run compute in an external session and declare, in docks, only an L0 pure access pointing at its UI port (external: http://127.0.0.1:8501). The command/state endpoints listen on loopback only and reject cross-origin Origins.

Development

pnpm install
pnpm test        # vitest
pnpm typecheck   # tsc --noEmit
pnpm build       # tsdown

(config details, L0/L1, startup model: see spec)