DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-zen-mode

C

dsh-zen-mode

Discovered

Zen mode for DeepSeek Harness: a full-screen minimal countdown that hides DSH while tasks run.

dsh-zen-mode

npm license

禅模式 for DeepSeek Harness: a full-screen minimal page that hides the whole DSH Web GUI while your tasks keep running, so waiting on an agent stops costing you attention.

DSH 的任务在禅模式期间照常执行,不暂停、不打断。你只看到剩余时间、期间完成的会话名,和一个退出按钮。

Install

dsh plugin --profile <your-profile> add dsh-zen-mode

Restart the page (or the client) once so the browser loads the new UI module. The plugin is a bundle: it appends itself to dsh.profile.bundles, and no manual cordis.patch.yml edit is needed.

To remove it:

dsh plugin --profile <your-profile> remove dsh-zen-mode

Use

Click 禅模式 / Zen mode in the sidebar, under 插件 and 自动化任务. The whole GUI is covered at once.

PartWhat it shows
LeftThe countdown, 25:00 by default, counting down every second.
Right已完成会话 / Completed sessions, then the names of sessions that finished during this round, in completion order. The heading and the whole column are absent while nothing has finished.
Bottom-rightThe exit button, and beside it the mascot animation.

Nothing else is visible or reachable: no session list, no composer, no settings, no toasts. You cannot open a session without leaving zen mode first.

Mascot

The bottom-right corner shows a small looping animation. It is decoration only: it never takes a click, and a deployment whose Host serves no mascot route simply hides it. The shipped mascot.webp is an animated WebP, 160×160 at 15 fps over 5 seconds (about 283 KB); the original source was a 40 MB, 1280×1280, 30 fps GIF.

Countdown length

Settings → General → 禅模式倒计时时长. Whole minutes from 1 to 120, 25 by default. Every entry starts a fresh countdown; the length applies to the next round.

Exit

Four independent ways out, so the page cannot trap you:

  1. The 退出 / Exit button.
  2. Esc.
  3. The countdown reaching 00:00 — automatic exit.
  4. Reloading the page. The active flag lives only in page memory, so a reload always restores DSH.

A failed unmount also cannot trap you: shortly after an explicit exit, if the page is somehow still covered, the plugin reloads the document.

What counts as a finished session

A session is listed when its running state goes from running to idle. Subagent sessions are excluded. The plugin does not distinguish a normal completion from an aborted, blocked, or failed turn — every stop is listed the same way, because the page only answers "which task can I stop waiting on".

Only completions inside the current round are listed. Sessions that were already finished when you entered are not replayed.

Boundaries

  • Pure overlay. Entering or leaving writes no session log entry, no setting, and no model-visible input. No session is paused, interrupted, or inspected beyond its public running state.
  • Global, not per-session. One page covers the whole client. Multiple browser tabs each run their own round.
  • Leaving lands on the conversation. The sidebar row is a panel entry, and the client exposes no public "current panel" read, so the exit restores the conversation rather than whichever panel you were on before.
  • Coverage is the Web viewport. The desktop window's native title bar buttons and browser-level shortcuts (reload, close tab, DevTools) stay outside it.
  • No telemetry. The plugin reports nothing anywhere.

Compatibility

Tested against DSH 0.2.1-rc.2 on Windows. The plugin declares no dependency on any @deepseek-ai/dsh-* package: the browser half resolves React from the host's module table and registers through the slot API only, so it is not pinned to one DSH release. It needs a DSH build whose Web client provides sidebar.panellist, shell.overlay, main, and settings.general.item.

Files

FileRole
index.jsHost half: serves mascot.webp at /zen-mode/mascot.webp, since a client bundle cannot reach a sibling file.
client.jsBrowser half: the sidebar row, the center-panel trigger, the full-screen page, and the Settings row.
mascot.webpThe bottom-right animation.
cordis.patch.ymlBundle patch inserting the zen-mode Host row.
locale/*.jsonPlugin title and description shown in the plugin list.
icon.svgPlugin artwork.

License

MIT

Comments

Loading…

Similar plugins

dsh-opencode-compat

by dooooling

Standalone OpenCode Zen compatibility bundle for DeepSeek Harness: session headers and Muse reasoning replay

Tools & CapabilitiesDevelopment & InfrastructureManifest valid

★ 0

MIT

JavaScript

Sep 18, 2026

dsh plugin --profile web add dsh-opencode-compat

by NigelYao

view modes for deepseek harness, including Verbose, Normal, Summary Mode

UI & ExperienceDevelopment & InfrastructureManifest valid

★ 3

MIT

JavaScript

Aug 13, 2026

dsh plugin --profile web add dsh-view-modes

by LMQ00

Spec mode for the DeepSeek Harness: interview-driven requirements capture with a read-only working tree.

Manifest valid

★ 0

MIT

JavaScript

Oct 10, 2026

dsh plugin --profile web add dsh-spec-mode

by lisycotana

Observability for DeepSeek Harness code-mode sub-dispatches: the tool calls a run_code program makes that the model never sees.

Manifest valid

★ 0

MIT

JavaScript

Aug 14, 2026

dsh plugin --profile web add dsh-code-lens

by viztor

OpenCode on DeepSeek Harness — DSH plugin that keeps OpenCode Zen + Go free-tier models working: session affinity, gateway origin headers, and tool-schema fallback.

Manifest valid

★ 7

MIT

TypeScript

Oct 27, 2026

dsh plugin --profile web add dsh-opencode-patch

by Xin-kon

DeepSeek Harness (DSH) plugin that pins zh-CN thinking and replies into the system prompt. Zero runtime deps, single file, capability probing, silent degradation.

Tools & CapabilitiesManifest valid

★ 0

MIT

JavaScript

Oct 19, 2026

dsh plugin --profile web add dsh-lang-guard