dsh-session-delete: Permanent Session Deletion for DeepSeek Harness
mcf171/dsh-session-delete
Adds permanent session deletion to the DeepSeek Harness Web GUI: archive a session, remove its log directory and drop it from the sidebar via the row menu or the Delete key.
dsh-session-delete is a DSH plugin that fills the permanent session deletion gap in the DeepSeek Harness Web GUI, which official 0.2.x leaves out. Official session row menus only offer rename, fork, pin and archive, so sessions you no longer want keep piling up in the sidebar; this plugin adds a Delete Session item that archives the session, removes its log directory and broadcasts a removal event, making the row vanish at once and stay gone after refreshes. It also ships a Delete shortcut for the selected session and refuses to delete sessions running a turn, all with no build step and no new dependencies.
How to Install
dsh plugin --profile <your-profile> add github:mcf171/dsh-session-deleteReplace --profile with the profile name you actually run (see ls ~/.dsh/profiles/): usually web in the browser UI, desktop or desktop-NNN in the desktop app.
- Category
- Sessions & Messages
- Platform
- DSH Plugin
- Author
- mcf171
- Distribution
- Plugin
dsh-session-delete Key Features
dsh-session-delete Repo Summary
What Does It Do?
It is a DSH plugin for DeepSeek Harness that adds a permanent session deletion action to the DSH Web GUI. Official 0.2.x session row menus only offer rename, fork, pin and archive, with no delete, so this plugin adds a "Delete Session" item that archives the session, removes its log directory, and makes the row disappear from the sidebar immediately. It is maintained by mcf171 under the MIT license and written in hand-authored JavaScript with no build step.
Core Features
- A "Delete Session" item in the session row menu: registered into the official
sidebar.workspaces.session.menu.itemslot with a trash icon and danger styling, without listening to or rewriting sidebar DOM. - A fixed three-step deletion order: call the official
workspaceRegistry.archiveSessionfor persistent hiding, delete the log directory, then broadcastapi-session/removedso the UI drops the row at once. - A running-session guard: it reads the same status signal the official session list uses, blocking only sessions actually running a turn while idle sessions stay deletable.
- A
Deletekeyboard shortcut: it acts on the currently selected session through exactly the same flow as a mouse click, and stays inactive when focus is in an input, a modifier key is held, or no session is selected. - Idempotent and dependency-free: a missing log directory is skipped so repeated deletion never errors, and the client side only requires React with inline SVG artwork.
How to Use This Plugin?
After mounting it in DSH and restarting, hover over any session row in the sidebar, open the ⋯ menu and click the new "Delete Session" item, then confirm in the dialog; you can also select a session and press Delete. Deletion archives first, then removes the log directory, then broadcasts the removal event, so later list refreshes will not bring the row back. If the session is running a turn, it asks you to stop it first. Avoid manually refreshing the session list, since cleanup relies on archiving and broadcasting.
This page is an independent rewrite of the plugin's official README — for authoritative documentation and the latest changes, refer to the source: mcf171/dsh-session-delete. The plugin is third-party code that runs on your machine once installed; inclusion does not imply endorsement — please review the source before installing.
DSH Plugin FAQ
