DeepSeek Harness (DSH) uses a plugin-based architecture. In daily development, a large number of sessions accumulate. Over time, unarchived sessions can occupy memory or storage space and become difficult to retrieve. Existing archive mechanisms are relatively basic. For this scenario, plugins focusing on session lifecycle management have emerged.
dsh-archive-viewer is an archive enhancement plugin maintained by csiroqa and classified under the “Memory” category. Its core features include automatically archiving idle sessions on a schedule, organizing folders, consolidating an LLM summary experience library, and providing the ability to view, restore, and close dsh with one click.
Core Features¶
- Automatic periodic archiving: The plugin scans the host half and automatically moves sessions that are not running, have been inactive beyond the configured number of days (default: 7 days), are not pinned, and have not been archived into the archive area. The archiving operation is idempotent, and logs, attachments, and workspace grouping locations are fully preserved.
- Folder archive organization: Provides a tree-based folder structure, including “All Archived,” “Custom Folders,” “Uncategorized,” “Favorites,” and “Experience Library.” Supports creating, renaming, and deleting folders, as well as moving sessions between folders. The associations are persisted in
$DSH_HOME/archive_snapshots/folders.json. - Batch operations: Supports selecting multiple sessions and then performing batch ZIP export, summary generation, restoration (unarchiving), or moving to a specified folder.
- Viewing and logs: Supports directly reading archived session logs (
session.history), downloading log ZIP packages, and loading earlier history with pagination. - Experience library consolidation: Uses an LLM to generate structured summaries (objectives, key decisions, deliverables, reusable experience, outstanding issues), written in Markdown + JSON format to
$DSH_HOME/archive_snapshots/. The panel provides an “Experience Library” view, supporting full-text search and regeneration. - Session favorites and notes: Supports marking sessions as favorites and adding notes. The Favorites view displays all favorited sessions (including unarchived sessions), with data persisted in
bookmarks.json. - Full theme adaptation: The plugin uses DSH shell design tokens and automatically follows any theme, preventing the panel from being overridden by sidebar styles.
- System control: Provides a power button in the top-right corner of the session header, supporting one-click dsh shutdown (requires core patch support).
Installation and Activation¶
Prerequisites: Node.js >= 22 and pnpm.
git clone https://github.com/csiroqa/dsh-archive-viewer.git
cd dsh-archive-viewer
pnpm install
pnpm build
# 安装进 web profile(link: 指向本目录)
dsh plugin --profile web add link:$(pwd)
After installation, you need to restart dsh web and perform a hard browser refresh.
Typical Usage¶
- Open the panel: Click “Archived Sessions” at the bottom of the sidebar (above the Settings button) to open the management panel.
- Browse and manage: Switch views in the folder tree in the left panel. Click a session card to view the conversation, generate a summary, favorite/add a note, restore it, or export a ZIP package.
- Batch operations: Select multiple sessions, and a batch action bar will appear at the bottom, allowing bulk summary generation or export.
- Experience library search: Switch to the “Experience Library” view in the panel to search generated LLM summaries.
- Close dsh: Click the power button in the top-right corner of the session header and confirm to close the current dsh process.
Notes and Limitations¶
Core patch dependency: The “Restore Session” and “One-Click dsh Shutdown” features depend on DSH core patches (workspace.unarchiveSession and host.shutdown RPCs). As of 2026-08, these RPCs are not included in the official codebase. Before installation, apply the corresponding .patch files (under the patches/ directory in the plugin directory) to the DSH source directory; otherwise, these features will be unavailable. If DSH officially incorporates these RPCs later, the patch becomes a no-op and can be safely skipped.
Configuration: Configure via the archive-viewer entry in cordis.patch.yml.
* autoArchiveEnabled: Controls the automatic archiving toggle (default: true).
* maxIdleDays: Sets the number of idle days before archiving (default: 7 days).
* scanIntervalMinutes: Sets the scan interval (default: 30 minutes).
* summarizeEnabled: Controls automatic summary generation (default: true).
* provider / model: Configures the LLM routing used for summary generation.
* Note: Summary generation consumes model tokens, and a request is made each time a session completes or when Generate Summary is clicked.
Data storage: Data generated by the plugin (folder structure, bookmarks, and summaries) is stored locally in the $DSH_HOME/archive_snapshots/ directory. Do not expose this directory to untrusted processes.
Summary¶
This plugin helps developers save and retrieve session content over the long term through structured archive management. For more details and source code, visit the project homepage: GitHub.