DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
P

dsh-plugin-mcp-switch

Plugin Mcp Switch

MCP 开关:agent 工具 mcp_switch_list / mcp_switch_on / mcp_switch_off,外加设置页里一个不起眼的 MCP 开关面板。MCP 默认断开,不占 token。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:yoyococo1234/dsh-plugin-mcp-switch#40b349b49677cacb5f1c236427fa1471c26becd7
README兼容性版本
设置 → MCP 开关

兼容性与来源证明

Plugin Mcp Switch 以 dsh-plugin-mcp-switch 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/10/23

版本

0.1.0stable
2026/10/23

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/10/23
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 integrations-communication 分类下经过校验的插件。

Acp App@deepseek-ai/dsh-acp-appdsh ACP 配置文件包:基于 dsh-base 的仅限自动化的 JSON-RPC stdio 和进程生命周期管理Remote Web Ui@linxin666/dsh-remote-web-ui通过扫码配对访问 dsh Web GUI,共享一个官方界面:设置按钮旁的二维码可将手机和 PC 配对到同一个 Web GUI(手机采用竖屏触控适配层,PC 使用完整桌面界面),通过一次性令牌和 rRemote Bridge@linxin666/dsh-remote-bridgeDSH 远程桥接:主机端通过唯一且精确的 /ios/v1 WebSocket 路由提供协议 v1——会话列表、历史记录基线、提示、包含工具活动的实时回合增量、中断以及进程内代理审批——连接到通过一次性配对的设备Ds Botds-botDS Bot:DeepSeek Harness 的一组长期运行的 Bot,支持主 Bot、Bot 间消息和群聊

README

dsh-plugin-mcp-switch

按需开关 MCP 服务器的 DSH 插件:默认全部断开,不加载工具、不占用上下文;需要时再打开。

设置 → MCP 开关

上图就是设置页:顶部选启动策略、勾选会话结束回收;每行显示状态、自启、上下文成本(工具数 / 约多少 tokens),右侧一键连接/断开。

七个 agent 工具

工具作用
mcp_switch_list列出服务器、状态、上下文成本(工具数 / 约多少 tokens)、启动策略、分组
mcp_switch_on打开(连接);name: "all" 全开;重服务器需 confirm: true
mcp_switch_off断开;name: "all" 全断
mcp_switch_add新增(stdio / streamable-http),env 与 headers 支持 ${VAR},token 不落盘
mcp_switch_remove删除(先断开再移出配置)
mcp_switch_policy读/写 mode 与 reclaimOnSessionEnd
mcp_switch_group分组预设:list / save / apply / delete

设置页

左下角齿轮 → MCP 开关(settings.section,order 55,列表末尾): 启动策略下拉 + 「会话结束自动回收」勾选 + 分组按钮 + 每行(状态 / 成本 / 连接·断开)。

启动策略

startupMode重启后切换时
always-off(默认)一律断开立即断开全部
remember恢复上次状态不动当前运行时
auto-start只连 autoStart: true 的连上自启的、断开其余

上下文成本

连接成功后统计 mcp__<名称>__* 的模型可见 schema 体积,估算 tokens 并写回状态文件,断开后仍可显示。 实测(本机):rea 约 86 万 tokens、windows-mcp 6.5k、open-design 6.0k、cad 0.3k。

重服务器保护:已知成本 ≥ 10 万 tokens 的服务器(如 rea),mcp_switch_on / 分组 apply / 设置页「连接」都会先拒绝,要求 confirm: true(设置页会提示改用 agent 工具确认)。

会话结束自动回收

每个被打开的服务器记住是哪个会话打开的(openedBy)。该会话的 agent 被 dispose 时(agent/disposed 事件),自动断开并落盘。子代理开的 MCP 随子代理结束回收。可用 mcp_switch_policy { reclaimOnSessionEnd: false } 关闭。

分组预设

mcp_switch_group { action: "save", name: "逆向", servers: ["rea"] }
mcp_switch_group { action: "apply", name: "逆向" }        // 组内连上、组外断开
mcp_switch_group { action: "list" }

状态文件

~/.dsh/mcp-switch.json,原子写(写 .tmp → rename),每次保存前把上一版复制到 .bak。

{
  "startupMode": "always-off",
  "reclaimOnSessionEnd": true,
  "groups": { "逆向": ["rea"] },
  "servers": [
    { "id": "…", "name": "rea", "transport": "stdio", "enabled": false, "autoStart": false,
      "cost": { "tools": 207, "bytes": 3087942, "tokens": 857762 },
      "config": { "command": "…", "args": [], "env": {}, "cwd": "" } }
  ]
}

首次启动若该文件不存在,会从 ~/.dsh/mcp-console.json 迁移(全部置为断开)。

实现要点

  • @deepseek-ai/dsh-mcp-client 在 dsh 安装目录的 app.asar 内,profile 安装的插件不能用裸包名静态 import(开机加载会 failed to import)。这里用 process.resourcesPath + pathToFileURL 按绝对路径动态导入。
  • 每个 MCP 通过 ctx.plugin(mcpClient, config) 动态挂载,断开时 fiber.dispose();同一服务器的启停串行化,避免 serverName already in use。
  • env / headers 的 ${VAR} 在启动时从进程环境解析,密钥不写进状态文件。
  • /mcp-switch/api/* 挂在宿主 webServer 上但不受宿主鉴权保护,因此自带同源 + sec-fetch-site + 回环 + Host 校验(防跨站开关 MCP、防 DNS rebinding),请求体上限 64KB。

安装

plugin_manager install_bundle  target: <这个目录的绝对路径>