Preface¶
The design philosophy of DeepSeek Harness (DSH) is “everything is a plugin.” In agent development or complex requirement handling, a single requirement often needs to be split into multiple conversations for different processing stages. When switching sessions, the background must be repeatedly explained, and sorting the sidebar by time cannot reflect session ownership. dsh-project-workbench aims to solve this problem by providing a localized workbench for managing projects, requirement groups, and conversations.
Plugin Introduction¶
This is a workflow plugin, fully named dsh-project-workbench. It manages native conversations by project, requirement group, and individual conversation, and automatically connects context within a group using progressive shared memory. The plugin is maintained by user 937862061 and is released under the MIT license.
Core Features¶
- Conversation grouping management: supports creating, renaming, forking, archiving, and removing conversations from groups.
- Progressive shared memory: automatically generates and updates group summaries, updating them only after substantive progress, and injects background at the start of the first conversation within a group.
- Summary generation modes: supports both rule-based and LLM-based summary generation.
- Local storage: all data is stored only in the DSH data directory on the current device, with no upload or cross-device synchronization.
Installation and Enabling¶
The plugin requires a profile that includes @deepseek-ai/dsh-web-app. The installation commands are as follows:
pnpm dsh plugin --profile web add ./plugins/dsh-project-workbench
pnpm dsh --profile web
Typical Usage¶
- Open the workbench: click the “Project Workbench” button at the bottom of the sidebar to expand the workbench.
- Create a requirement group: select a project, click “New Requirement Group,” and provide a name (for example, “Login Refactor”).
- Add a conversation: within the group, use the “+” dropdown to select “New Conversation,” or choose an existing conversation from the list and assign it to the group.
- Manage conversations: use the “⋯” menu on the right side of each conversation to rename, fork, archive, or remove it.
- Maintain memory: manage the group summary and notes. The summary updates automatically; notes must be maintained manually and are not automatically included in conversations.
- Archive a requirement: after a requirement is completed, archive the requirement group directly; all conversations inside the group will be archived together.
Technical Details and Notes¶
- Data storage: data is stored only in the DSH data directory on the local device, with no upload and no cross-device synchronization.
- Interface and language: interface text automatically follows the current DSH language.
- Integration scope: the plugin consists of a browser-side component and a host-side component; the host-side component does not take over the native sidebar, conversations, or input box.
- Summary update logic: a summary is updated only after a conversation that actually advances the requirement ends, meaning the conversation executed tools or produced substantive output and was not merely a status inquiry.
- Summary mode: the default summary generation mode is rule-based. The configuration reserves an LLM mode switch (
summaryMode: "llm"), butsummaryModelmust be configured to use it; otherwise, it automatically falls back to rule-based generation.
The plugin maintainer has provided the source code and documentation on GitHub. Visit the GitHub repository for details.