Plugin directory / Developer / dsh-hover-archive
dsh-hover-archive
Verified · install-tested on dsh zhifengjiang
What it does
Codex-style hover archive for DeepSeek Harness Web: hovering a sidebar session row reveals an Archive icon at the far right; one click archives via the official workspaces.archiveSession API.
Works — verified, early-stage project
Codex-style hover archive for DeepSeek Harness Web: hovering a sidebar session row reveals an Archive icon at the far right; one click archives via the official workspaces.archiveSession API. It installs cleanly and boots without issues in our testing. It's early-stage but functional.
“Verified” means our automated CI actually ran dsh plugin add in a clean profile and it booted — nothing more. Feature descriptions and version compatibility are the author’s claims. This is not a security audit and not an endorsement of third-party code.
README
dsh-hover-archive
Codex-style hover archive for DeepSeek Harness Web.
Hover a sidebar conversation row and an Archive icon appears at the far right; one click archives the session. No menus, no dialogs.
Features
- Hover → Archive icon at the far right of the session row, exactly like the Codex conversation list.
- One click archives through the official
workspaces.archiveSessionAPI — the same face the built-in "…" menu uses, so archived sessions land in the same place and obey the same rules. - Blank rows untouched: the "New Session" placeholder row never gets a button.
- zh / en labels follow the app locale and re-label live on locale switch.
- Keyboard accessible: the button is a real
<button>; it reveals on:focus-withinand fires on Enter/Space. - Busy / error states: the icon dims while archiving and flashes the error color with the failure message as a tooltip if the call fails.
- Zero dependencies, zero build step: plain JavaScript, installs from source without any
allowBuildsapproval. - Self-tests:
npm testruns syntax checks plus a dependency-free DOM smoke test.
Install
dsh plugin --profile web add github:zhifengjiang/dsh-hover-archive
Then restart dsh web (or your desktop client) and refresh the page.
Uninstall:
dsh plugin --profile web remove dsh-hover-archive
How it works
- A pure client plugin (
dsh.client, platformweb) that injects a button into every actionable sidebar session row — the elements carryingdata-session-id. - The button is appended as the row's last child, so it renders to the right of the stock "…" row menu and is revealed purely by CSS on
:hover(and:focus-within). - A
MutationObserverre-decorates rows across React re-renders; decoration is idempotent (one button per row, blank rows skipped). - The click is intercepted in the capture phase (
stopPropagation+preventDefault), so archiving never opens the session. - Archiving calls
ctx.workspaces.archiveSession(id); the stock projection then removes the row from the list, and archiving the current session falls back to the same sweep the built-in action uses.
Why a button instead of a menu item
The stock row already archives in two clicks (hover → "…" → Archive). This plugin restores the Codex-style one-hover-one-click affordance. DeepSeek Harness 0.1.0-rc.6 exposes no public slot for extra session-row actions, so the button is injected into the row DOM — the same workaround community plugins such as dsh-session-manager and dsh-plugin-session-delete rely on.
Compatibility
- Built against DeepSeek Harness
0.1.0-rc.6(the@deepseek-ai/dsh-client-runtimeworkspaces face). - Platform: DSH Web. Any shell that renders the upstream web sidebar shows the button; a shell that replaces the sidebar with a native list may not.
- Older harness builds without
workspaces.archiveSessionare detected at runtime — the plugin logs a warning and disables itself instead of breaking the UI. - Coexists with
dsh-session-manager,dsh-plugin-session-deleteand the built-in "…" menu: this plugin adds one more affordance on the same row and calls the same official API.
License
Install
Install the catalog once, then DeepSeek Harness can find and install any plugin from this site automatically:
dsh plugin add dshbase-catalog Then say "install dsh-hover-archive for me" — your agent finds it in the directory and installs it. Docs: dshbase-catalog · verified packs.
This plugin is GitHub source (not published to npm) — install it straight from the repo:
Web profile:
dsh plugin --profile web add github:zhifengjiang/dsh-hover-archive Headless (CLI) profile:
dsh plugin --profile headless add github:zhifengjiang/dsh-hover-archive Test report
Verified: L1 install + L2 load + L3 runtime from GitHub source on dsh 0.1.0-rc.6.