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.

DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
W

dsh-workspace-recent-sort

Workspace Recent Sort

DeepSeek Harness sidebar plugin: order Workspace groups by their latest conversation, show compact conversations with a hover reveal, keep running/waiting sessions visible, and scroll to the selected session.

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

npx -y @deepseek-ai/dsh plugin --profile web add github:easychen/dsh-workspace-recent-sort#4e8074c33f4d544b09d0f4399d382abda1b4f722
READMECompatibilityVersions

Compatibility and provenance

Workspace Recent Sort is published as dsh-workspace-recent-sort and currently resolves to version 0.2.1. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
11/2/2026

Versions

0.2.1stable
11/2/2026
0.2.0stable
11/2/2026

Related plugins

Loading related plugins…

Latest
0.2.1
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 4
Weekly downloads
0
Last push
11/2/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 productivity-workflow.

Acp App@deepseek-ai/dsh-acp-appThe dsh ACP profile bundle: automation-only JSON-RPC stdio and process lifecycle over dsh-baseExperimental Schedule Bundle@deepseek-ai/dsh-experimental-schedule-bundleOptional bundle that adds Schedule, its task page, and time context to the Web compositionAb Ocrdsh-ab-ocr--- description: "The out-of-tree ocr tool: recognizes a scanned PDF or image page by page, merges the pages in order only after the last one, and saves one Markdown document with the heading levels the model decided." kind: "package-reference" ---Remotedsh-remoteRemote-work assistant for DeepSeek Harness: connect SSH (password/key/agent/keyboard-interactive, multi-hop ProxyJump), list hosts from ~/.ssh/config, pick a remote workspace, operate on it with 21 rw_* tools, conflict-aware mirror sync, an embedded PTY t

README

dsh-workspace-recent-sort

Repository: https://github.com/easychen/dsh-workspace-recent-sort

DeepSeek Harness sidebar plugin with three related behaviors:

  1. WorkSpace groups follow “Last updated” — a Workspace with a newer conversation rises to the top of the sidebar.
  2. Compact Workspace conversations — an expanded Workspace shows only its newest conversation; hovering reveals the next few with an animation.
  3. Scroll back after a reorder — when the automatic ordering moves groups, the sidebar scrolls the currently selected conversation back into view.

The ordering and compact-display behaviors have switches in Settings → 工作区 / Workspaces.

The problem

DSH's native Order by → Last updated sorts Sessions inside each Workspace. Workspace groups themselves always render in the Host's durable workspaceIds order (the order produced by dragging folders). A Workspace with a brand-new conversation therefore stays wherever it was manually placed.

This plugin leaves that durable order untouched. It only changes the browser projection while, and only while, both of these are selected:

  • Group by = WorkSpace (按工作区)
  • Order by = Last updated (最近更新)

Behavior

Recent ordering

  • Workspace groups are ordered by the newest updatedAt among their real conversations, newest first. Archived conversations still count; a visible archived row is a real conversation.
  • Provisional blank Sessions (the "New Session" placeholder) and hidden subagent children do not count as conversation activity.
  • Workspaces with no loaded conversation fall to the bottom. Ties keep the Host's relative order, so the result is deterministic.
  • Switching to Manual order (手动排序), Workspace Tree (按工作区树), or the flat list restores the native order immediately.
  • No Host state is written: the durable Workspace order is unchanged, no Session is moved, and there is no network request. Workspace drag commits are suppressed while Last updated is active, because a durable reorder would be invisible under the recency projection; switch to Manual to arrange folders.
  • The plugin only wraps the sidebar's registered WorkspaceBrowser. The Workspace picker, search results, session rows, archive filters, pins, and session drag behavior remain native.

Compact conversations

  • In Group by → WorkSpace, an expanded Workspace shows only its newest conversation row by default, plus any row that must stay actionable.
  • Hovering the Workspace header or its visible row animates the next three conversations into view (the newest conversation plus three more; a provisional New Session row stays visible when present). Moving away collapses them again.
  • The currently selected conversation stays visible even when it is not the newest one.
  • Rows with a running turn, a running subagent child, or a pending interaction (approval / plan review / question) are never hidden by compact mode, even when several of them run at once.
  • The 展开其余 xx 个会话 / Show remaining … conversations button stays hidden until the Workspace is hovered or keyboard-focused.
  • Keyboard focus inside a Workspace expands all of its rendered rows. Clicking 展开其余 xx 个会话 / Show remaining … conversations raises the native watermark for that Workspace; once more than six rows are rendered, hovering reveals all of them.
  • Collapsed Workspaces, Workspace Tree mode, and the flat list keep their native behavior.

Scroll to the selected conversation

After any Workspace reorder changes the group order — the automatic recent ordering, a sort-mode switch, or a manual workspace drag — the plugin scrolls the sidebar so the currently selected conversation is visible. If the row is already visible, block: "nearest" leaves the scroll position alone.

Settings

Settings → 工作区 / Workspaces provides two switches:

SwitchDefaultEffect
按最近更新排序工作区OnEnable the recent-ordering projection.
工作区对话简约显示OnEnable the one-row compact display and hover reveal.

Settings are browser-local (dsh.workspace-recent-sort.settings.v1 in localStorage), so different browsers can use different preferences. Toggles apply immediately without a reload.

Install

Install the bundle from GitHub into the Web profile:

dsh plugin --profile web add https://github.com/easychen/dsh-workspace-recent-sort.git

The package declares dsh.bundle.patch, so it installs as an active profile bundle. Restart dsh web if requested and refresh the Web page.

For local development, link the checkout instead:

cd ~/.dsh/profiles/web
pnpm add link:/absolute/path/to/dsh-workspace-recent-sort

Then make sure dsh-workspace-recent-sort is present in dsh.profile.bundles in the profile's package.json.

To remove it:

dsh plugin --profile web remove dsh-workspace-recent-sort

The Plugins page / bundle installer offers the same install and removal operations.

Compatibility

Built against DSH 0.2.1-rc.2. The native View-options menu has no public extension slot for group ordering, so the plugin uses the sidebar registration's own component seam: it replaces entry.component with a wrapper that preserves the entry's store, injected services, locale, and child-slot authorization. Compact mode is CSS scoped under a data attribute and targets structural data-row-key attributes rather than hashed class names. If the sidebar shape is not recognized, the plugin leaves the native component untouched rather than failing application boot.

Development

node --test test/sort.test.mjs
npm pack --dry-run

The browser bundle is hand-written against the DSH module loader, so no build step is required.