In the development workflow of DeepSeek Harness (DSH), session management is a fundamental but often overlooked aspect. As the number of conversations grows, searching history, organizing workspaces, and cleaning up expired sessions can become cumbersome. The dsh-chat-manager plugin addresses this pain point by extending the sidebar and providing session lifecycle management features.

Plugin Introduction

dsh-chat-manager is a user-level plugin for DeepSeek Harness (DSH) that provides a unified Web UI and desktop interface. It aims to make session management more intuitive, supporting automatic archiving, deletion, restoration, and cross-platform operations for sessions.

Core Features

  • Two-pane sidebar: The sidebar is divided into “Workspaces” and “Chats.” Workspaces retain native DSH behavior; the Chats area manages sessions independently and supports creating new sessions and searching.
  • Automatic chat folder archiving: New sessions are automatically stored under DSH/year-month-day/ in the system Documents directory. After the first message is sent, the plugin generates a slug subfolder based on the content, and subsequent read/write operations occur within that subfolder.
  • Session deletion: Supports deleting sessions via the menu. The operation includes a secondary confirmation and clears logs, workspace accounting entries, and registration records, but the session folder remains intact on disk.
  • Archived session management: In the “Archived Sessions” list in the settings panel, you can view the “workspace name: session name” and last updated time, and can restore or permanently delete archived sessions.
  • Cross-platform support: The plugin code is shared and supports both the Web UI (dsh web) and desktop client.

Installation and Enablement

Before installing, ensure DSH version >= 0.2.0-rc.2.

  1. Clone the repository and build (shared code for Web UI and desktop client):
    git clone https://github.com/tvrpdfe/dsh-chat-manager.git
    cd dsh-chat-manager
    npm install
    npm run build
  1. Install the plugin into the Web UI:
    dsh plugin --profile web add "link:$(pwd)"
*Note: Desktop plugins must be added via the “Plugins” page inside the desktop interface; the CLI does not support operating the `desktop` profile directly.*
  1. Restart the host process and refresh the page (for Web UI, press Ctrl+F5).

Typical Usage

  • New chat: Click the “Add Chat” button at the top of the Chats area.
  • Delete session: Click the session menu (⋯) → red “Delete Session” → confirm.
  • Archived sessions: Go to Settings → Archived Sessions. Each row displays the workspace and session name with the time; click the “Restore” or “Delete” button to perform the action.

Notes and Dependencies

  • Environment variable: The chat root defaults to the system Documents directory; it can also be specified as an absolute path via the environment variable DSH_CHAT_MANAGER_ROOT.
  • Linux/macOS limitation: On Linux and macOS, attempting to delete the currently active session will be rejected. In this case, restart the host process and retry.
  • Search dependency: Content search depends on the session-query index configuration on the deployment side. If this index is configured as openAt: "never", content search will fail and only return title matches.

The plugin follows DSH’s “everything is a plugin” philosophy. For more details or feedback, visit:
* GitHub repository
* Plugin directory page