ashulam/dsh-session-delete ↗★ 0

dsh-session-delete

在侧边栏菜单中将会话日志和投影缓存移至回收站,支持恢复。 适合需要安全、可恢复地删除无用会话目录的用户

套件
dsh-session-delete
相容性
待驗證
版本
0.1.0
授權
MIT
最近更新
2026年10月18日

同名套件的其他儲存庫

安裝

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:ashulam/dsh-session-delete

dsh-session-delete

English | 简体中文

Adds 「删除会话 / Delete session」 to the sidebar's Session context menu in DeepSeek Harness and performs a real, recoverable deletion.

Session context menu with the Delete entry

Confirmation before deleting

What it does

Hover a session row and click its ⋯ button → Delete session.

Session stateBehaviour
Cold (not loaded in this app run)Deleted immediately; its log and replay cache go to the Windows Recycle Bin (fallback: /.session-trash/). The sidebar list refreshes itself through the client Session controller — no page reload needed.
Live (the session open right now, or one opened earlier in this run)DSH exposes no "close a session" API, so the files cannot be removed safely. The plugin offers to queue it: POST /dsh-session-delete/queue writes /.session-delete-queue.json, and the next start drains that queue before anything is opened.

After a restart that removed queued sessions, a small notice in the corner lists what was deleted (titles, up to five, with a count for the rest) and reports any entry that could not be removed and stays queued.

Files removed

For one session id:

PathWhat
`/sessions/
/session-/`the append-only event log
/storages/session_projcache/sessions/.jsonthe replay/projection cache

Nothing else is touched. Attachments are shared, content-addressed blobs and are deliberately left alone. The Workspace registry keeps its sessionIds entry — the registry has no "unregister a session" API, and the sidebar already skips ids whose stored session is gone.

Safety

  • A live session is refused (409); only the queue path can remove it, on the next start.
  • The HTTP routes sit behind the Host's browser trust fence (connection.requestRejection) and accept only session- ids.
  • Deletions are recoverable: Recycle Bin, or a stamped directory under /.session-trash/.

Requirements

  • DeepSeek Harness 0.2.x (the sidebar.workspaces.session.menu.item and shell.overlay slots).
  • Windows for Recycle Bin support; on other platforms files fall back to the trash directory.

Install

Listed in the plugin market once the registry entry is merged. Manual install:

dsh plugin --profile desktop add github:ashulam/dsh-session-delete
# or from a local checkout:
cd 

pnpm add file:

# then add "dsh-session-delete" to dsh.profile.bundles in package.json

Layout

  • lib/index.js — host half: POST /dsh-session-delete/delete, POST /dsh-session-delete/queue, GET /dsh-session-delete/last-drain (plus the boot-time queue drain).
  • client/client.js — browser half: the context-menu entry and the boot notice.
  • cordis.patch.yml — inserts the host row into the profile.

License

MIT