DeepSeek Harness plugin

dsh-archive-session

浏览归档会话并删除会话的 DSH 插件

Jump to install

Source facts

Repository
DreamStan/dsh-archive-session
Latest update
Aug 18, 2026
Category
Memory
GitHub stars
0
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/DreamStan/dsh-archive-session
Plugin: dsh-archive-session
Author: DreamStan

Check the source files

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

File explorer4 files
README.mdSource · read only
README language

@dsh-external/dsh-archive-session

English | 中文

A DSH plugin for browsing archived sessions and safely deleting them.

DSH officially supports archiving sessions, but it does not provide a way to view archived sessions, close them from memory, unarchive them, or delete them. This plugin fills that gap.

Features

  • Browse archived sessions

- Lists sessions in the registry-global archive set with title, session ID, workspace path, creation time, live/running/persisted status, and log path.

  • Close in-memory sessions without restarting DSH

- A finished conversation can still be held in memory by DSH. archived_session_close flushes and detaches an idle session so it becomes persisted-only immediately.

  • Unarchive sessions

- Removes a session from the archive set so it reappears in the sidebar/grouping surfaces and can be closed normally.

  • Delete archived sessions

- Physically removes the session log directory for JSONL backends after explicit confirmation.

  • Settings UI

- A dedicated Archived Sessions page under DSH Web Settings.

  • Host HTTP API

- Simple JSON endpoints for automation.

![](img/archive-session-ui-en.png)

Agent Tools

ToolDescription
archived_sessions_listList archived sessions that still resolve to a real session.
archived_session_closeClose an idle in-memory archived session (flush + detach), no restart required.
archived_session_unarchiveRemove a session from the archive set so it becomes visible again in the sidebar.
archived_session_deleteDelete an archived session permanently. Requires confirm: true.

Settings UI

Open DSH Web Settings and select Archived Sessions.

Each row shows:

  • Title / session name
  • Session ID and workspace path (full value on hover)
  • Creation time
  • Full log path
  • Status badge: Running, Open (idle), or Persisted

Available actions per row:

  • Close session – turn an idle in-memory session into persisted-only
  • Unarchive – make the session visible again in the sidebar
  • Delete – permanently delete the session (enabled only after it is persisted-only)

Host API

Base path: /dsh-archive-session/api

MethodPathBodyDescription
GET/archivedList archived sessions.
POST/close{ "sessionId": "..." }Close an idle in-memory session.
POST/unarchive{ "sessionId": "..." }Remove a session from the archive set.
POST/delete{ "sessionId": "...", "confirm": true }Permanently delete an archived session.

Installation

Prerequisites

  • A DSH installation with the dsh CLI available, or the DSH source checkout for building.
  • Node.js and npm for building from source.

Install from a release tarball

dsh plugin --profile web add dsh-external-dsh-archive-session-0.0.9.tgz

After installation, restart DSH.

Install from source

git clone https://github.com/DreamStan/dsh-archive-session.git dsh-archive-session
cd dsh-archive-session

# Build host + client
bash scripts/build.sh
npm run build:client

# Pack a distributable tarball
npm pack

# Install into the web profile
dsh plugin --profile web add ./dsh-external-dsh-archive-session-0.0.9.tgz

If you use the DSH super-injector development toolchain, you can also run:

dev_build_plugin  {"dir": "/absolute/path/to/dsh-archive-session"}
dev_install_package {"dir": "/absolute/path/to/dsh-archive-session"}

Manual profile installation

Add the dependency and bundle entry to ~/.dsh/profiles/web/package.json:

{
  "dependencies": {
    "@dsh-external/dsh-archive-session": "link:/absolute/path/to/dsh-archive-session"
  },
  "dsh": {
    "profile": {
      "bundles": [
        "@deepseek-ai/dsh-base",
        "@deepseek-ai/dsh-web-app",
        "@dsh-external/dsh-archive-session"
      ]
    }
  }
}

Then create the profile link:

mkdir -p ~/.dsh/profiles/web/node_modules/@dsh-external
ln -s /absolute/path/to/dsh-archive-session ~/.dsh/profiles/web/node_modules/@dsh-external/dsh-archive-session

Restart DSH.

Uninstallation

Via dsh CLI

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

Restart DSH after removal.

Via super-injector dev tools

If the plugin was installed with the DSH super-injector toolchain:

dev_uninject_plugin {"match": "dsh-archive-session"}

Manual removal

1. Remove the dependency and bundle entry from ~/.dsh/profiles/web/package.json:

{
  "dependencies": {
    "@dsh-external/dsh-super-injector": "link:/path/to/dsh-super-injector"
  },
  "dsh": {
    "profile": {
      "bundles": [
        "@deepseek-ai/dsh-base",
        "@deepseek-ai/dsh-web-app",
        "@dsh-external/dsh-super-injector"
      ]
    }
  }
}

2. Remove the profile link:

rm -f ~/.dsh/profiles/web/node_modules/@dsh-external/dsh-archive-session

3. If a disabled patch entry for this plugin exists in ~/.dsh/profiles/web/cordis.patch.yml, remove it.

4. Restart DSH.

> Uninstalling the plugin does not delete archived session logs or workspace data.

Usage Notes

  • Close before delete. DSH keeps session objects in memory after a conversation ends. You must either restart DSH or use archived_session_close before deleting a live-idle session.
  • Unarchive to manage normally. Archived sessions are hidden from the sidebar. Use archived_session_unarchive if you want to open, close, or resume them through the normal UI.
  • Stale archive IDs are ignored. If an archived ID no longer resolves to a real session log, it is skipped and reported as an ignored stale ID.
  • Deletion backend support. Deletion currently works with the JSONL persistence backend (~/.dsh/sessions). SQLite backends are rejected with a clear error because DSH exposes no public deletion API for them.

License

[MIT](LICENSE)