Preface

DeepSeek Harness (dsh) is an agent runtime open-sourced by DeepSeek AI. The official repository positions itself with the slogan “Everything is a Plugin”: interfaces, tools, and workflows are all mounted as plugins. In daily use, the sidebar archive feature can hide conversations, but the session logs on disk often remain; the web version also lacks an entry to “permanently delete this session”. This problem becomes more prominent when debugging the harness, when session history is out of sync, or when corrupted sessions occupy the sidebar.

Community maintainer lsz-asd developed dsh-plugin-session-delete. It adds a trash can button to the session header, and a “Delete Session” option to the “…” menu on sidebar session rows. After confirmation, it deletes session logs, projection caches, and workspace accounting records. This article organizes its installation and usage methods after cross-checking with the plugin directory page, GitHub repository README, and source code.

One thing that needs to be clarified first: the DeepSeek Harness plugin community directory (deepseek-harness-plugin.com) is an independent website and has no official affiliation with DeepSeek / Fang Tian. It should not be treated as an official app store.

What It Is

dsh-plugin-session-delete is a “Session and Message” plugin maintained by lsz-asd. Its npm package name is @huanlin/dsh-plugin-session-delete, and the current version is 0.3.1 (2026-08-14). The main language is JavaScript, and package.json requires Node.js >=20. As of the verification of this article, the GitHub repository has 20 stars; the community directory page showed 13 stars at the time, and the star count shall prevail based on the repository page.

It solves the problems of “insufficiently thorough archiving and no deletion entry on the web version”. After confirming deletion, it will simultaneously process the session directory on disk, projection caches, and session accounting records in the workspace, preventing the session from being written back again during the next flush. package.json marks the client platform as web; the README states that it can be used on the web and claims theoretical compatibility with all web-wrapped clients, and the repository description also mentions desktop clients.

Core Features

Based on the README and the src/index.js and src/client.js files in the repository, the current version mainly provides the following capabilities.

  1. Trash can button in the session header. The plugin registers a dangerous operation button in the conversation.session.header.actions slot, allowing direct deletion of the current session.
  2. “Delete Session” in the “…” menu of sidebar session rows. The session row menu (rename / fork / archive) in the official rc.6 version has no expansion slots, so the plugin injects menu items at the DOM layer. After clicking, it matches the target session by title without first navigating to that conversation.
  3. Risk confirmation popup. After clicking either of the above entry points, a confirmation box will pop up showing the session name and session ID; the “Delete” button will only be available after checking “I understand the consequences, confirm deletion”. If the session is running, the popup will additionally prompt: deletion will immediately stop the task and permanently delete it, and in-progress operations cannot be recovered.
  4. Deletion workflow. After confirmation, the host will process in sequence: if there is a running agent, first cancel it and wait for it to stop (up to about 15 seconds); flush the active session to avoid log write-back during the dispose phase; delete the corresponding directory under ~/.dsh/sessions/ (clean up both the original UUID and the session- prefix ID); clean up the projection cache; after confirming that the disk logs have disappeared, release the workspace accounting records (sessionIds and archive collections). Version v0.3.1 specifically fixed the issue of “sessions falling into ungrouped after semi-deletion”.
  5. Refresh the list in-place after deletion, without full page reload. If the current session is deleted, the client will open the next one in the remaining list for continued work.
  6. Agent tool workbench_session_delete. Agents can directly delete a session by sessionId (UUID or session- format), and the deletion content is the same as that of the UI entry. The tool is registered in profiles with or without a web interface; the HTTP interfaces (GET /__chameleon/session/list, POST /__chameleon/session/delete) are only mounted when webServer exists, and pure terminal profiles will not get stuck because of this.
  7. Chinese and English copy. Starting from version v0.3.0, the deletion dialog box, header button, and sidebar menu items access the client’s zh/en dictionary, switching following the interface language (language in settings or browser language); if there is no locale service, it falls back to the built-in dictionary based on the browser language.

Installation and Activation

The installation command given on the plugin directory page can be run in the DeepSeek Harness terminal:

dsh plugin add github:lsz-asd/dsh-plugin-session-delete

The dsh CLI will parse the plugin from GitHub and install it to the current configuration. For reproducible installation, please fix the commit hash. When verifying the main branch of the repository for this article, the latest commit is 352510e552983dcfcb993cf9124181c55e2070f5 (2026-08-14, corresponding to v0.3.1):

dsh plugin add github:lsz-asd/dsh-plugin-session-delete#352510e552983dcfcb993cf9124181c55e2070f5

The README also provides a local path installation method, suitable for cloning first and then installing into a specified profile:

dsh plugin --profile <profile> add file:C:/path/to/dsh-plugin-session-delete

After installation, you need to restart the profile for the plugin to take effect. The directory page also states that the plugin runs with the permissions of the current dsh process, and may execute code during installation; please check the source code repository and license before installing.

Typical Usage

You can delete sessions via the UI by following these steps.

  1. Open the DeepSeek Harness web interface (or a compatible web-wrapped client) and enter any conversation.
  2. Click the trash can button at the top of the session; or do not open the target session, and directly select “Delete Session” from the “…” menu on the corresponding row in the sidebar.
  3. Check the session name and serial number in the popup. If prompted “Session is running”, confirm that you indeed want to interrupt this task.
  4. Check “I understand the consequences, confirm deletion”, then click “Delete”. The sidebar list will refresh after a successful deletion; if the current session is deleted, the interface will switch to the next remaining session.

If you want an agent to delete a session, you need to provide the session ID. The tool name is workbench_session_delete, and the parameter is sessionId. The README does not provide conversation examples, please refer to the tool description when calling: it will permanently delete the logs, projection caches, and workspace accounting records of the session; after deletion, the caller application should use the session list or workbench_status to confirm the result on its own.

Applicable Scenarios and Notes

This plugin is suitable for users who are already using the DeepSeek Harness web interface and need to truly clear local sessions instead of just archiving them, such as: useless sessions generated during trial and error, corrupted and unsynchronized history, and situations where you want to completely remove a certain record from the sidebar. It is not a session management suite, and has no recycle bin, batch export, or unarchive functions; there are more comprehensive session management plugins in the community directory, and you should choose a suitable one based on your needs.

Please note the following points before use.
- Deletion is irreversible. The popup copy states that the session and all its conversation records (session logs, statistics, and workspace accounting) will be permanently deleted.
- Running sessions can still be deleted, but the agent will be stopped first. Do not accidentally click in the middle of a long task.
- workbench_session_delete will hand over the same deletion capability to agents. If your profile runs untrusted tasks, you should evaluate whether to accept this tool before installation.
- package.json states that the license is MIT, but there is no separate LICENSE file in the repository root, and GitHub has not identified the license. Please check the source code and license statement on your own before installation.
- The plugin runs with the permissions of the current dsh process, and will read and write workspace data such as ~/.dsh/sessions/. Only install from trusted repositories and try to fix the commit.
- The client declares the platform as web. Pure terminal profiles without a web interface can only use the tool to delete sessions, and there will be no header button or sidebar menu.

Summary

dsh-plugin-session-delete adds the ability to “permanently delete sessions” to the DeepSeek Harness web interface: header button, sidebar menu, check confirmation, and consistent cleanup of disk logs, projection caches, and workspace accounting records. The current version is 0.3.1, maintained by lsz-asd. It is a community open-source plugin, not an official built-in feature; please check the source code and license before installation, and confirm that you accept the “permanent deletion, irreversible” rule before using it.

Plugin directory: https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-plugin-session-delete/

GitHub: https://github.com/lsz-asd/dsh-plugin-session-delete