Back to directory

hundun-dsh

In a curated listMaintenance: Active

myflx/hundun-dsh

Adds a visual workspace canvas with draggable cards, workspace details, navigation, persistent layout, and opt-in automatic session archiving.

View on GitHub
$ dsh plugin --profile <name> add link:<repo>/packages/dsh-workspace-canvas

21

stars

0

forks

TypeScript

Language

Apache-2.0

License

2026-08-15

Created

2026-08-31

Last push

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

  1. 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

  2. 02

    Or install the aggregate package `@hundun/dsh-all`, whose patch inserts every sub-plugin row

  3. 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 integrationNative runtime

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 skipped
  • Canvas 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 defaults
  • Aggregate 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.
2026-08-152026-08-31release/V1.0.0

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.

08Data and sources

  • Author-claimedgithub.com5767010c617c…

    **hundun-dsh** 是 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)(DSH)Web GUI 的开源插件集合

  • Author-claimedgithub.com5767010c617c…

    每个插件都是一个符合 DSH 官方标准、可独立安装的 npm 包(宿主半区 + 浏览器半区),聚合包 `dsh-all` 一键装配全部插件。

  • Author-claimedgithub.com5767010c617c…

    插件经 `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.

DSH Plugins is an independent community directory of DeepSeek Harness plugins. Not affiliated with or endorsed by DeepSeek. Third-party plugins are not security-audited — review the source before installing.

New DeepSeek Harness plugins, weekly. No spam.