Introduction¶
In DSH’s Web workspace, sessions are usually arranged chronologically. After a single workspace accumulates a large number of sessions, grouping by topic or task becomes more intuitive. dsh-session-folders is a DSH client plugin that adds a layer of named folders to the workspace browser in the Web sidebar, used to group sessions.
The plugin does not modify the harness. Folder data is saved in the DSH storage domain, and view state is saved in the browser’s localStorage.
What is this¶
The following introduces the positioning of this plugin. The package name is dsh-session-folders, the repository is EugeneVl/dsh_session_folders, the author field is Eugene, the license is MIT, and the package version is 0.4.3.
It replaces the DSH Web sidebar’s workspace browser with a version that supports session folders: each workspace has one layer of named folders, and sessions outside the folders are ungrouped.
It solves the problem of “how to group, move, archive, and find multiple sessions within a workspace,” while retaining the Running / Completed status badges of the built-in session browser.
Core Features¶
Folder and Session Organization¶
- Each workspace supports one layer of named folders, and folder names are case-insensitive and unique within the same workspace.
- Sessions outside the folders are ungrouped.
- Supports creating, renaming, and deleting folders; deletion requires confirmation, and sessions within the folder become ungrouped upon deletion.
- Supports drag-and-drop to adjust workspace order, and also supports adjusting folder order within the same workspace. The order is persisted on the server.
- Each folder and Archive block supports
Show more / Show less, defaulting to showing a maximum of 5 sessions.
Session Movement and Operations¶
- Supports dragging sessions into folders within the same workspace.
- Supports right-clicking a session and selecting
Move to folder…, where you can choose an existing folder or selectNew folder…to create a folder and move the session immediately. - Supports right-clicking
WorkspaceunderMove to folder…to move a session back to the ungrouped area. - Supports double-clicking the session title for inline renaming, with
Enterto submit andEscto cancel. - Supports the
Auto renameoption in the right-click menu, which generates a title of up to 3 words based on the first user message in the session’s own model. - Supports
Pin / Unpinsessions; pinned sessions stay at the top of their folder or ungrouped area, and this is persisted on the server. - Supports quick archiving when hovering over a session row, displaying an ID badge that can be copied (
session-<id>). - Supports creating new sessions from workspace rows or folder rows.
Archiving, Restoring, and Navigation¶
- The Archive block supports archiving/restoring sessions, including drag-and-drop archiving and restoring to the original folder or the
Restoredfolder. - The Recent area displays the last 5 sessions and provides a source card on hover.
- Supports folder tree guide lines, session search (title and content), opening workspace folders, collapsing/expanding all, and workspace focusing.
- Supports displaying
Running / Completedstatus badges, mirroring the built-in session browser. - Supports a bilingual UI, adapted for
zh / en.
Persistence and Validation¶
- Folder data is saved in the DSH storage domain and persists across page refreshes.
- View states, such as collapse states, are saved in the browser’s localStorage.
- All operations are validated on the server for workspace existence, session membership, and name conflicts; the client merely mirrors the rules.
- The plugin does not modify the harness.
Installation and Enablement¶
First, confirm that the Node version meets the requirements:
^22.19.0 || >=24.0.0
Install using the npm prebuilt package:
dsh plugin --profile web add dsh-session-folders
This command installs the prebuilt version from the npm registry, skipping the allowBuilds build approval step.
After installation, you need to restart dsh web because the host plugin and client bundle are loaded at startup.
Typical Usage¶
The following examples follow a common sequence of operations.
- Open the sidebar: In each workspace, folders are displayed above ungrouped sessions.
- Create a folder: Right-click on the workspace row and select
New folder. The name must be unique within that workspace. - Rename a folder: Right-click on the folder row and select
Rename. - Delete a folder: Right-click on the folder row and select delete. After confirmation, the sessions become ungrouped.
- Reorder: Drag the workspace row to a new position; within the same workspace, drag the folder row, inserting it above or below based on the drop point.
- Move sessions: Drag the session row to a folder in the same workspace, or right-click the session and select
Move to folder…, then choose the target folder orNew folder…. - Move back to ungrouped: Right-click the session and select
Move to folder…, then chooseWorkspace. - Pin sessions: Right-click the session and select
Pin. The session will jump to the top of its folder or ungrouped area and remain pinned when new sessions arrive.
Applicable Scenarios and Notes¶
Suitable for scenarios where multiple workspaces and sessions need to be maintained long-term on the DSH Web side, and you want to organize tasks using folders, archive historical sessions, and quickly review recent context from the Recent area.
Notes before use:
- The plugin runs with the permissions of the current
dshprocess; you should check the source code, license, and dependency scope before installing. - This plugin is a third-party client plugin in the community plugin directory. The community directory is a separate site and should not be understood as the official DeepSeek or Huanfang application store.
- Data such as folder and session movement and pinning are persisted on the server, while view states like collapsing and expanding are saved in the browser’s localStorage.
- All critical operations are validated on the server; the client display rules and local views do not alter the server state.
Links¶
- Plugin Directory Page: https://www.skillhub.cn/plugins/EugeneVl/dsh_session_folders
- GitHub Repository: https://github.com/EugeneVl/dsh_session_folders