Foreword

In DeepSeek Harness (DSH), local sessions may exist in running, idle, and archived states simultaneously. For developers who need to maintain local workflows, the lack of a unified interface to resume old sessions, view recent activities, or clear unused sessions after security confirmation remains a challenge.

dsh-session-manager is a DSH session management plugin. It lists all materialized sessions on the local machine, provides capabilities to resume, outline, and permanently delete sessions, all without modifying the deepseek-harness source code. Below, we introduce its features, installation method, and important limitations.

Plugin Positioning

The repository is Vim0x3c/dsh-session-manager, and it is licensed under the MIT license. Its target version is DeepSeek Harness 0.1.0-rc.8, designed to centrally manage local sessions within dsh web.

Core Features

Session List

  • Lists all materialized sessions on the local machine, including running, idle, and archived sessions.
  • Displays information such as title, status, and working directory, sorted by update time.

Resume Session

  • Resumes existing sessions through the browser sessions service.

Outline

  • Collapses the tail window of session.history within the browser.
  • Displays turn count, user/assistant message counts, and tool call statistics.
  • The outline is derived from the recent window of session.history, not a complete log summary.

Delete

  • Stops and waits for the target agent to be silent before permanently deleting the session.
  • Cascading deletes managed sub-sessions with origin: subagent.
  • Supports multi-select batch deletion.
  • Deletions are irreversible.

Persistence Backend

  • The JSONL backend deletes the session directory, including logs and snapshots in the same directory.
  • The SQLite backend performs a transactional deletion within the current backend connection, with event rows cleaned up via foreign key cascades.
  • Official persistence backends session-persistence-jsonl and session-persistence-sqlite are supported.
  • Custom persistence backends must provide their own delete(id) method; for cascading deletion of multiple durable sessions, they must also provide an atomic deleteMany(ids) method.

Security & Compatibility

  • Performs loopback, Host, Origin, and Fetch Metadata security checks.
  • The delete endpoint only allows loopback authorities, such as localhost, 127.0.0.0/8, and [::1].
  • When opened via a local network address, only resume and outline options are displayed.
  • Non-loopback pages do not show the delete capability.
  • If the harness later natively provides AgentLoop.stop or SessionPersistence.delete, the plugin will prioritize calling the native capabilities.

Installation & Activation

First, build the tarball, then install it into the web profile, and finally restart dsh web. The provided installation command is:

dsh plugin --profile web add -w ./dsh-session-manager-0.2.2.tgz

The README recommends using -w for installation; a bare add will trigger ERR_PNPM_ADDING_TO_ROOT. The package.json in the documentation shows version 0.2.3, but the installation command uses dsh-session-manager-0.2.2.tgz; the current relationship between these versions is not explained in the documentation.

After completing these steps, restart dsh web to enable the plugin.

Typical Usage

  1. Open Settings -> Sessions.
  2. Click “Resume” to enter an existing conversation.
  3. Click “Outline” to view recent activity statistics.
  4. Click “Delete” to open the confirmation dialog and permanently delete the session.

Applicable Scenarios & Notes

This plugin is suitable for developers who already use DeepSeek Harness locally and need to centrally view, resume, or clear sessions.

Before use, please note:

  • The target version is DeepSeek Harness 0.1.0-rc.8.
  • Deletion operations are irreversible.
  • The session list does not have real-time cross-tab push notifications; the page will refresh after deletion and reconnection.
  • Deleting archived sessions does not clean up outdated archivedSessionIds in the workspace.
  • The plugin runs with the permissions of the current dsh process; you should review the source code and the MIT license before installation.

Links

  • Community Directory Page: https://www.skillhub.cn/plugins/Vim0x3c/dsh-session-manager
  • GitHub Repository: https://github.com/Vim0x3c/dsh-session-manager