DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
D

dsh-docks

Docks

DSH 插件 dsh-docks

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:VANvonZHANG/dsh-docks#fbc1cea0e0151fa8fb02e1aee4a7f07c856e37ec
README兼容性版本

说明

DSH 插件 dsh-docks

兼容性与来源证明

Docks 以 dsh-docks 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/8/27

版本

0.1.0stable
2026/8/27

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
未声明
发布源
github
GitHub
★ 1
周下载
0
最近提交
2026/8/27
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题
Docks — DeepSeek Harness 插件(DSH Plugin)

相关插件

继续浏览 ui-customization 分类下经过校验的插件。

Deepseek Idesigndeepseek-idesign作为原生 DeepSeek Harness 对话视图的 iPolloWork Design Studio 及其精选设计模板。Deepseek Ipptdeepseek-ipptiPolloWork PPT Studio 及其精选幻灯片模板,作为原生 DeepSeek Harness 对话视图。Codex Ui@michengai/dsh-codex-uiDSH Codex UI — 为 DeepSeek Harness Web 提供 Codex 风格侧栏、工作区会话树、全局搜索和轮次导航Dream Skindsh-dream-skinDeepSeek Harness 换肤插件(Dream Skin for DSH):8 套 iOS / Linear 式清透冷调的高质感主题 + 弥散光壁纸 + 每款皮肤智能背景 + 强调色 + 主题包分享,把换肤做成材质与配色克制的高级感工艺,而非贴图。在原生 DSH Web 和第三方桌面客户端(DSH Desktop)中运行:8 款原创高端主题、玻璃材质、壁纸 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)