dylan121322/dsh-session-unarchive
从 Web GUI 侧栏查看已归档会话,并一键恢复到原工作区。
已收录
0
Session
Bundle 已验证
功能介绍
从 Web GUI 侧栏查看已归档会话,并一键恢复到原工作区。
适合
- 需要在 DSH Web 中查找归档会话并恢复到原工作区的用户。
- 管理大量归档会话、需要标题筛选和独立滚动列表的用户。
不适合
- 未运行 `@deepseek-ai/dsh@0.1.0-rc.6` 的环境;文件补丁针对该构建生成,其他版本可能无法应用。
- 不愿修改宿主包文件或无法完成两次重启的用户。
- 需要备份、导出或删除会话,而不是取消归档的工作流。
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.
常见问题常见问题
在启用了 DSH 的终端中执行已验证命令 dsh plugin --profile default add github:dylan121322/dsh-session-unarchive。命令会解析公开 package 元数据,并保持插件与本页展示的目录身份一致。
兼容性以页面上展示的 bundle 与 profile 状态为准。如果某个 profile 尚未检测到,请先保持禁用,并在生产启用前阅读仓库文档。
GitHub 链接和 activity 元数据是 release 与维护状态的来源。新版本发布后重新查看本页,确认目录已经观察到最新版本。