dylan121322/dsh-session-unarchive
Restore archived sessions to their original workspace from the Web GUI sidebar.
Listed
0
Session
Bundle verified
What it does
Restore archived sessions to their original workspace from the Web GUI sidebar.
Best for
- DSH Web users who need to find archived sessions and restore them to their original workspaces.
- Users managing many archived sessions who benefit from title filtering and an internally scrollable archive list.
Not ideal for
- Installations not running `@deepseek-ai/dsh@0.1.0-rc.6`; the file patches target that exact build and may not apply elsewhere.
- Users unwilling to patch host package files or perform the two required restarts.
- Workflows seeking backup, export, or deletion of sessions rather than unarchiving.
README
dsh-session-unarchive
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.
- The expanded section has a title filter (search box) that narrows the archived list as you type — the header shows
matched/totalwhile filtering. - With many archived sessions the expanded list is internally scrollable, so a long archive never pushes the rest of the sidebar out of view.
- 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. - With several archived sessions, expand the section: a search field appears above the list — type to filter by title (the header shows
matched/total), and scroll inside the list when it overflows themax-height.
Frequently Asked QuestionsFAQ
Use the verified command dsh plugin --profile default add github:dylan121322/dsh-session-unarchive in a DSH-enabled shell. The command resolves the public package metadata and keeps the plugin attached to the catalog identity shown on this page.
Compatibility follows the bundle and profile status shown above. If a profile is not detected, keep the plugin disabled there and check the repository documentation before enabling it in production.
The GitHub link and activity metadata are the source of truth for releases and maintenance. Revisit this page after a new release to confirm the catalog has observed the latest version.