Per-workspace Skill and MCP enablement for DeepSeek Harness: control which skills and MCP servers new sessions load, per project.
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-workspace-scope
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:Ri0n72Y/dsh-workspace-scope
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time. Only install sources you trust, and pin a commit (github:owner/repo#sha).
README
A DeepSeek Harness plugin that turns Skills and MCP servers on and off per workspace.
The more skills and MCP servers you install, the larger the startup context of every new session. This plugin lets each project enable only what it needs, like VS Code with many language packs where each project opens only the ones it uses.
中文版:README.md
Usage
The entry lives on the new-session screen: the "Workspace scope" button in the tool row of the input card. Ongoing conversations do not show it, since the scope is fixed once a conversation starts and only affects sessions created later.
The dialog lists everything under two groups, Skills and MCP servers, and each group heading can be collapsed on its own:
- A search box filters the entries
- Each row has a switch; on means enabled
- Clicking the row expands details (description for skills, tool count for MCP servers)
- Enable all / disable all quick buttons at the bottom; every change saves immediately
Saving writes the config to .dsh-scope.json in the workspace root and only affects sessions created later in that workspace. Once a conversation starts, its config is fixed; changing it mid-conversation does not affect that conversation. Excluded skills can still be loaded ad hoc with the /skill-name gesture.
Configuration
The file is .dsh-scope.json in the workspace root:
{
"default": {
"mode": "whitelist",
"skills": ["<skill-name>"],
"mcps": ["<server-name>"]
}
}
| Field | Type | Meaning |
|---|---|---|
mode |
string |
Always saved as whitelist; reading accepts default (everything enabled) and blacklist (list means excluded) |
skills |
string[] |
Enabled skill names |
mcps |
string[] |
Enabled MCP server names |
Data flow
flowchart LR
A[User opens the dialog] --> B[Toggles Skills and MCP servers]
B --> C[Save]
C --> D[.dsh-scope.json<br/>workspace root]
E[New session] --> F[pre-step reads the config]
D --> F
F --> G[Skill catalog message<br/>trimmed to the enabled set]
F --> H[MCP tools<br/>restricted to enabled servers]
G --> I[Model context]
H --> I
J[Before tool execution] --> K[Fallback blocks excluded skills<br/>/skill-name gesture still works]
K --> I
Contributing
Open an issue for bugs or ideas. Before sending a pull request, read CONTRIBUTING.md. By contributing you agree to the MIT license.
License
MIT
Links
More in this category
zhu1090093659/dsh-web-ui#packages/dsh-web-ui-all★ 4430
Plugin and skin collection for the DSH Web UI: task board, Git graph, right-side panel, remote mobile UI, pet, live token stats, and a skin center.
omdsh-dev/DSH-better-sidebar★ 2101
Full sidebar workbench with file rendering and editing, terminal, Git, and subagents; third-party plugins can register new tabs.
ccch1mneyyy/dsh-TUI★ 1924
Claude Code-style full-screen terminal UI: pixel-whale header, live status line, and streaming thought expansion.
omdsh-dev/dsh-at-file★ 362
Codex-style `@file` mentions: search workspace files in the composer and attach their contents to prompts.
omdsh-dev/dsh-genui★ 214
Interactive UI components rendered inline in replies: layout, charts, forms, quizzes, mermaid, 3D scenes, and an action event loop back to the model.
huiliyi37/dsh-tianshu-tui★ 211
A terminal UI (TUI) for DeepSeek Harness.