Preface

DeepSeek Harness (dsh for short) is an Agent runtime open-sourced by DeepSeek. The official repository summarizes its design principle in one sentence: Everything is a Plugin. Model adapters, tools, session logs, and web interfaces can all be combined via profiles, and the community can build additional capabilities on top of it. This article does not cover an entry in the official app store, but rather a plugin listed in a community directory. This directory has no official affiliation with DeepSeek / Fangfu, so you need to verify the repository and license yourself before installing.

When using the web interface daily, there is an “Archive” option in the menu for each session row in the sidebar. Once clicked, the session will disappear from the list and enter the archive collection in the workspace registry. The data still exists, but it is no longer displayed by default in the interface. If you later want to revisit the full conversation, restore the session to the sidebar, or completely delete both the session and its local logs, you need an additional entry point. This is exactly what dsh-archived-conversations does.

What is it

dsh-archived-conversations is a combined plugin for DSH Web (Cordis), maintained by hxyz486 and licensed under MIT. The community directory categorizes it under the “Sessions and Messages” section. The repository’s interface name is “Archived Conversation Viewer” (archived-conversation-viewer), the current package name in package.json is dsh-hxyz-archived-conversations, version 0.1.2, and it declares that its browser runtime only supports the web platform. As of 2026-08-18, both the directory page and GitHub repository have 6 stars; the directory page shows the latest push time as 2026-08-14.

It solves a very specific problem: it lists archived sessions in the settings page, grouped by workspaces, and supports expanding the full conversation, one-click restoration, and permanent deletion. The plugin is registered in the profile’s combined configuration, so the entry will still exist after refreshing the page or restarting dsh.

Core Features

Based on the repository README and source code (index.js / client.js), the verified capabilities as of now are as follows.

  1. View Archived Sessions
    After selecting “Archive” from the session row menu in the sidebar, the session disappears from the sidebar and enters the archive collection. The “Archived Sessions” panel in the settings page will list these sessions grouped by workspace; entries that do not belong to any workspace are grouped under “Ungrouped”. Each entry displays the title (falls back to the session ID if there is no title) and creation time. If the session header can no longer be read, the row will be marked “Log Lost”.

  2. Grouping and Collapsing by Workspace
    Each workspace forms a group, with the group header showing the title, path, and count. You can expand or collapse individual groups, or use “Expand All / Collapse All”. The list area has a fixed height and allows vertical scrolling, making it easier to browse when there are a large number of archived sessions. There is also a “Refresh” button on the panel.

  3. View Full Conversation
    Clicking a session row will request the session’s logs from the host, expanding user/assistant/tool messages. The host runtime uses the sessionQuery.readSession read event to convert text, thinking, images, tool calls, and tool results into displayable plain text; it only responds to sessionIds that are still in the archive collection.

  4. Restore
    Removes the session ID from the archive collection and attempts to reattach it to the original workspace based on the session’s working directory (cwd). After a successful restore, the session will reappear in the sidebar. If the local logs are no longer available, the restore will fail, and the source code will prompt to use “Delete” to clean up the remaining archive records instead.

  5. Permanent Deletion
    Deletion does not just change a flag. The host will first attempt to delete the local session log directory (the README specifies the directory where session.jsonl.zstd is located), and then clear the archive records and workspace grouping attribution after success. You need to click twice on the interface: the first time the button text is “Delete”, and the second time it changes to “Confirm Delete?”. This is an unrecoverable operation.

Installation and Activation

The installation command provided on the directory page is as follows, run it in the DeepSeek Harness terminal. Do not construct the command yourself based on the repository name:

dsh plugin add github:hxyz486/dsh-archived-conversations

The dsh CLI will parse the plugin from GitHub and install it to the current profile. This plugin declares a web client, so it should be installed in the profile that launches the web UI (usually web). If your current terminal is not pointed at the web profile, you can explicitly specify it as per the official documentation:

dsh plugin --profile web add github:hxyz486/dsh-archived-conversations

The directory page recommends pinning the commit hash for reproducible installations. This article verified that the commit master branch on 2026-08-14 is 09a9198f735a333ab57866522fde4cf8ddd4bb52, and the corresponding installation command is:

dsh plugin add github:hxyz486/dsh-archived-conversations#09a9198f735a333ab57866522fde4cf8ddd4bb52

