Introduction¶
DeepSeek Harness (DSH) supports archiving sessions, but the official UI provides no entry point to view or unarchive them. This plugin fills that gap, showing archived sessions in their original locations, making them filterable, and allowing restoration.
What It Is¶
This is a DSH Web plugin maintained by piaohua, License: MIT. It recreates the workspace browsing area on the browser side, adds filtering and archive actions, and solves the official issue of “no viewing entry for archived sessions.”
Core Features¶
-
In-place Display and Filtering
Archived sessions reappear at their original positions in the workspace list, with titles displayed in a darker color than non-archived sessions. The workspace view options menu gains a new “Filter Conditions” group containing “Archived” and “Non-archived” items; both can be checked simultaneously. -
Unarchiving Sessions
In the row menu for an archived session, “Archive Session” becomes “Unarchive” (with a dedicated icon). Clicking it persistently restores the session. -
Workspace-level Archiving
The workspace row menu gains new “Archive Workspace / Unarchive Workspace” actions. After archiving, the entire workspace group is hidden/dimmed; after unarchiving, the workspace restores to its original appearance, and the individual archival state of each session remains unchanged. -
Reading Archived Content
The plugin patches and disables the rule that “archiving a session forces clearing the conversation selection,” so clicking an archived session opens and lets you read its conversation content normally.
Installation and Activation¶
npx @deepseek-ai/dsh plugin --profile web add github:piaohua/dsh-plugin-archive-manager
After installation, restart dsh web.
Typical Usage¶
-
View Archived Sessions
Check “Archived” in the workspace view options menu. If “Non-archived” is not checked, only archived sessions are displayed. -
Unarchive a Session
Click “Unarchive” in the archived session’s row menu to restore the session. -
Read Content
Directly click the archived session row to open and read its conversation content.
Technical Principles¶
The plugin adopts a Host/Browser separated architecture.
-
Host (process side,
lib/index.js): Adds the missing officialunarchiveSessionmethod, maintains workspace-level archive state ($DSH_HOME/storages/dsh-plugin-archive-manager.json), and registers 4 HTTP routes for the browser side to call. -
Browser (browser side,
lib/client.js): Overrides the officialsidebar.workspacesslot and recreates the workspace browsing area (including the filter group, darker titles, and unarchive action).
Data flow: Browser initiates request -> Host route -> unarchiveSession -> Broadcast update -> List re-renders.
Notes¶
-
The browsing area is a faithful reimplementation, not an official component. Future official changes to the workspace browsing area will not automatically flow into this plugin.
-
The filter state is persisted in the plugin’s own
localStoragekey. -
The plugin targets DSH
0.1.0-rc.x(validated on0.1.0-rc.6).