Introduction¶
The native mode of DeepSeek Harness (DSH) typically binds a single session to one workspace directory. To switch between multiple projects, you usually have to start a new session, causing context loss and interrupting the workflow.
The dsh-ProjectModel plugin solves this problem. It lets you work directly with a group of project folders (a project group) within a single session. The AI can read and write any files in the group, list directories, run commands, and view each project’s AGENTS.md. Each project can include a one-line description to help the AI quickly locate the right directory.
Installation¶
Before installing, make sure that the DeepSeek Harness (DSH) CLI and pnpm are already installed.
Use the official plugin mechanism to install it:
dsh plugin --profile web add .
The installation process automatically registers the plugin as a dependency of the profile and persists the configuration to settings.yaml. It takes effect after restarting DSH.
Core Features¶
Project Group Management
Supports organizing multiple project folders into a group. File paths within a group are allowed for read and write operations by default (from v1.1 onward), and no sandbox approval prompt is shown. Command execution still uses project run.
Project Descriptions
Each project folder can have a one-line desc description. It can be edited directly on the settings page. Both the list tool and AI prompts include it (format: “title path (description)”), making it easier for the AI to identify the target directory.
Cross-Folder Tools
The plugin provides the following tools. Use folderId to specify the target without manually switching workspaces:
* list: Lists the project group and all folder information.
* readFile / writeFile / listDir: Reads and writes files in a specified folder and lists directories.
* run: Runs a command in a specified folder (PowerShell supported).
* agents: Views the AGENTS.md of a specified project.
* setFolderDesc: Sets the folder description.
Security and Context
* Security sandbox: File operations are limited to registered folders, and fs.contains rejects out-of-bounds access.
* Context awareness: Agent prompts automatically include the project group and the full list of folders.
* Zero-intrusion UI: Implemented only by appending slots, without altering the style of the original sidebar or dialogs.
Typical Usage¶
Give instructions directly in the conversation:
- Organize a project group:
“AddE:\proj-aandE:\proj-bto the ‘Backend’ project group” - View a file:
“Check the go.mod file in QzoneDown-Go” - Run a command:
“Rungit statusfor SSL-Assistant” - Compare across projects:
“Compare the go.mod files in QzoneDown-Go and SSL-Assistant at the same time” - Check conventions:
“Check what code style requirements are listed in QzoneDown-Go’sAGENTS.md“ - Set the default:
“Set the default project group for this workspace to github” - Add a description:
“Add a description to QzoneDown-Go: The main project for the QQ Zone downloader”
Notes¶
- The plugin depends on
@deepseek-ai/dsh-tools,@deepseek-ai/schemastery, and@deepseek-ai/dsh-settings; these dependencies are provided with the DSH installation. - The default allowance for file paths inside a group is based on the sandbox restrictions of the current session.
- MIT open-source license.