← Back to home@Ultronen

dsh-archived-chats

Local-first Session Archive for DeepSeek Harness: bulk archive, full-text search and native preview, tags and notes, ZIP backups, snapshot-protected Recycle Bin, storage and retention, lineage, and preserved legacy recovery data.

Stars
23
Language
JavaScript
Created
Aug 16, 2026
Updated
Sep 19, 2026

Introduction

DSH Insights health

Session Archive: local-first archived-chat center for DeepSeek Harness

Session Archive

A local-first archived-chat center for DeepSeek Harness

dsh-archived-chats

npm version npm downloads CI Node.js 18 and 24

MIT License Awesome DSH Plugin GitHub stars

English · 简体中文

Plugin market · npm · Releases · Discussions · Private security report

Session Archive gives DeepSeek Harness a first-class home for chats that disappear from the sidebar after archive. Browse every archived conversation by workspace, search its full content, recover deleted chats from the Recycle Bin, and manage them through explicit, reversible workflows.

Formerly Archived Chats, now Session Archive / 会话档案. The package name, repository, install command, and local data location are unchanged; existing users need no data migration.

Quick start

dsh plugin --profile web add dsh-archived-chats@latest

Restart DSH once, then open Settings → Session Archive.

Update an existing installation:

dsh plugin --profile web update dsh-archived-chats

Multi-workspace archive chooser with Select all and explicit confirmation Confirmation before enabling automatic Recycle Bin cleanup

Core capabilities

AreaWhat it provides
Browse and searchWorkspace-grouped archive browsing, full-text search across messages and tool results, filters, sorting, tags, and notes.
Archive a workspaceFrom Settings → Session Archive, choose a workspace and open one confirmation for every eligible chat in it. Empty new-session windows are excluded; the workspace and its directory stay unchanged.
Read-only previewNative conversation layout for Markdown, reasoning, tool activity, JSON, code, and available stored images, with responsive turn navigation.
Existing dataPrior snapshots appear directly in the Recycle Bin for read-only preview, recovery as a new archived copy, or confirmed permanent deletion. Archiving no longer creates versions.
Backup and restoreJSON + Markdown ZIP export with preview-first, conflict-safe import. Existing session IDs are never overwritten.
Recoverable deletionSnapshot-protected Recycle Bin with immediate Undo, two-level restore, separately confirmed permanent deletion, and an optional direct permanent-delete action for users who do not need recovery.
Storage and relationshipsSeparate storage accounting, optional automatic Recycle Bin cleanup, and read-only Origins & Branches for forks and subagent trees.

The four main views are Archived, Recycle Bin, Storage & Retention, and Origins & Branches. Existing snapshots are preserved during upgrades and folded into the Recycle Bin; the separate History entry and archive-time capture have been retired.

Safety by design

  • Local only: plugin metadata, recycle records, policies, and validated snapshots stay under $DSH_HOME/plugin-data/archived-chats/. Nothing is uploaded or cloud-synced.
  • No silent overwrite: imports and legacy-snapshot recovery create or select non-conflicting IDs; they never replace an existing session.
  • Deletion stays explicit: ordinary removal enters the Recycle Bin after snapshot protection. Physical removal is available only through confirmed permanent-purge actions.
  • Optional automatic cleanup: off by default. After confirming a retention period, expired Recycle Bin chats are permanently deleted while DSH runs, with catch-up on startup. Enabling or shortening the period shows affected chats for confirmation; older saved policies stay disabled.
  • Confirmed workspace archive: the chooser lists only workspaces with eligible chats and supports single, multiple, or toggleable Select all selection through a bottom-right Confirm button. The plugin prepares each exact set in the background, skips workspaces that became empty, then shows one aggregate confirmation. Only sessions whose inspected log contains a real turn/start are eligible; empty new-session windows and sessions whose content cannot be confirmed are skipped. Each workspace keeps its own five-minute, single-use credential, which excludes chats added later; a running chat is skipped, never stopped or moved.
  • Backup scope is visible: ZIP exports preserve complete session JSON and readable Markdown, but do not include attachment bytes or descendant sessions.

Compatibility

Features activate from the public capabilities exposed by the DeepSeek Harness Host instead of a hard-coded Host version.

Host capabilityPlugin behavior
Archive and session readsBrowsing, search, preview, legacy-snapshot inventory in the Recycle Bin, storage accounting, and lineage.
settings.section + public archiveSessionThe plugin-owned settings page provides an eligible-only multi-workspace chooser and one aggregate confirmation without requiring a workspace-menu extension slot. Without archive capability, preparation returns workspace-archive-unsupported and makes no change.
Attachment readsStored images appear in conversation and snapshot previews; without it, text remains readable.
Session-scoped log locationRecycle Bin permanent deletion uses the persistence provider's public locate(meta) capability. Providers without a session-scoped location remain unsupported; failed operations retain their rows and display the reason.
Public session writerZIP import, legacy-snapshot recovery, and snapshot fallback when an original is missing all write through the Host's public create / append / locate capability, or a dedicated restore entry point where one exists.
Missing write capabilityThe operation returns restore-unsupported without writing or overwriting data.

Back up $DSH_HOME/plugin-data/archived-chats/ before downgrading to a release that does not understand the unified Recycle Bin or newer snapshot state.

Demo preview

The eight fixed screenshots below come from an isolated Simplified Chinese light-theme Web environment with synthetic conversations. They contain no real user data, paths, notes, or credentials, and are the same ordered image set declared to the plugin market.

View all eight screenshots
Latest Archived view with search, filters, tags, one-line notes, and current actions
Archive overview
Full-text search, filters, tags, and readable hit excerpts
Full-text search
Eligible-only multi-workspace archive chooser with Select all
Workspace archive chooser
Native read-only legacy snapshot preview with a stored image
Read-only preview
Unified Recycle Bin with legacy snapshots and row and workspace actions
Unified Recycle Bin
Irreversible confirmation before emptying every workspace in the Recycle Bin
Empty Recycle Bin confirmation
Storage and Retention confirmation before enabling automatic cleanup
Automatic cleanup confirmation
Origins and Branches with forks, subagents, and recycled state
Origins and Branches

Documentation

ResourceEnglish简体中文
User guideRead the guide查看指南
ArchitectureMaintainer architecture维护者架构
Release historyGitHub ReleasesGitHub Releases

See also Support, Security, Contributing, Code of Conduct, and Discussions. Before claiming work or opening a pull request, contributors must read the Contributing Guide in full.

Project status

Session Archive is actively maintained. The latest stable npm release receives fixes and security updates; older releases should be upgraded before reporting a problem. Reproducible bug reports and focused pull requests are welcome. Accepted community tasks are marked help wanted; read the claim workflow before starting substantial work. Maintenance is performed as availability permits, so no fixed response or release schedule is promised.

Development

npm test

The suite covers Host and browser behavior, export/import, older-snapshot recovery, Recycle Bin, retention, search, responsive layout, public types, package contents, and repository hygiene. It uses isolated temporary data and never reads real sessions.

Uninstall

dsh plugin --profile web remove dsh-archived-chats

Uninstalling removes only the plugin package. It does not delete local data under $DSH_HOME/plugin-data/archived-chats/ or trigger Recycle Bin permanent purge. Retained data includes metadata.json, trash.json, legacy-recycle.json, retention.json, the snapshots/ directory, and any legacy pending-deletions.json that has not yet been migrated. A later reinstall can use this data. Before permanently removing the directory, restore and back up anything you need, then delete it manually only after confirming that none of its data is still required.

License

MIT