Saikel-Orado-Liu/dsh-archive-manager ↗★ 1
@gamegeek-saikel/dsh-archive-manager
Archived-session management plugin for the DSH Web GUI — show archived, unarchive, and permanently delete sessions with zero changes to official packages.
AI Analysis
核心用途是增强官方工作区对历史会话的管理能力,提供两步删除确认和归档标记。适合需要整理大量历史会话、防止误删重要记录的用户。
Install
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Saikel-Orado-Liu/dsh-archive-managerREADME
Read the full README ↗Usage
Once installed and restarted:
| Surface | Description |
|---|---|
| View options | New "Show archived" item (separator-separated) alongside group-by/order-by; persisted in the same store |
| Session rows | Archived rows: red title + tinted background + "Archived" badge (theme danger token), click guarded with a toast; row menu = [Unarchive, Delete session] |
| Search results | Archived matches get the same red treatment; the browser-level guard keeps them from opening |
| Row menus | Normal sessions gain a danger-styled "Delete session" item; archived sessions show only [Unarchive, Delete session] |
| Delete dialog | Two-step confirmation ("This permanently deletes session … This cannot be undone."), pending state, failure keeps the dialog open |
| Live session delete | Composer greys out, row disappears, UI does not crash |
Restart verification checklist
- View options → "Show archived": toggling shows/hides archived sessions in their workspace groups (flat list and search included).
- Clicking an archived session does not open it; a toast says "This session is archived. Unarchive it to continue the conversation." and messaging stays blocked.
- An archived row's menu contains only [Unarchive, Delete session]; unarchive restores normal styling and openability at the session's original workspace position.
- A normal row's menu contains "Delete session"; confirming permanently removes the session with no disk residue:
~/.dsh\sessions\…\session-\no longer exists;~/.dsh\storages\workspace.json—global.archivedSessionIdsand every workspace'ssessionIdsno longer contain the id;~/.dsh\storages\session_projcache.json—tables.sessionsno longer contains the id.
- Deleting the currently open session greys the composer and removes the row without crashing.
- Rename / fork / archive / drag-sort / search / flat list / workspace CRUD all keep working.
- Both locales render correctly (switch the browser language and reload).