In the development workflow of DeepSeek Harness (DSH), session management is a fundamental but often overlooked aspect. As the number of conversations grows, searching history, organizing workspaces, and cleaning up expired sessions can become cumbersome. The dsh-chat-manager plugin addresses this pain point by extending the sidebar and providing session lifecycle management features.
Plugin Introduction¶
dsh-chat-manager is a user-level plugin for DeepSeek Harness (DSH) that provides a unified Web UI and desktop interface. It aims to make session management more intuitive, supporting automatic archiving, deletion, restoration, and cross-platform operations for sessions.
Core Features¶
- Two-pane sidebar: The sidebar is divided into “Workspaces” and “Chats.” Workspaces retain native DSH behavior; the Chats area manages sessions independently and supports creating new sessions and searching.
- Automatic chat folder archiving: New sessions are automatically stored under
DSH/year-month-day/in the system Documents directory. After the first message is sent, the plugin generates a slug subfolder based on the content, and subsequent read/write operations occur within that subfolder. - Session deletion: Supports deleting sessions via the menu. The operation includes a secondary confirmation and clears logs, workspace accounting entries, and registration records, but the session folder remains intact on disk.
- Archived session management: In the “Archived Sessions” list in the settings panel, you can view the “workspace name: session name” and last updated time, and can restore or permanently delete archived sessions.
- Cross-platform support: The plugin code is shared and supports both the Web UI (
dsh web) and desktop client.
Installation and Enablement¶
Before installing, ensure DSH version >= 0.2.0-rc.2.
- Clone the repository and build (shared code for Web UI and desktop client):
git clone https://github.com/tvrpdfe/dsh-chat-manager.git
cd dsh-chat-manager
npm install
npm run build
- Install the plugin into the Web UI:
dsh plugin --profile web add "link:$(pwd)"
*Note: Desktop plugins must be added via the “Plugins” page inside the desktop interface; the CLI does not support operating the `desktop` profile directly.*
- Restart the host process and refresh the page (for Web UI, press
Ctrl+F5).
Typical Usage¶
- New chat: Click the “Add Chat” button at the top of the Chats area.
- Delete session: Click the session menu (
⋯) → red “Delete Session” → confirm. - Archived sessions: Go to Settings → Archived Sessions. Each row displays the workspace and session name with the time; click the “Restore” or “Delete” button to perform the action.
Notes and Dependencies¶
- Environment variable: The chat root defaults to the system Documents directory; it can also be specified as an absolute path via the environment variable
DSH_CHAT_MANAGER_ROOT. - Linux/macOS limitation: On Linux and macOS, attempting to delete the currently active session will be rejected. In this case, restart the host process and retry.
- Search dependency: Content search depends on the
session-queryindex configuration on the deployment side. If this index is configured asopenAt: "never", content search will fail and only return title matches.
Ecosystem Links¶
The plugin follows DSH’s “everything is a plugin” philosophy. For more details or feedback, visit:
* GitHub repository
* Plugin directory page