Introduction

The plugin mechanism in DeepSeek Harness (DSH) allows developers to extend client behavior. When managing a large number of sessions, the archive action usually has to be located by clicking the ⋮ menu, resulting in a deep operation path. The easy-archive plugin surfaces this action directly on every session row in the workspace sidebar. Using a two-step confirmation flow, it reduces clicks and prevents the archive entry from being hidden away.

What Is It?

This is a DSH Web plugin maintained by bainianlaoyao.
* Category: DSH Web plugin
* Maintainer: bainianlaoyao
* License: MIT
* Core value: One click turns it red to confirm; a second click archives the session; archive is no longer hidden inside the ⋮ menu.

Core Features

  1. Inline two-click archiving

    • Hovering over the right side of each session row (next to the ⋮ menu) reveals an archive icon.
    • First click: The icon changes into a red pill-shaped “Confirm archive” button.
    • Second click: The session is archived.
  2. Menu integration

    • The archive item is automatically hidden when the ⋮ menu is opened (rename / fork remain in their original positions).
  3. No slot takeover

    • The plugin does not take over the sidebar rendering slot; the original workspace browser rendering logic remains unchanged.
    • Features such as rename, fork, search, and drag-and-drop reordering are unaffected.
  4. Behavioral consistency

    • The archive logic calls ctx.workspaces.archiveSession, using the same underlying interface as the built-in menu.
    • Therefore, permission validation and behavior are identical to the native menu.
  5. Safety mechanisms

    • Automatic reset: The red confirmation state automatically resets after 4 seconds, or when the mouse moves away or another area is clicked.
    • Accidental tap prevention: If a session’s display title and time bucket conflict (i.e., identity ambiguity), the archive button is not shown on that row to prevent accidental deletion.
  6. Technical implementation

    • Supports multiple languages (zh / en).
    • No build step required.
    • No React dependency.

Installation and Activation

It is recommended to install via the DSH plugin marketplace:

dsh plugin --profile web add github:bainianlaoyao/easy-archive

You can also use the NPM prebuilt package:

dsh plugin --profile web add dsh-easy-archive

If manual configuration is needed, add the dependency and bundles entry in package.json:

{
  "dependencies": { "dsh-easy-archive": "github:bainianlaoyao/easy-archive" },
  "dsh": { "profile": { "bundles": [ "dsh-easy-archive" ] } }
}

Then run pnpm install in the project directory and restart dsh web.

Typical Usage

  1. Hover: Hover over any session row; the icon appears before the ⋮ button.
  2. Confirm: Click once; the icon changes to the red “Confirm archive” state.
  3. Archive: Click again; the session is removed.
  4. Verify: Open the ⋮ menu; the entry you just archived has disappeared and no longer occupies menu space.

Use Cases and Notes

  • Target users: Developers who want to reduce clicks and are used to managing large numbers of sessions with inline actions.
  • Exclusions: The empty “New session” row and search result rows do not show the button.
  • Identity validation: The system automatically skips sessions with title and time bucket conflicts to avoid accidental deletion.
  • Uninstallation: Remove the dependency and bundles entry from package.json, run pnpm install, then restart dsh web.

Summary

easy-archive solves the problem of the archive entry being too deeply nested by using a minimal two-step confirmation flow, while preserving the completeness of the native menu. It is well suited as an auxiliary tool for managing the DSH sidebar.