Apache-2.0 DSH web GUI plugin collection: a workspace canvas (draggable cards, infinite grid, persisted layout) and opt-in session auto-archive, installable per plugin or via the dsh-all aggregate.
DSH integration
Native runtime
Author-claimed
Safety audit
Unaudited
Last verified
2026-11-11
License
Apache-2.0
01What can it help you accomplish?
See every workspace of the DSH web GUI as one canvas instead of a sidebar list
A canvas where each workspace is a draggable card with title, path and session counts, panning and zooming on an infinite grid, switchable background styles and a persisted layout
People running many DSH workspaces who keep losing track of them in the sidebar
Keep old sessions from piling up without silently changing anything
Opt-in automatic archiving on two conditions (idle time or unarchived count), with adjustable thresholds, per-workspace overrides and idempotent skips
Long-running DSH users whose session lists grow faster than they clean them
02How to install into DeepSeek Harness
Prerequisites
- A DSH web profile you can add a plugin to — the README uses `dsh plugin --profile <name>`
- For development from source: pnpm, then `pnpm install` and `pnpm -r build`
Installation steps
- 01
Install the single plugin: `dsh plugin --profile <name> add link:<repo>/packages/dsh-workspace-canvas`
$ dsh plugin --profile <name> add link:<repo>/packages/dsh-workspace-canvas
- 02
Or install the aggregate package `@hundun/dsh-all`, whose patch inserts every sub-plugin row
- 03
Restart `dsh web`
$ dsh web
Verify the integration
- A canvas entry button appears in the sidebar workspace search row
- Clicking it switches the middle area to the canvas with all workspaces rendered
- Clicking a card opens its details; double-clicking opens a new session in that workspace
03DSH integration and capability boundaries
DSH web GUI plugin collection — each plugin is an npm package with a host half and a browser half, injected through dsh.bundle.patch (cordis.patch.yml)
Workspace canvas
all workspaces registered in the DSH web GUI→one card per workspace with title, path and session counts; drag to position, zoom and pan on an infinite grid, persisted layout
Workspace detail panel
a click on a canvas card→a three-section card: identity, basic info (directory / path / workspace ID with one-click copy) and session counts
Session auto-archive
idle time and unarchived session counts→automatic archiving when either condition is met, oldest first when over the cap
archiving hides sessions from the grouped UI through the official archiveSession, keeping logs and records and staying reversiblerunning sessions and sessions without timestamps are skippedCanvas settings section
the workspace-canvas settings page→enable switch, background style and auto-archive defaults, grouped on one page
per-workspace settings override the global defaultsAggregate bundle (@hundun/dsh-all)
the aggregate package installed into the profile tree→every sub-plugin row inserted at once
generated cordis.patch.yml and dependencies are produced by scripts/aggregate.mjs and must not be hand-edited
04Who is it for? When not to use it?
Good for
- People running many DSH workspaces who keep losing track of them in the sidebar
- Long-running DSH users whose session lists grow faster than they clean them
Not for
- Auto-archive is off by default so nothing silently changes sessions; the built-in defaults are 30 days idle and a cap of 30 unarchived sessions.
- `packages/*/cordis.patch.yml` and the aggregate package dependencies are generated by `scripts/aggregate.mjs`; edit `aggregate.yml` and re-run instead of hand-editing them.
- The browser half may only import platform modules and the inline safety layer; cross-plugin collaboration must go through cordis services.
05Compatibility, maintenance and safety notes
- Auto-archive is off by default so nothing silently changes sessions; the built-in defaults are 30 days idle and a cap of 30 unarchived sessions.
- Archiving hides a session from the grouped UI but keeps its log and records via the official `archiveSession`, and it can be restored at any time — the canvas counts update immediately.
- `packages/*/cordis.patch.yml` and the aggregate package dependencies are generated by `scripts/aggregate.mjs`; edit `aggregate.yml` and re-run instead of hand-editing them.
- The browser half may only import platform modules and the inline safety layer; cross-plugin collaboration must go through cordis services.
- Each package carries vitest (jsdom) tests covering runtime behaviour, and changes must ship with tests.
Apache-2.0 · README evidence only, latest release release/V1.0.0, safety not audited
06Frequently asked questions
How do I install it into a DSH web profile?
Install one plugin with `dsh plugin --profile <name> add link:<repo>/packages/dsh-workspace-canvas`, or install the aggregate `@hundun/dsh-all` whose patch inserts every sub-plugin row. Then restart `dsh web`: a canvas entry button appears in the sidebar workspace search row.
Does auto-archive delete my sessions?
No. It uses the official `archiveSession`: archived sessions are hidden from the grouped UI while logs and records are kept and can be restored at any time. Running sessions and sessions without timestamps are skipped, and already-archived sessions are not processed again.
Will it change sessions without asking?
No — auto-archive is off by default so nothing silently changes sessions. When enabled, the built-in defaults are 30 days idle or 30 unarchived sessions, both adjustable in days/hours/minutes, with a per-workspace override over the global default.
How does the canvas behave?
Each workspace is a card showing title, path and session count. Cards can be dragged, the grid zooms and pans, the layout persists, and background style (grid / dots / solid / gradient / dark grid) can be switched from the settings page or the canvas toolbar. Clicking a card opens its details, double-clicking opens a new session there.
I want to build my own plugin in this collection — what are the conventions?
Packages are named `@hundun/dsh-<name>` under `packages/dsh-<name>` with plugin row ids `hundun-<name>`, each with a host half (`src/index.ts`) and a browser half (`src/client/index.ts`). Generated `cordis.patch.yml` files and aggregate dependencies come from `scripts/aggregate.mjs`, and each package needs vitest (jsdom) coverage for its changes.
07Related DSH workflows
huashu-design
by alchaincyf
Creates selectable design directions and delivers interactive prototypes, PPTX, animations, and visual assets.
dsh-tui
by ccch1mneyyy
Claude Code 风格全屏终端 TUI:像素鲸鱼顶栏、双流光大字、实时工作状态行、思考流式展开、双击 Esc 时间回溯、上下文进度条 + TPS 仪表;接入 Agent preset(standard/code/minimal/cordis)、Skills、MCP、Goals、Todos、子代理,/ 命令注册表与随附技能(audit/bug/review/practice/pr_comments/release-notes/vuln-check);纯插件挂载零核心改动。
dsh-better-sidebar
by omdsh-dev
Full sidebar workbench with file rendering and editing, terminal, Git, and subagents; third-party plugins can register new tabs.
dsh-media-desk
by woniuniuniu
Capture ideas and generate scripts, titles, covers, images, storyboards, schedules, and review data in a sidebar media workspace.
08Data and sources
**hundun-dsh** 是 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)(DSH)Web GUI 的开源插件集合
每个插件都是一个符合 DSH 官方标准、可独立安装的 npm 包(宿主半区 + 浏览器半区),聚合包 `dsh-all` 一键装配全部插件。
插件经 `dsh.bundle.patch`(`cordis.patch.yml`)注入 DSH profile 组合。
This page is generated from the project’s public documentation, repository metadata and a structured parse of DSH Plugins; last verified on 2026-11-11. Found an error? Submit a correction.
Best DeepSeek Harness Plugins
Twelve plugins worth installing first — picked from the whole catalog, across every category.
