Introduction¶
dsh sessions can be archived, but there are few existing entry points for post-archival actions: finding a specific old session, batch restoring sessions, or periodically archiving inactive sessions based on rules all lack a visual interface. The dsh-plugin-archive-manager introduced below is designed to address this by placing these capabilities in the dsh Web UI’s settings page.
Overview¶
dsh-plugin-archive-manager is a dsh plugin maintained by qinyre, under the MIT license, with the current version being 0.3.0. It provides a top-level section titled “Archive Management” in the Web UI settings page, covering three main tasks: browsing archived sessions, unarchiving sessions, and automatic archiving based on rules.
It was formerly known as dsh-plugin-atlas. Starting with version 0.3.0, the official Web UI includes a built-in conversation ruler; the plugin no longer includes a ruler or input history, focusing solely on archiving, and has been renamed with version updates.
Core Features¶
Archiving Browsing and Restoration¶
Archived sessions are grouped by workspace and support searching and batch unarchiving. The sidebar is restored in real-time after unarchiving, without requiring a restart. Titles and round counts in the list are sourced directly from the session logs themselves, without relying on additional indexes.
Automatic Archiving¶
Automatic archiving is disabled by default. Once enabled, you can configure two rules: “Inactive for more than N days” and “Retain the most recent M per workspace,” checked once daily. A dry run is available before execution, allowing you to preview the list of sessions to be archived before deciding whether to proceed.
Legacy Rule Inheritance¶
If you were previously using the old package name dsh-plugin-atlas, its automatic archiving rules will be automatically inherited upon upgrading; no reconfiguration is necessary.
Installation and Activation¶
Default installation command:
dsh plugin --profile web add dsh-plugin-archive-manager
You can also install via package name in the Web UI under Settings → Plugins (via dsh-plugin-install), or directly from GitHub:
dsh plugin --profile web add github:qinyre/dsh-plugin-archive-manager
To install a local checkout during development, use add file:/path/to/dsh-plugin-archive-manager; the package’s prepare script will automatically build. To uninstall, simply replace add with remove.
To upgrade from the old package name, remove the old package first and then install this package:
dsh plugin --profile web remove dsh-plugin-atlas
dsh plugin --profile web add dsh-plugin-archive-manager
Once installed using the steps above, if you are using DSH Desktop (which embeds the same Web UI), the plugin is active within the desktop environment without requiring additional configuration.
Security and Boundaries¶
The plugin’s write paths have several defined boundaries:
- Write operations require same-origin POST requests, and rule values are subject to range validation.
- Automatic archiving only invokes the public
archiveSessionexposed by dsh. - Unarchiving is completed via a reserved state write path in the registry. If future changes to dsh invalidate this, the plugin will explicitly report an error rather than corrupting data; at that point, simply update dsh and this plugin.
- The plugin does not delete any sessions or files.
Development and Testing¶
The development workflow in the repository is:
pnpm install
pnpm run typecheck
pnpm test
pnpm run build
End-to-end smoke tests are disabled by default and require a checkout of the deepseek-harness source code in the same directory along with Node ≥ 22.19:
DSH_ARCHIVE_MANAGER_PLUGIN_SMOKE=1 pnpm test
It creates a temporary DSH_HOME, installs this plugin into the web profile, starts dsh web, and probes each route individually.
Applicable Scenarios and Notes¶
Target users: dsh users with a large volume of sessions who manage projects by workspace, want to keep the sidebar clean, and prefer not to manually archive sessions one by one.
Two points to note before using:
- The plugin runs with the permissions of the current dsh process; it is recommended to review the source code and license (MIT) before installing.
- Automatic archiving is disabled by default. Enable it after a dry run to preview the list and confirm the scope of impact before setting the specific values for N and M.
Conclusion¶
The functionality of dsh-plugin-archive-manager is straightforward: it brings browsing, restoring, and automatic archiving of sessions into the Web UI and clearly defines the security boundaries. If you have accumulated a significant number of archived sessions in dsh, it is worth a try.
- Directory page: https://www.skillhub.cn/plugins/qinyre/dsh-plugin-atlas
- GitHub: https://github.com/qinyre/dsh-plugin-atlas
The community directory is an independent site and has no official affiliation with DeepSeek or InfiniFlow.