Preface¶
Today is 2026-10-01. DSH supports session archiving, but the Web interface hides these sessions by default, preventing users from viewing or restoring them in the interface. The dsh-session-unarchive plugin solves this issue by adding an archived sessions view and restore actions to the Web GUI.
Plugin Introduction¶
This plugin is maintained by dylan121322. It is implemented as a pure Cordis plugin (Host-side + Client-side) and does not involve any file patching. The plugin interacts with the system by calling DSH’s runtime APIs, making it resilient to DSH upgrades without modifying any files in the DSH installation directory.
Core Features¶
- Sidebar Button: Adds an “Archived” button at the bottom of the sidebar (next to Settings), displaying the number of archived sessions in real time.
- Session Panel: Clicking the button opens a pop-up panel that lists all archived sessions. It supports title filtering, and each row includes a “Restore” action.
- Restore Logic: The restore action returns a session to its original workspace location. The panel and built-in sidebar are updated automatically via DSH’s
host/archived-sessions-changedevent. - Multilingual Support: Supports both Chinese (zh-CN) and English interfaces.
Installation and Enablement¶
The plugin must be registered via dependency injection. Follow these steps:
cd "$DSH_HOME/profiles/web" # 进入 Web 配置目录
# 1. 在 package.json 的 dependencies 中添加本地依赖
# "dsh-session-unarchive": "file:plugins/session-unarchive"
# 2. 在 cordis.patch.yml 中注册条目
# id: session-unarchive
# name: dsh-session-unarchive
pnpm install
# 重启 DSH 并刷新浏览器
Typical Usage¶
- Navigate to the Web configuration directory:
cd "$DSH_HOME/profiles/web". - Add the dependency in
package.json:"dsh-session-unarchive": "file:plugins/session-unarchive". - Register the entry point in
cordis.patch.yml:id: session-unarchive,name: dsh-session-unarchive. - Install the dependency:
pnpm install. - Restart DSH and refresh the browser.
- Archive a session to see the “Archived” button appear.
- Click the button to list the sessions, use title filtering, and click “Restore” to unarchive them.
Notes¶
- No File Patching: The plugin does not write any files to the DSH installation directory. It does not depend on the legacy
patched-packagelayout from rc.6. - Architecture Change: This repository was previously released as a bootstrap-time patch (file patching covering five DSH packages); that design has been superseded by this pure plugin form.
- Build:
client.jsis a prebuilt CJS bundle. If modified, it should be rebuilt from source. - Compatibility: Tested on
@deepseek-ai/dsh@0.1.0-rc.8(Web profile).
Conclusion¶
This tool provides Web-based visibility and restore capability for DSH’s archiving feature. To browse the directory or source code, visit: GitHub.