DeepSeek Harness plugin

dsh-session-archive

A DeepSeek Harness Web-plugin that surfaces the registry-global archived-session set: list archived sessions in the sidebar and restore (unarchive) them.

Jump to install

Source facts

Repository
kiligzzz/dsh-session-archive
Latest update
Aug 22, 2026
Category
Plugin Markets & Managers
GitHub stars
1
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/kiligzzz/dsh-session-archive
Plugin: dsh-session-archive
Author: kiligzzz

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer4 files
README.en.mdSource · read only
README language

dsh-session-archive

!installs

English | 简体中文

A DeepSeek Harness web plugin that surfaces the registry-global archived session set and lets you preview, restore (unarchive), or delete sessions.

The harness hides archived sessions from every grouping surface (workspace groups, Ungrouped, content search, flat list) but ships no UI to view or restore them. This plugin adds that missing capability as a sidebar-footer entry.

Screenshots

Panel — archived sessions grouped by owning workspace directory, sorted newest-first, each row showing its last-activity time with the absolute timestamp on hover.

!Panel

Live title search — typing filters the list across all groups as you type.

!Search

Read-only preview — clicking a session title opens a modal rendering every user question from the on-disk log. The archived state is never touched.

!Preview

Delete confirmation — deleting requires an explicit confirmation dialog; live sessions are always refused.

!Delete

Sidebar entry — the plugin adds a bottom-of-sidebar button alongside Cordis Plugin and the Plugin Marketplace.

!Sidebar entry

Features

  • Sidebar footer entry — an "Archived sessions" button at the bottom of

the sidebar (also works in the collapsed icon rail).

  • Grouped panel — every archived session listed in a wide fixed-size

panel, grouped by owning workspace directory (Ungrouped last), with collapsible directory groups and a per-group count badge.

  • Last-activity time per row — compact relative time (now / 5min / 3h /

2d), matching the sidebar session rows' style; hover shows the absolute local timestamp. Rows sort newest-first within each group.

  • Live title search — filters sessions across all groups as you type.
  • Read-only preview — clicking a session title opens a modal rendering

every genuine user question (system-injected content excluded) from the on-disk log. Purely observational: the archived state is never touched, so you can inspect contents before deciding to restore or delete.

  • One-click restore — calls a same-origin host route that durably removes

the id from the archived set (idempotent, serialized through the workspace-registry write chain); the session reappears in its grouping.

  • Delete with confirmation — a trash action opens a confirmation dialog;

confirming permanently removes the session from the archived set, detaches its workspace accounting, and deletes its on-disk log directory. Live sessions are refused.

  • Host service APIworkspaceArchive (list() / preview(sessionId) /

restore(sessionId) / deleteSession(sessionId)) exposed to sibling host plugins.

Install

Prereq: a DeepSeek Harness Web profile (dsh available, pnpm on PATH).

dsh plugin --profile web add https://github.com/kiligzzz/dsh-session-archive

Restart the Web profile (host and browser bundles are scanned at boot), then refresh the page. Its bundle id appears in __DSH_BOOT__ and a sidebar.footer.action entry appears at the bottom of the sidebar.

Install from a local checkout instead:

pnpm --dir <this-checkout> install   # dev deps (esbuild) only if rebuilding
pnpm --dir <this-checkout> run build # optional — lib/ build artifacts are committed
dsh plugin --profile web add "$PWD"

Remove

dsh plugin --profile web remove @kiligzzz/dsh-session-archive

How it works

  • host (src/index.ts): a cordis plugin injecting workspaceRegistry

(and optionally webServer). WorkspaceArchive.restore() mirrors the registry's own archiveSession write path: enqueueOperationrequireStatesetState({ ...state, archivedSessionIds: filtered }), so the change is serialized and atomically persisted to the workspace domain (~/.dsh/storages/workspace.json). A same-origin route /_dsh/session-archive exposes GET (list) and

POST {action:'restore'|'delete'|'preview'}.

  • client (src/client/index.tsx): registers a sidebar.footer.action

entry; the panel reads archivedSessionIds / session summaries from the shared useWorkspaces / useSessions stores and POSTs to the host route on restore, then the workspace baseline refreshes. Relative-time labels derive from each session's updatedAt.

License

MIT