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¶
-
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.
- Hovering over the right side of each session row (next to the
-
Menu integration
- The archive item is automatically hidden when the
⋮menu is opened (rename / fork remain in their original positions).
- The archive item is automatically hidden when the
-
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.
-
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.
- The archive logic calls
-
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.
-
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¶
- Hover: Hover over any session row; the icon appears before the
⋮button. - Confirm: Click once; the icon changes to the red “Confirm archive” state.
- Archive: Click again; the session is removed.
- 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, runpnpm install, then restartdsh 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.