dsh-mcp-servers-panel
已验证dsh-mcp-servers-panel · v0.1.4 · MIT · Web 界面
DSH MCP 服务器管理插件:在设置中提供 MCP Servers 管理面板,支持新增、编辑、删除、启停 MCP 服务器,支持表单与 JSON 两种编辑模式及用户/项目作用域切换,并将 MCP 工具注册到 DSH 供对话原生调用。
安装
dsh plugin add dsh-mcp-servers-panel 用 dsh --profile default --dump-config 确认 layer 已生效 —— 参见安装指南。
源码
标签
说明文档
dsh-mcp-servers-panel
DSH (DeepSeek Harness) 的 MCP 服务器管理面板插件。
在 DSH 设置中提供原生的 MCP Servers 管理选项卡,方便用户直观地新增、查看、修改、删除和启停 MCP 服务器,并自动将发现的 MCP 工具注册为 DSH 原生工具供模型与会话直接调用。
功能特性
设置面板无缝集成:
- 启动后自动在设置左侧菜单添加「MCP 服务器」选项卡。
- 遵循 DSH 官方原生 UI 规范设计,纯 SVG 矢量图标,零 Emoji;界面文案为中文。
已安装 MCP 服务列表:
- 清晰展示当前已配置的 MCP 服务器名称、作用域徽标(全局 (用户) / 工作区)、传输协议徽标、运行状态指示灯(在线绿色 / 禁用灰色 / 连接中与错误红色)。
- 头部提供作用域筛选下拉、「新增 MCP」、「刷新」快捷操作。
- 每个服务器支持点击展开查看已发现的工具列表与描述(如
13 个工具可用)。 - 支持独立开关启停(实时加载/释放工具)及删除确认。
新建与编辑 MCP 服务:
- 提供「表单」与「JSON」双模式切换编辑(新建默认 JSON 模式,编辑默认表单模式):
- 表单模式:直观输入服务名称(
^[A-Za-z0-9_-]{1,64}$)、传输协议(stdio / streamable-http)、可执行命令、参数列表、环境变量键值对、端点 URL 与请求头。编辑已有服务时名称与作用域不可改。 - JSON 模式:支持直接粘贴或编辑完整配置(智能兼容单个配置对象、
servers/mcpServers包装对象、顶层数组以及 Cursor / Claude Code 常见格式),可一次粘贴多个服务器批量导入;JSON 模式下可改名(等价于删除旧名 + 新建);cwd、toolCallTimeoutMs(默认 60000)等进阶字段仅 JSON 模式可设。
- 表单模式:直观输入服务名称(
- 重名保护:同一作用域内重名拒绝保存;同名可跨作用域共存(用户 / 工作区互相隔离)。
- 支持自由切换「作用域」:
- 用户(User):全局生效,保存于
~/.dsh/mcp.json(仅当该文件不存在且~/.dsh/mcp-servers.json存在时,才兼容读取后者)。 - 项目(Workspace):仅当前项目生效,保存于
<workspace>/.dsh/mcp.json。
- 用户(User):全局生效,保存于
- 注意:保存时统一重写为规范格式
{version: 1, servers: [...]},会改变原有文件结构(读取则兼容 5 种常见格式)。
- 提供「表单」与「JSON」双模式切换编辑(新建默认 JSON 模式,编辑默认表单模式):
DSH 原生对话调用:
- 自动维护 MCP 进程生命周期(stdio 管道或 HTTP 通信)。
- 自动完成 MCP 2024-11-05 协议握手(
initialize->notifications/initialized->tools/list)。 - 自动将发现的工具以
mcp__<serverName>__<toolName>注册至ctx.tools。名称超过 64 字符或含非法字符时,按当前 DSH 规则截断并附加哈希。 - 传输协议支持
stdio与streamable-http(sse/http别名自动归一为 streamable-http;缺省时按有无url推断)。
跨平台与 Windows 原生兼容:
- Windows stdio 增强:针对 Windows 上
spawn无法直接运行无扩展名脚本或.cmd/.bat(例如npx、uvx)的问题,自动通过PATHEXT探测可执行目标并封装cmd.exe /d /s /c转义执行,彻底解决ENOENT。 - 环境 PATH 智能探测补齐:自动嗅探并补充常见全局环境路径(Node.js 安装目录、
npm全局目录、pnpm、yarn、scoop、mise、nvm、fnm、volta、homebrew、cargo、.local/bin等),避免从桌面图标启动 DSH 缺失 login-shell PATH 的问题。
- Windows stdio 增强:针对 Windows 上
诊断排查与可视化:
- 点击展开服务器卡片,不仅可查看可用工具,还能直接展开查阅底层启动配置(传输类型、启动命令、参数、工作目录、URL)。
- 连接异常时直接展示错误详情提示框。streamable-http 握手有 8 秒超时保护,避免卡在「正在连接」;stdio 握手与工具调用使用
toolCallTimeoutMs(默认 60 秒)。
安全模型:
- 所有管理接口仅允许本地回环访问(127.0.0.1 / ::1,否则 403);HTTP 请求体上限 256KB;响应
Cache-Control: no-store。 - 前端与宿主双通道通信:优先 loopback RPC,失败时回退 loopback HTTP(
list/save/delete/toggle/reload)。 - 注意:由于只校验回环地址,本机上任何进程都可以调用管理接口——不要在不可信的多用户环境暴露。
- 所有管理接口仅允许本地回环访问(127.0.0.1 / ::1,否则 403);HTTP 请求体上限 256KB;响应
安装
npm:
dsh plugin --profile <name> add dsh-mcp-servers-panel
GitHub:
dsh plugin --profile <name> add github:whiteS18/dsh-mcp-servers-panel
本地检出:
dsh plugin --profile <name> add /绝对路径/dsh-mcp-servers-panel
[!IMPORTANT] DSH 在进程启动时组合插件。先启动再安装时,必须完全退出并重新打开 DSH(不是刷新页面)。
启动 DSH Desktop 后,进入「设置」即可在侧边栏看到「MCP 服务器」面板。
要求 Node.js >= 20。
目录结构
dsh-mcp-servers-panel/
├── cordis.patch.yml # Cordis 自挂载补丁
├── package.json # 插件包描述及平台声明
├── index.js # 宿主进程端(配置读写、MCP 进程与生命周期、工具注册、RPC 通信)
├── client.js # 前端渲染端(设置页 UI、列表展示、表单/JSON 编辑器、配置弹窗)
├── test/ # 单元测试(生命周期、参数解析、安全校验、Windows 调度)
├── README.md # 插件说明文档
└── LICENSE # MIT 开源许可证
测试
npm test
许可证
MIT License