Introduction¶
DeepSeek Harness (DSH) is designed with a strong emphasis on modularization. Developers sometimes need to have temporary conversations without creating a full Workspace. In DSH 0.2.0-rc.2, blank sessions without a registered Workspace disable the native editor UI, making features such as Agent presets and attachment uploads unavailable.
The dsh-projectless-session plugin solves this issue. It creates a temporary Workspace registration so that the native UI works correctly, then cleans up the registration after the first message, enabling workspace-less session functionality.
Plugin Overview¶
This is a client-side plugin maintained by jarvisluk, designed to provide “workspace-less session” functionality in DeepSeek Harness. Each session gets an independent working directory organized by date.
Core Features¶
- Create workspace-less sessions: Adds this option to the Workspace selector, requiring no preconfigured files or environment.
- Organize independent working directories by date: Session files are stored by default in
~/Documents/DSH/YYYY-MM-DD/session-HH-mm-ss-random/, avoiding conflicts. - Reuse the native DSH new-session UI: When a session is opened, Agent presets, commands, attachments, access modes, and the send button are fully available.
- Support both Chinese and English: UI text follows DSH’s Language setting and switches automatically.
- Preserve session recoverability: After the first message, only the Workspace registration is removed; the Session, logs, and directory are kept in the “Ungrouped” area.
- Automatically clean up unused blank sessions: Blank sessions without sent messages are archived and cleaned.
Installation and Enabling¶
Use the official CLI to install the plugin:
dsh plugin --profile web add github:jarvisluk/dsh-projectless-session
After installation, you must restart the dsh web process for the change to take effect. To uninstall it, run:
dsh plugin --profile web remove dsh-projectless-session
Typical Usage¶
Session Directory Structure¶
The plugin automatically creates an independent root directory for each session. The default path is:
~/Documents/DSH/YYYY-MM-DD/session-HH-mm-ss-random/
Custom Root Directory¶
To change the storage location, configure it in cordis.patch.yml for the Web profile:
- id: dsh-projectless-session
config:
root: /absolute/path/to/DSH
How It Works¶
The plugin uses DSH’s Cordis Host/Client extension interfaces to simulate a temporary Workspace during the session lifecycle:
- Create the directory: The Host creates the directory through the authenticated DSH Connection interface on the shared
/apichannel. - Register a temporary Workspace: The client registers that directory as a temporary Workspace.
- Activate the native UI: DSH creates and opens a Session in the temporary Workspace, making the native blank-session editor fully available.
- Clean up after the first message: After DSH accepts the first message and reports
blank === false, the plugin removes only the Workspace registration, leaving the actual directory and history intact. - Archive the session: The Session moves to the built-in “Ungrouped” area and can still be recovered after restarting DSH.
- Clean up abandoned sessions: If a session is never used (for example, the user switches away, DSH exits, or residual sessions are found at startup), the plugin unregisters the Workspace and deletes the empty directory.
Use Cases and Caveats¶
- Dependencies: Requires DeepSeek Harness
0.2.0-rc.2and Node.js22.19or later. - Runtime permissions: The plugin runs with the permissions of the current
dsh webprocess. It is recommended to review the source code and license before installation. - Local only: The current features are mainly targeted at local Web/Desktop profiles.
Summary¶
The dsh-projectless-session plugin uses effective lifecycle management to implement lightweight workspace-less session functionality while preserving the advantages of the native DSH UI. For developers who need to create temporary conversations frequently, it provides a solution that balances convenience and data management.
For more details and source code, visit: GitHub repository | Skill Tree directory