在设置页即时启停 MCP 服务器并持久保存
28.9/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/Zenjibad/dsh-mcp-toggle.git状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
生态插件
可安装,未声明 dsh 能力
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 66 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意未发布到 npm registry,仅可从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包dsh-mcp-toggle(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=18 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/23 13:51:27
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
发起外部网络请求
查看扫描证据(共 2 处,展示前 2 条)
- 发起网络请求lib/client.js:95
void fetch(API, { cache: "no-store" }).then((res) => res.json()).then((result) => { - 发起网络请求lib/client.js:114
void fetch(API, {
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 启停MCP服务器
- 设置页实时操作
- 重启后配置生效
在 DSH 设置里直接启用/停用 MCP 服务器:「MCP 服务器」页面可实时停止/启动每个 @deepseek-ai/dsh-mcp-client 连接,重启后依然生效。
README
由 DeepSeek 最新模型翻译生成dsh-mcp-toggle · 在 DSH 设置中启用/停用 MCP 服务器
在 DeepSeek Harness (DSH) 的设置 → MCP 服务器页面直接启用/停用 MCP:一个新增设置页,即时停止/启动每个 @deepseek-ai/dsh-mcp-client 连接(其 mcp__ 工具实时注销/注册),并持久化到配置,重启后依旧生效。
English: README.md · LLM 索引: llms.txt · Agent 指南: AGENTS.md
dsh-plugin DeepSeek Harness license install
关键词 / Keywords: dsh-plugin · deepseek-harness-plugin · mcp · mcp-client · settings · enable · disable · toggle · MCP 服务器 · 启用 · 停用
仓库 / Repo
GitHub: Zenjibad/dsh-mcp-toggle · 需要 DSH ≥ 0.1 及 web profile。
展开完整文档(README 剩余 1 节)
dsh-mcp-toggle · 在 DSH 设置中启用/停用 MCP 服务器
在 DeepSeek Harness (DSH) 的设置 → MCP 服务器页面直接启用/停用 MCP:一个新增设置页,即时停止/启动每个 @deepseek-ai/dsh-mcp-client 连接(其 mcp__ 工具实时注销/注册),并持久化到配置,重启后依旧生效。
English: README.md · LLM 索引: llms.txt · Agent 指南: AGENTS.md
dsh-plugin DeepSeek Harness license install
关键词 / Keywords: dsh-plugin · deepseek-harness-plugin · mcp · mcp-client · settings · enable · disable · toggle · MCP 服务器 · 启用 · 停用
仓库 / Repo
GitHub: Zenjibad/dsh-mcp-toggle · 需要 DSH ≥ 0.1 及 web profile。
📑 目录
- ✨ 特性
- 🏗️ 工作原理
- 🚀 快速开始
- ⚙️ 配置
- ❓ 常见问题
- ⚠️ 安全须知
- 📦 项目结构
- 🙏 致谢
✨ 特性
| 特性 | 说明 |
| 🎚️ MCP 服务器设置页 | 新增设置页(id mcp-toggle,顺序 70),列出每个用户配置的 @deepseek-ai/dsh-mcp-client 服务器——每行一个开关 |
| 🔄 即时切换 | 拨动开关即调用 Cordis Loader 的 Entry.update({disabled})——MCP 连接 fiber 立刻被销毁(停用)或启动,其 mcp__ 工具实时注销/注册,无需重启 DSH |
| 💾 重启常驻 | 每次变更追加到home 补丁层($DSH_HOME/cordis.patch.yml)——该层高于所有 profile,无论 MCP 行来自哪个文件,重启后状态依旧生效 |
| 📊 状态一目了然 | 每行显示 MCP 服务器名、启用/停用标签、连接阶段(Connected / Stopped / Connecting / Connection failed) |
| 🔒 安全防护 | loader 的 include 条目、非 MCP 条目与本插件自身被防护;未知 id 返回 404,锁定 id 返回 403 |
| 🌗 主题自适应 | 全部颜色使用 --dsw-alias- 设计令牌,亮/暗色自动跟随 |
| ♨️ 重启常驻 | 真实 profile 打包插件:dsh plugin add 安装一次,每次 DSH 启动自动加载 —— 无需 cordis_define、无需每次重装 |
🏗️ 工作原理
设置 → MCP 服务器(新增页面,id mcp-toggle) │ Client 半区(浏览器) ▼ └─ fetch GET /mcp-toggle/api → MCP 客户端条目列表 └─ 每行一个服务器:名称 + 启用/停用标签 + 连接阶段 + 开关 └─ 拨动开关 → fetch POST /mcp-toggle/api { entryId, disabled } │ Host 半区(DSH 进程内) ▼ └─ webServer 路由 POST /mcp-toggle/api └─ 过滤:entry.options.name === '@deepseek-ai/dsh-mcp-client' └─ loader.resolve(entryId).update({ disabled }) └─ 销毁 mcp-client fiber(停用:连接关闭、mcp__ 工具注销)或启动(启用)——即时生效 └─ 向 $DSH_HOME/cordis.patch.yml 追加 - id: / disabled: (HOME 用户补丁层,在所有 profile 层之后应用 → 启动时生效) └─ 返回 { ok, entryId, serverName, disabled, fiberPhase, persisted } │ Client 半区(浏览器) ▼ └─ toast:「已停用 MCP 服务器 」/「已启用 …」(或错误信息)→ 刷新列表
- 即时与持久化解耦:Entry.update()(条目级)不会把 loader 树写回任何配置文件——即时效果只在内存,持久化仅靠追加 home 补丁层。不会打平补丁、不会产生重复行。
- home 补丁层最高优先级:web profile 按「bundle → profile cordis.patch.yml → HOME $DSH_HOME/cordis.patch.yml → overlays」顺序应用补丁。MCP 行分散在 home 与 profile 文件中;写入 home 文件的 disabled 行对任意来源的 MCP 都生效。两个文件都被 HMR 监听(热应用,无需重启)。
- 持久化:随包声明 dsh.bundle(cordis.patch.yml)+ dsh.client(exports["./client"] 打包产物),作为真实 profile 插件安装,DSH client-modules 每次启动都会扫描加载。
🚀 快速开始
标准安装:dsh plugin add(重启常驻)
从本仓库安装:
本地目录(在本仓库父目录执行):
dsh plugin --profile web add ./dsh-mcp-toggle
或直接从 GitHub(任意 DSH 机器):
dsh plugin --profile web add github:Zenjibad/dsh-mcp-toggle
或:
dsh plugin --profile web add git+https://github.com/Zenjibad/dsh-mcp-toggle.git
dsh plugin add = 向 profile 做 pnpm add + dsh.profile.bundles 协调:识别到本包的 dsh.bundle 声明后,把 dsh-mcp-toggle 追加进 bundle 栈。重启 DSH,然后硬刷新浏览器标签页(Ctrl+F5)。启动时 client-modules 扫描器解析 exports["./client"],MCP 服务器页出现在设置中。无需 cordis_define,重启后依旧。
⚠️ 注意:安装(或更新)客户端插件后必须硬刷新页面(Ctrl+F5)——DSH 客户端 HMR 只会热替换已加载的 bundle,不会把新增的 bundle 注入已打开的标签页。
手动挂载(备选)
1. git clone https://github.com/Zenjibad/dsh-mcp-toggle.git(任意位置)。
2. 在 ~/.dsh/profiles/web/package.json 的 dependencies 加 "dsh-mcp-toggle": "link:",然后在 profile 目录 pnpm install。
3. 重启 DSH。
使用前提
- 运行中的 DSH web profile,且配置了至少一个 @deepseek-ai/dsh-mcp-client 行(任意用户自定义的服务器名)。
- 未配置任何 MCP 服务器时,页面显示「未配置 MCP 服务器」。
⚙️ 配置
无配置文件、无持久化设置。行为由源码中的常量固定:
| 可调项 | 位置 | 默认值 |
| HTTP 路由 | src/index.ts | GET|POST /mcp-toggle/api |
| MCP 插件过滤 | src/index.ts 中的 MCP_CLIENT_PLUGIN | @deepseek-ai/dsh-mcp-client |
| 锁定条目 | src/index.ts 中的 LOCKED / LOCKED_NAMES | include、cordis:include、dsh-mcp-toggle |
| 设置页 | src/client/index.tsx | settings.section id mcp-toggle,顺序 70 |
| Toast 时长 | src/client/index.tsx | 6 秒 |
| 持久化目标 | $DSH_HOME/cordis.patch.yml(home 补丁层) | 追加行 |
❓ 常见问题
Q: 「MCP 服务器」页面不见了?
A: 先重启 DSH(如果 Host 半区尚未挂载),再硬刷新浏览器标签页(Ctrl+F5)。新增的客户端 bundle 只有整页刷新才会加载——HMR 不会把新 bundle 加进已打开的标签页。
Q: 我停用了服务器但工具还在?
A: 切换是即时的——mcp-client fiber 被销毁,其工具注册被移除。若该服务器的某个工具仍出现,可能是来自其他服务器(工具名按 mcp____ 命名空间隔离),或当前页面会话尚未刷新工具列表。
Q: 变更能跨重启保留吗?
A: 可以。每次切换都会向 home 补丁层($DSH_HOME/cordis.patch.yml,优先级高于所有 profile 层)追加 - id: / disabled: 。若追加失败,toast 会提示「未持久化,重启后失效」,仅影响当前会话。
Q: 为什么有些条目不能切换?
A: 只列出 @deepseek-ai/dsh-mcp-client 行。loader 的 include 条目与本插件自身被锁定(403);未知 id 返回 404;非 MCP 条目返回 400。
Q: 停用服务器会卸载它吗?
A: 不会——只是停止 Loader 条目并追加一条 disabled 覆盖。MCP 行仍保持配置;重新启用即可再次连接。
Q: 如何移除本插件本身?
A: dsh plugin --profile web rm dsh-mcp-toggle(或删除 profile 依赖与 bundle 条目)后重启 DSH。之前持久化的 $DSH_HOME/cordis.patch.yml 行会保留(那是独立的持久化层)。
⚠️ 安全须知
- 无 Remote 通道、不写 loader 配置:客户端只调用同源 /mcp-toggle/api 路由;Host 从不写 cordis.yml 或任何 bundle 补丁——只向 home 用户补丁层追加行。
- 输入校验:entryId 必须在 loader 中可解析且必须是 MCP 客户端条目;锁定 id(include、自身)返回 403;未知 id 返回 404。
- 小载荷:POST 请求体上限 1 MB。
- 即时停止是设计意图:停用服务器会立刻销毁其 mcp-client fiber——与 cordis_stop 相同;重新启用会重启它。
📦 项目结构
dsh-mcp-toggle/
├── src/
│ ├── index.ts # host 半区:MCP 条目列表、loader.resolve().update()、home 补丁追加、路由 │ └── client/index.tsx # client 包:MCP 服务器设置页、开关、toast ├── cordis.patch.yml # dsh.bundle patch(启动时插入插件行) ├── tsdown.config.ts # 打包 host(node ESM)+ client(CJS ModuleLoader) ├── package.json # name、exports["./client"]、dsh.client + dsh.bundle ├── lib/ # 构建产物(index.js、client.js) ├── AGENTS.md # AI agent 仓库指南 ├── llms.txt / llms-full.txt ├── README.md / README.zh.md └── LICENSE
🙏 致谢
- DeepSeek Harness — DSH 插件/动态运行时、Cordis Loader、Slots、主题、webServer、client-modules、@deepseek-ai/dsh-mcp-client。
- headroom-stats-plugin — 打包式 client 插件构建模式参考(tsdown host/client 拆分、cordis.patch.yml、dsh.client)。
- dsh-plugin-toggle — 兄弟插件;插件启停的 Loader 切换机制,本插件将其扩展到 MCP 服务器。
📄 License
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Zenjibad/dsh-mcp-toggle
在设置页即时启停 MCP 服务器并持久保存
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,344已汉化DSH
71.5
终端编码代理esengine/DeepSeek-Reasonix
· 指南 · ACP · 扩展开发 · 规格 · 官方网站 · Discord · QQ
★ 36,045已汉化DSH
71.2
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,202已汉化DSH
71.1
这是你的仓库?认领条目