Introduction

DeepSeek Harness (DSH) adopts an “everything is a plugin” architecture. By default, if no workspace is selected, the session input box is determined to be inactive (inert) by the kernel. The dsh-temp-session plugin breaks this limitation by introducing the concepts of “optional workspace selection” and “workspace-free temporary sessions”. It allows users to start sessions without a fixed workspace context. Each temporary session exclusively occupies a dedicated directory, and blank sessions naturally disappear after a restart.

Core Features

The plugin mainly provides the following capabilities:

  1. Optional workspace selection: The Hero workspace entry displays “Select Workspace (Optional)”. Click the button to open the selection menu; other areas of the button can still select a workspace normally.
  2. Workspace-free temporary sessions: If no workspace is selected, clicking “New Session” in the sidebar creates a temporary session.
  3. Independent directory sessions: A temporary session exclusively occupies the directory $DSH_HOME/tmp-sessions/session-<uuid> (by default ~/.dsh/tmp-sessions/…). The session’s cwd, sandbox write boundary, and sidebar grouping (Ungrouped) are all based on this directory.
  4. Kernel client patch: It patches the kernel client to remove the workspaces.phase === "ready" condition, keeping the input box of workspace-less sessions usable.
  5. Suppress desktop client feature: It suppresses the built-in “Ungrouped” new session feature in the desktop client (dsh-tauri >= 0.15.9) to prevent conflicts.

Installation and Activation

Installing the plugin requires writing the dependency into the configuration file and restarting the Harness process.

  1. Install the plugin:
    Use the official installation command. The plugin will be written into the dependencies in ~/.dsh/profiles/web/package.json and dsh.profile.bundles.
    dsh plugin --profile web add dsh-temp-session
  1. Configuration manifest:
    Make sure dsh.profile.bundles in ~/.dsh/profiles/web/package.json contains the plugin name.

  2. Activation:
    After changing the configuration, you must restart the Harness process for the changes to take effect. For the desktop version, quit and reopen the app; for the web interface, restart the kernel.

Usage Notes

After installation and restart, the experience differs from the native behavior:

  • Workspace entry interaction:

    • No workspace selected: The Hero workspace entry displays “Select Workspace (Optional)”.
    • Workspace selected: When the mouse hovers over the button, the arrow automatically changes to ×. Click × to deselect; clicking other areas of the button still opens the workspace selection menu.
  • New session:

    • Click the general “New Session” button in the sidebar (when no workspace is specified) to create a temporary session by default.
    • The + in a workspace row still creates a session for that workspace, preserving the original behavior.
  • Temporary session directory:
    Temporary sessions are located in $DSH_HOME/tmp-sessions/session-<uuid>. After restarting Harness, blank temporary sessions that have no sent messages disappear automatically.

Compatibility and Notes

  • Version compatibility: Compatible only with dsh versions 0.1.2-rc.x through 0.1.7-rc.1. After upgrading to 0.1.7-rc.1, restart the process to apply dependency changes.
  • Desktop client restrictions: The built-in “Ungrouped” new session feature in the desktop client (dsh-tauri >= 0.15.9) is suppressed by this plugin. The + buttons in the sidebar and group rows are handled by this plugin’s logic.
  • Sandbox boundary: The workspace-write write boundary for temporary sessions is the session’s dedicated directory. The read boundary is unrestricted (default dsh behavior); isolation is mainly implemented through directory isolation.

Summary

The dsh-temp-session plugin provides DSH users with a more flexible session management approach through kernel patches and directory isolation. Without disrupting existing workspace logic, it supports temporary development in a no-workspace context. For related source code and documentation, refer to its GitHub repository or the plugin ecosystem directory.