dsh-session-manager: Session Management Plugin for DeepSeek Harness

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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye