Introduction

The design philosophy of DeepSeek Harness (DSH) is “everything is a plugin,” which provides flexibility for extending the system but also means users need to manage various tools themselves. During long-term use or Agent development, the number of sessions often increases rapidly, making the sidebar cluttered and difficult to search and archive. dsh-session-manager aims to solve this pain point by providing a one-stop session management capability for the DSH Web interface, without modifying the DSH core code.

Plugin Overview

dsh-session-manager is a locally running DSH plugin maintained by developer qewregrfhnm and open-sourced under the MIT license. It provides centralized session control for the DSH Web interface, including deletion (with a recycle bin mechanism), workspace management, session moving, unread marking, export, and global context compression settings.

Installation

Installing this plugin requires the DSH CLI. After installation, please restart the dsh web service to ensure the plugin takes effect.

dsh plugin --profile web add 'https://github.com/qewregrfhnm/dsh-session-manager/releases/download/v0.4.1/dsh-session-manager-0.4.1.tgz'

Core Features

This plugin provides the following specific capabilities:

  • Session lifecycle management: Supports deletion (moving to the recycle bin, retaining the latest 10 items), restoration, permanent deletion, and one-click restoration of archived sessions.
  • Session renaming: Writes modifications to official events, persists after restart, and synchronizes immediately in the sidebar.
  • Data export: Supports exporting as Markdown (readable conversation records) or JSON (lossless full event logs).
  • Workspace operations: Supports moving sessions to other workspaces and drag-and-drop sorting of workspaces; moving operations only modify metadata and do not break the log file structure.
  • Search and filtering: Supports real-time search by title and directory, as well as filtering by status (all/running/unread/archived).
  • Status marking: Supports manually marking sessions as unread/read and is linked with the official status dot.
  • Activity statistics: Displays the number of turns, messages, and tool call status for each session.
  • Session control: Supports continuing archived sessions, pausing running turns, and continuing in a new chat.
  • Global settings: Provides a global context compression threshold setting that applies uniformly to all Agent presets.
  • Auxiliary features: Provides tools such as a conversation management drawer, cleanup of subagent (orphan) sessions, and opening the log folder.

Usage

Basic Operations

  1. Open the DSH Web interface, go to the bottom of the sidebar, and enter Settings.
  2. Select Session Management from the left navigation.
  3. In the main list, you can view unarchived sessions; the collapsed area at the bottom contains archived sessions and the recycle bin.
  4. Only the delete button is retained inline; other operations (such as continue, pause, rename, export) require clicking the More menu in the row.

Moving and Batch Operations

  • Move a session: Directly drag the session row onto the target workspace title to move it; you can also select “Move to…” in the “More” menu for batch operations or creating a new workspace.
  • Workspace management: Hover over a workspace title to perform moves to the top, renaming, or deletion.

Renaming and Export

  1. Select Rename from the “More” menu in the session row, enter a new name, and confirm.
  2. Select Export Markdown or Export JSON from the “More” menu; the browser will automatically download the corresponding file.

Global Settings

Enter Settings → General Settings to configure the conversation context compression threshold (17%–90%). This setting applies to all Agent presets and takes effect immediately after saving.

Notes and Limitations

  • Running sessions: Currently running or loaded (live) sessions cannot be deleted or moved.
  • Permanent deletion remnants: IDs of permanently deleted sessions remain in the browser’s localStorage. This is harmless remnant data and prevents the data from “resurrecting” after a refresh.
  • Local runtime: The plugin runs entirely locally and contains no telemetry, statistical reporting, or network requests.
  • Compatibility: This plugin is developed based on DSH 0.1.x rc versions and depends on core services such as ctx.sessionPersistence.

Conclusion

dsh-session-manager helps developers organize conversation flows more efficiently by providing localized session management features. Through the recycle bin mechanism and export capabilities, it lowers the barrier to using DSH while preserving data safety. After installing and enabling this plugin, the operational experience in multi-session scenarios can be significantly improved.