Introduction

The Web client of DeepSeek Harness (DSH) can extend interface capabilities via plugins. Semidia/dsh-session-manager is a client plugin for DSH Web, version v0.1.1, licensed under MIT, and targeting @deepseek-ai/dsh@0.1.0-rc.6.

It solves a specific operational problem: completing actions such as pinning, renaming, archiving, continuing, exporting, and copying session titles / IDs / working directories / deep links on the sidebar session list quickly, and providing a Session manager entry for the current session at the bottom of the sidebar.

The DSH plugin ecosystem is primarily community-driven; the community directory is an independent site and does not have an official affiliation with DeepSeek or Huanfang.

What is this

Semidia/dsh-session-manager is a DSH Web client plugin maintained by Semidia. It mainly adds two types of entry points:

  1. Provides a right-click context menu on sidebar session rows.
  2. Provides a Session manager entry for the current session at the bottom of the sidebar.

The plugin description states that it uses public client services, including sessions, workspaces, locale, slots, and does not use private host APIs.

Core Features

Right-click Menu on Session Rows

Right-clicking any session row in the sidebar reveals the following operations:

  • Pin / Unpin session: Uses localStorage, key dsh.session-pins.v1, shared with dsh-session-pins.
  • Mark Unread / Read: Uses local state dsh.session-unread.v1 and displays a dot on the row.
  • Rename session: Calls the official sessions.binding(id).session.rename() and opens a rename dialog.
  • Archive session: Calls the official workspaces.archiveSession().
  • Continue in a new session: Calls the official sessions.fork() and opens the child session.
  • Open in file manager: Calls the official workspaces.openPath() on the session workspace.
  • Copy working directory: Reads the workspace path from the workspaces store.
  • Copy session title / ID: Writes to the clipboard.
  • Copy deep link: Copies <origin>/?session=<id>.
  • Open in new window: Uses window.open(.../?session=<id>).

Note that opening a copied deep link or new window to a specific session depends on the companion plugin dsh-deeplink.

The Session manager at the bottom of the sidebar is session-specific and provides:

  • Export session ZIP
  • Archive
  • Fork
  • Copy title / ID

Unimplemented Capabilities

Currently, the following are not implemented:

  • Continue in a new working tree
  • delete-session

Installation and Enablement

First, install the plugin:

dsh plugin --profile web add github:Semidia/dsh-session-manager#v0.1.1

After adding, restart the DSH Web service once, then perform a hard refresh of the page:

dsh web

If you plan to use deep links or “Open in new window” to land on specific sessions, install the companion dsh-deeplink as described in the plugin documentation.

Typical Usage

  1. Right-click any session row in the sidebar to open the full action menu.
  2. Click Session manager at the bottom of the sidebar to manage the current session.
  3. When a deep link is needed, first copy <origin>/?session=<id> and then open it in an environment with dsh-deeplink installed.
  4. After upgrading dsh, you need to re-apply the session row patch data-session-id located in @deepseek-ai/dsh-client-ui-workspace.

Applicable Scenarios and Notes

Suitable for developers who use DSH Web and manage sessions frequently, such as those who need to quickly pin / archive sessions, copy session IDs or working directories, export the current session as a ZIP, or continue a session.

It is recommended to check the plugin source code and license before use. This plugin runs with the current dsh process permissions, the scope of which depends on the DSH Web service itself.

Regarding compatibility:

  • The target version is @deepseek-ai/dsh@0.1.0-rc.6.
  • DeepSeek Harness is in developer preview, and new release candidates may change the slot conventions this plugin depends on.
  • The single-line data-session-id patch is located in the installed @deepseek-ai/dsh-client-ui-workspace package and will be overwritten after upgrading DSH, requiring re-application.
  • Pin / Unread status uses local keys: dsh.session-pins.v1, dsh.session-unread.v1.

Conclusion

Semidia/dsh-session-manager concentrates a set of common session operations into the sidebar right-click menu and bottom entry points, making it suitable for quickly locating, organizing, and sharing sessions in the DSH Web workflow.

Repository: https://github.com/Semidia/dsh-session-manager