DeepSeek Harness includes a built-in “Archive Session” action, which adds the session ID to the global archivedSessionIds set and hides it from the sidebar. DSH does not natively provide a UI for viewing the archive list or restoring (unarchiving) a session. The dsh-archive-manager plugin introduced in this article is designed to fill this gap. It adds a sidebar entry, lists all archived sessions (grouped by workspace), and provides the ability to view, restore, or directly open the conversation folder.
Core Capabilities¶
- View by Workspace: A new button at the bottom of the sidebar opens a panel that lists all archived sessions. They are grouped by workspace and display the title, ID, and update time.
- Restore Session: After clicking restore, the session ID is removed from the archived set, and the session reappears in its original sidebar location.
- Open Session: When clicking open, the plugin first performs the restore operation and then opens the session.
- Open Conversation Folder: Opens the session’s conversation log directory directly in the file manager (including
session.jsonl*log files). - Secure and Lightweight: The code is defensive. If the remote service fails to mount, it degrades to a read-only panel. It requires no compilation and uses pure ESM/CommonJS files.
How It Works¶
The plugin implements its core logic by registering a remote service, ctx.archiveManager.
- Restore: The
archiveManager/unarchiveendpoint removes the session ID via the registry’s operation queue, enabling restoration. - Open Folder: The
archiveManager/openSessionFolderendpoint usesctx.sessionPersistenceto locate the persistence directory and opens it locally. - Design Boundary: Because DSH’s persistence interface (
dsh-session-persistence-jsonl) does not support deletion and log files use append-only storage, this plugin does not provide physical deletion of session files. It only supports removal from the archived set (soft deletion).
Installation and Enabling¶
Install using the official CLI (no global dsh installation required):
npx --yes @deepseek-ai/dsh plugin --profile web add https://github.com/Earnest02522/dsh-archive-manager.git
After installation, restart DeepSeek Harness (or wait for a hot update to reload the configuration) and refresh the browser (Ctrl+Shift+R).
Notes¶
- Deletion Limitations: By DSH design, deleting conversations (physical file deletion) is not supported. The persistence interface has no deletion API, so this plugin also does not provide physical deletion.
- File Cleanup: To completely clean up sessions, stop the DSH process and manually delete the directories under
~/.dsh/sessions/. The next scan and indexing cycle will clean them up automatically.
Related Resources¶
- Plugin directory: https://www.skillhub.cn/plugins/Earnest02522/dsh-archive-manager
- Project repository: https://github.com/Earnest02522/dsh-archive-manager