Back to marketplace

harness-session-delete

UI & Experience

Seetraum/harness-session-delete

Session recycle bin and permanent delete manager for DeepSeek Harness, allowing move, restore, and batch delete of sessions from the sidebar.

  • dsh-plugin
GitHub Stars
3GitHub
Views
0DSH Plugin Hub
Forks
1GitHub
Open issues
0GitHub Issues
Manifest version
0.3.3dsh-session-recycle-bin
Latest push
Sep 2, 2026GitHub
License
MITJavaScript
Plugin type
Host + ClientRuns in both Host and Web Client

Verification and compatibility

This section shows evidence collected by the catalog. Undeclared information is labeled as unknown.

Runtime verified
01Exact source: npm · dsh-session-recycle-bin@0.3.302Validated: Sep 3, 202603Verified Harness: 0.1.0-rc.7
Current-version compatibility
Verified on the catalog Harness version
Declared Harness range
Not declared
Declared platforms
Not declared
Profiles
web
Build approval
No requirement detected
Permissions
Not declared
External services
Not declared
Telemetry
Unknown
No known risk flags found

This is not a security endorsement. Review source, permissions, and configuration before installing.

View evidence and scope

Verification covers only the named source, version, and Harness environment. It does not guarantee future compatibility.

  • dsh-session-recycle-bin@0.3.3
  • The plugin completed a load check in an isolated environment.

README

View source

dsh-session-recycle-bin

Session recycle bin & permanent delete for DeepSeek Harness.

Move sessions into a recycle bin from the sidebar, restore or permanently delete them (single or batch), with live-session protection.

English | 中文


✨ Features

  • Sidebar per-session delete icon — hover a session row, a small trash icon appears; click to move it into the recycle bin instantly (no confirmation; always recoverable).
  • Session-header delete button — delete the current session from the conversation header.
  • Recycle-bin manager (Settings → 🗑 会话回收站) — archived sessions with multi-select: batch restore, batch permanent delete; each item shows its ID and path.
  • True permanent delete — physically removes the session log from disk and the projection-cache record; ghost sessions (records without a log) are cleaned up so they vanish instead of lingering.
  • Live-session protection — sessions with an active agent are refused deletion.
  • Batch fault tolerance — batch operations delete per-session with error collection and reporting.
  • Light/dark adaptive UI — all colors are CSS custom properties in client.css; components follow the resolved DSH appearance (data-ds-dark-theme) with prefers-color-scheme as the OS-level fallback (no hardcoded palette).

📦 Install

One-click from the plugin market (dsh-market)

Once listed in the awesome-dsh-plugin registry: open Settings → Plugin Market → search dsh-session-recycle-bin → install.

Manual

dsh plugin --profile web add dsh-session-recycle-bin

Then restart the web app (stop the dsh web process and run dsh web again).

Local development install

dsh plugin --profile web add link:/absolute/path/to/harness-session-delete

Uninstall

dsh plugin --profile web remove dsh-session-recycle-bin

🚀 Usage

  1. Sidebar delete — hover a session in the left sidebar, click the trash icon: the session moves into the recycle bin and the row disappears immediately.
  2. Settings recycle bin — open Settings ⚙️ → 🗑 会话回收站:
    • Checkbox multi-select → Restore (batch unarchive) or Permanent delete (batch purge).
    • Each entry shows the session name, ID and working path (hover for full details).
  3. Permanent delete physically removes the log and projection cache; live sessions are protected.
  4. Undo — restoring shows an undo toast that re-archives the session.

🛠 Development

pnpm test          # run the test suite (host logic + HTTP routes)

Repo layout:

harness-session-delete/
├── package.json            # single bundle manifest (dsh.bundle.patch + dsh.client)
├── cordis.patch.yml        # bundle patch: one insert mounting the host row
├── index.js                # node half: host entry (inject + apply)
├── client.js               # browser half: sidebar icons + settings recycle bin
├── client.css              # plugin stylesheet: design tokens + light/dark adaptive components
└── packages/
    └── session-trash-host/ # host implementation (persistence/workspace/cache patches, HTTP routes)

🔌 How it works

  • A single npm bundle covers both halves, same as other published plugins: the host row mounts via cordis.patch.yml; the browser half joins automatically through dsh.client + exports["./client"].
  • The browser talks to the host over the plugin's own /api/session-trash/* HTTP routes (registered on the webserver; non-GET requests carry an x-dsh-plugin CSRF header).

📄 License

MIT

Comments

0
Newest first