DSH(DeepSeek Harness)的设计理念是“一切皆插件”。在本地开发或部署环境中,管理 Model Context Protocol (MCP) 服务器通常需要直接编辑配置文件或 Loader 行。fanyongbing/dsh-mcp-native 插件提供了一个设置页入口,将 MCP 服务器视作原生 Loader 行进行管理,支持卡片列表、搜索、启动/停用及配置编辑。
核心功能¶
该插件提供了以下管理能力:
- 卡片列表与搜索:在设置页以卡片形式展示服务器状态,支持按服务名、Loader ID、命令、地址、说明等字段实时过滤。
- 状态筛选:支持按全部、运行中、已停用、异常进行筛选。
- 启动与停用:通过设置页操作 Loader 行的
disabled标志来控制服务启停。 - 重启与重连:支持对服务器进行重启操作,用于在重连次数用尽后恢复连接。
- 配置编辑:提供表单模式和 JSON 原始模式,支持字段说明与双向转换。
- 新增与删除:直接在当前 profile 中新增或删除 Loader 行。
- MCP 说明:内置常见 MCP 服务器的说明库,并在“说明”页展示已注册的工具及描述。
- 从本机导入:扫描并导入 Claude Desktop、Cursor、Claude Code 等客户端的 MCP 配置。
安装与启用¶
通过官方命令安装插件:
dsh plugin --profile desktop add github:fanyongbing/dsh-mcp-native
安装后,设置导航栏会出现 MCP 服务 条目。
典型用法¶
启动/停用服务器¶
在设置页的 MCP 服务 区域,点击卡片上的操作按钮,通过修改 Loader 行的 disabled 标志来控制服务。
编辑配置¶
支持两种编辑模式:
1. 表单模式:填写基本信息、传输方式、环境变量等。
2. JSON 原始模式:直接编辑配置文件内容,支持 !!js 表达式。
导入现有配置¶
点击“从本机导入”,勾选 Claude Desktop、Cursor 等客户端的配置,插件会将其写入当前 DSH profile。
配置字段示例¶
配置项需填写在 Loader 行的 config 字段中,支持的传输方式为 stdio 或 streamable-http:
- id: mcp-github
name: '@deepseek-ai/dsh-mcp-client'
config:
serverName: github
transport: stdio
command: npx
args: ['-y', '@modelcontextprotocol/server-github']
env:
GITHUB_TOKEN: !!js process.env.GITHUB_TOKEN
适用场景与注意¶
该插件为纯手写 JS,零依赖、零构建,但存在以下限制:
- 连接状态:无法枚举已连接的服务器集合,也无法读取单台服务器的连接状态。界面将“运行中”定义为 Loader 行已挂载,而非连接成功。
- 控制粒度:无法在不切换 Loader 行的情况下启动/停止单台服务器;重连次数用尽后只能重启该行或重启 DSH。
- 传输限制:仅支持
stdio与streamable-http传输方式,不支持 SSE。 - 安全性:宿主半边使用本地回环 HTTP 路由,读取配置包含环境变量,请在可信环境下使用。
- 默认行为:默认
failOnStartupError为false,即使首次连接失败,插件 fiber 仍为 ACTIVE 状态。