Restore archived sessions to their original workspace from the Web GUI sidebar.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:dylan121322/dsh-session-unarchive
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time. Only install sources you trust, and pin a commit (github:owner/repo#sha).
README
Adds an archived-sessions view and a restore action to the dsh Web GUI.
What it does
- Shows an Archived section at the bottom of the sidebar, listing every archived session.
- Adds a Restore session menu item that unarchives a session and returns it to its original position in its workspace.
- Works in both zh-CN and en locales.
Install
dsh plugin add github:dylan121322/dsh-session-unarchive
Activate
- Restart dsh. The first boot applies the patches to five dsh packages and prints a notice.
- Restart dsh once more (host files take effect after that).
- Refresh the browser at http://127.0.0.1:3080.
Every later boot detects the patches as applied and stays quiet. The plugin is idempotent: it never re-applies or corrupts files, and it refuses to touch targets that were modified locally.
How it works
dsh 0.1.0-rc.6 archives sessions one-way: the GUI hides them from every view and offers no way back. The data is never deleted — the session id is only recorded in ~/.dsh/storages/workspace.json (global.archivedSessionIds).
The cordis patch layer can override entry properties but cannot redirect an existing plugin's implementation file, so this bundle ships file patches instead. The plugin entry (index.js) runs at boot, verifies each target against the pristine originals in originals/, and applies the diffs in patches/.
Patched packages:
| Package | Change |
|---|---|
dsh-workspace |
Adds unarchiveSession() to the workspace registry. |
dsh-host-apiproxy |
Adds the workspace.unarchiveSession RPC end to end. |
dsh-client-connection |
Adds fetch mapping and fixture support. |
dsh-client-runtime |
Adds manager and service methods. |
dsh-client-ui-workspace |
Adds the archived section, restore menu, and i18n. |
Manual fallback
If dsh plugin add is not an option, ./apply.sh applies the same patches directly (./apply.sh check for a dry run).
Compatibility
Targets @deepseek-ai/dsh@0.1.0-rc.6. Patches are generated against that version's build output; other versions may not apply. A dsh upgrade overwrites the patched files — re-run dsh plugin add (or ./apply.sh) after upgrading.
Verify
- Archive any session: the Archived section appears at the bottom of the sidebar.
- Expand it and pick Restore session from the row menu.
- The session returns to its workspace group, the section disappears, and
archivedSessionIdsin~/.dsh/storages/workspace.jsonno longer contains the id.
Links
More in this category
Anionex/dsh-turn-rewind★ 51
Rewind conversation and workspace state, powered by a persistent Change Ledger.
Nwflower/dsh-chat-import★ 30
Import full-fidelity chat histories from 13 coding agents (Claude Code, Codex, ChatGPT, Cursor, Gemini, opencode, and more) as resumable DeepSeek Harness sessions, with reverse export back to Claude Code.
Chinesezjc/dsh-interconnect★ 26
Cross-instance message and event handoff between DSH instances via an interconnect server.
whyihaveyou/dsh-suite#plugin-session-export★ 21
Export the append-only session log as human-readable Markdown or HTML, grouped by trajectory source.
hellodigua/dsh-share★ 18
Share your conversations with one click.
Moeblack/dsh-message-edit★ 18
Branch-based message editing, reroll, retry, and a version timeline.