Introduction¶
After long-term use, the DeepSeek Harness (DSH) sidebar usually accumulates a large number of archived sessions or blank sessions with no log records. These sessions are invisible in the interface, but they consume storage space and pollute the sessionIds collection. dsh-session-vault is a settings plugin for listing and deleting archived or blank sessions hidden from the sidebar, as well as sessions whose logs cannot be read.
Plugin Overview¶
This plugin is maintained by nateyu and is a DeepSeek Harness client plugin. Its core function is to provide a settings page so users can clean up sessions that are hidden by the product interface, cannot be interacted with normally, or have corrupted logs.
Core Features¶
- List and delete hidden sessions: The plugin lists archived sessions hidden from the sidebar, blank sessions with no log records, and “Unreadable” sessions whose logs cannot be read.
- Session filtering and pagination: The list supports filtering by type and date and can be browsed through pagination.
- Subagent exclusion: The plugin automatically excludes Subagent-type sessions to avoid accidental deletion.
- Multilingual navigation: The navigation tabs on the settings page automatically follow the product language, displaying “归档” in Chinese environments and “Archive” in English environments.
- RPC deletion mechanism: Deletion operations are performed through Connection RPC, ensuring low-level permission control for the operation.
- Batch limit: A single
vault.deletecall accepts up to 200 session IDs.
Installation and Activation¶
Install it using the official plugin directory:
dsh plugin --profile web add dsh-session-vault
After installation, restart dsh web, and the plugin entry point will be available on the settings page.
Usage Workflow¶
- Switch sessions: The session currently being viewed cannot be deleted; you must switch to another session first.
- Running-state restriction: Sessions marked as
runningwill be refused for deletion. - Confirmation and irreversibility: Deletion requires user confirmation and cannot be undone after confirmation.
Implementation Details and Limitations¶
- Backend requirements: A JSONL persistence backend is required (the default configuration for
dsh web). Deletion is refused for backends that cannot return the session directory throughlocate()(for example, SQLite). - File cleanup: Deletion clears any active agent or session to prevent the system from rewriting files on the next refresh.
- Data removal: The plugin removes IDs from the workspace
sessionIdsand globalarchivedSessionIdscollections. - Archive ledger handling: Because upstream does not expose a corresponding API for removing IDs from the archive ledger, the plugin writes directly to the
WorkspaceRegistrystate. This write operation does not run on the registry’s internal operation queue; concurrent conflicts result in an error rather than a silent overwrite. - Per-request limit: A single request can process up to 200 IDs; any larger quantity must be split into batches.
Conclusion¶
dsh-session-vault provides the ability to clean up invisible sessions in a DeepSeek Harness instance. It is suitable for developers who need to maintain a large number of historical sessions or who encounter inconsistent session indexes.