dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
Manage MCP servers and skills, and budget DeepSeek Harness context without a restart
Manage MCP servers and toggle skills in DeepSeek Harness — and hide tool groups from the next prompt with token-cost estimates. Budget changes need no config edit, no restart and no MCP process churn; MCP server edits write the normal patch file and apply through HMR.
Every MCP tool is sent as a full JSON Schema on every request. A server with dozens of tools can quietly consume more context than the conversation itself. Configuration managers can add, remove or toggle servers, but the prompt is still paid on the next turn.
This plugin manages three things in one page:
cordis.patch.yml and lets HMR apply it.From GitHub (no build step; lib/ is included):
dsh plugin --profile <your-profile> add github:jidekaixin2dian/dsh-context-budget
For the official desktop app, install through its plugin manager if it manages the profile for you. Restart DSH once after installing the host half, then hard-refresh the web UI.
Open Settings → Context budget:
mcp__<server>__* group;A read-only Core tools row is always kept.
Model tool:
context_budget action=status
context_budget action=session disabled=["mcp:github", "skills"]
context_budget action=reset
mcp is a wildcard for all MCP servers; mcp:<server> targets one. The global budget applies to every session and subagent; action=session only overrides the current session.
The budget half applies ctx.tools.restrict({ deny }) on the agent scope during agent/pre-step. The tool schemas are removed from prompt assembly before the request is sent. It listens to tools/change, agent/created and agent/status so dynamic MCP additions and subagents get the restriction too.
The MCP tab edits the profile/global cordis.patch.yml line by line (unrelated rows and comments survive); DSH HMR applies the changed MCP row. The Skill tab registers a rank-0 override provider with modelInvocable:false for disabled names.
Token numbers are estimates from the serialized JSON schemas plus Skill catalog descriptions, not a provider tokenizer.
scoped count, but ctx.tools.restrict cannot hide scoped registrations. Use that manager's own unload.@deepseek-ai/dsh-mcp-client rows it manages and its own skill override. tools/change picks up their changes.cordis.patch.yml; DSH HMR applies it. Review the diff if you hand-edited the file.~/.dsh/skills/<name>/SKILL.md or <cwd>/.dsh/skills/<name>/SKILL.md, delete moves to .trash.npm test
Pure grouping rules are in lib/groups.js; the host and browser halves are hand-written ESM/CJS to keep the package dependency-free.
MIT.