The repository README also documents a manual installation method: junction/copy the plugin directory to the profile’s node_modules, insert the plugin ID in cordis.patch.yml, then restart with --profile web. Please note that the ID in the README example is still written as archived-conversation-viewer, while the current package name has been changed to dsh-hxyz-archived-conversations. It is recommended to use the directory page’s dsh plugin add command first; if you use the manual installation path, refer to the actual plugin card that appears in the settings page after installation, do not just follow the old ID in the README.

Confirmation locations after activation:
- Settings → Plugins → All: You should see the “Archived Conversation Viewer” card (settings.plugin.item in the source code).
- Gear icon at the bottom left of Settings → Archived Sessions: This is the management interface (settings.section with label “Archived Sessions”).

Typical Usage

The steps below come from the “Usage Entry” section of the README and the client implementation, and can be reproduced locally.

  1. Find an unused session in the sidebar, open the row menu, and select “Archive”. The session will disappear from the list.
  2. Open Settings and enter “Archived Sessions”. The total number of archived sessions will be displayed next to the panel title; sessions are grouped by workspaces, and the group header can be clicked to collapse/expand.
  3. Click the title or “View” of a row to expand the full conversation. Messages will be marked with role (user/assistant/tool), time, and sequence number.
  4. If you still need to continue using this conversation, click “Restore”. The plugin will remove the session from the archive collection; if the original workspace path can be matched, it will be reattached, and the session should reappear in the sidebar.
  5. If you no longer need it at all, click “Delete”, and the button will change to “Confirm Delete?” after the first click; click again to confirm. After the log directory is successfully deleted, the archive records and grouping attribution will be cleared completely, and cannot be recovered from the plugin.

When the list is empty, the panel will prompt that the archive entry is still the “Archive” option in the sidebar row menu. After a successful restore or deletion, the client will call sessions.refresh / workspaces.refresh to keep the sidebar aligned with the registry as soon as possible, without needing a full page refresh.

Applicable Scenarios and Notes

This tool is suitable for users who already use the DSH web interface and archive sessions regularly: when a project is completed and you want to keep the sidebar clean, but need to revisit the tool call records a few days later; or when there are ghost entries in the archive collection (logs are gone but the marker still exists) and you need to clean them up. It does not provide features such as search, bulk deletion, ZIP export, or shutting down the dsh process, and there are no such interfaces in the README or source code.

There are several boundary conditions you must understand before use, all derived from the current source code rather than speculation:
- Permissions and Security: The plugin runs with the permissions of the current dsh process, and may execute code during installation. Please read the GitHub repository and MIT license before installing; only install from sources you have verified. Inclusion in the community directory does not equal official endorsement.
- Deletion Modifies Disk Data: deleteSession uses subprocess to call pwsh or powershell to execute Remove-Item -LiteralPath ... -Recurse -Force on the log directory. If PowerShell cannot be found, it will throw an error and abort, leaving the session unchanged. This deletion path is written for Windows environments; listing, viewing, and restoring do not use PowerShell.
- Running Sessions Cannot Be Deleted: If the agent state of the session is running (processing messages), the source code will refuse to delete it, prompting you to wait for it to finish, or restore it first before proceeding. Idle resident processes will attempt to flush and detach; if detachment fails, you will be asked to restart dsh before deleting.
- Two-step Confirmation Does Not Prevent All Accidental Deletions: The interface only requires two clicks on the same button, with no additional verification such as entering the session title. Clicking it will clear the logs, so please confirm which session you are operating on first.
- Do Not Treat It as an Official Feature: The official DeepSeek Harness repository is at https://github.com/deepseek-ai/deepseek-harness. The plugin in this article comes from community maintainer hxyz486, and the directory page is an independent site at https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-archived-conversations/.

Summary

dsh-archived-conversations makes sessions that have been archived and hidden from the sidebar accessible again in the settings page: browse them grouped by workspaces, expand the full conversation, restore them to the sidebar, or delete both the session and its local logs. Use the installation command from the directory page as the standard:

dsh plugin add github:hxyz486/dsh-archived-conversations

Directory page: https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-archived-conversations/
GitHub: https://github.com/hxyz486/dsh-archived-conversations