dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
简体中文 · English
在 DeepSeek Harness 里集中管理 MCP 服务器:看状态、一键启停、让 AI 安装或手动添加、自动发现本机可接入的软件。
| 能力 | 说明 |
|---|---|
| MCP 列表 | 侧栏新增「MCP」入口,列出当前 profile 配置的全部 MCP 服务器:名称、连接状态、传输方式、启动命令或地址、环境变量名、提供的工具、开源地址 |
| 启用 / 禁用 | 每个服务器一个开关,通过 DSH 官方插件管理器写入 profile 并立即生效,不用重启 |
| 删除 | AI 安装或导入的服务器可以一键删除:通过官方插件管理器卸载插件包,并清理它在 mcp-bundles 目录里的配置文件(目录外的文件一律不碰) |
| 一键导入 | 扫描到的其他客户端(Claude Desktop、Claude Code、Cursor、VS Code、Windsurf、Codex)里的 MCP,可以直接导入,不经过 AI |
| 实时刷新 | 服务器连上、断开、启停时页面自动更新,不靠定时轮询 |
| AI 快捷添加 | 填 MCP 服务器的来源(代码仓库、npm/PyPI 包名、Docker 镜像、README 里的启动命令或任意网页链接,可加补充说明),插件在默认工作区开一个新会话,让 AI 查清运行方式、安装、写好配置并接入,全程每一步安装都会先征求你同意 |
| 手动添加 | 已经知道怎么运行时直接填:本地命令(如 npx -y 包名、uvx 包名、docker run -i --rm 镜像)或远程服务地址,不经过 AI;添加前先在本机测试连接;密钥可以只写「读取哪个环境变量」,不保存明文;只支持 SSE 或需要 OAuth 登录的服务可以通过 mcp-remote 桥接 |
| 搜索 MCP 目录 | 从官方 MCP 目录搜索,选中后自动填好手动添加的表单(命令、环境变量、请求头) |
| 编辑 / 导出 | 插件生成或 AI 安装的服务器可以用表单编辑;全部服务器可以导出成其他客户端通用的 mcpServers JSON(不含密钥) |
| 选择供应商和模型 | AI 快捷添加和联网分析都可以像模型选择器一样选供应商和模型,只对这次打开的会话生效,不改动你的默认模型 |
| 发现本机可接入的服务 | 扫描本机已安装的应用、后台服务、监听端口、Docker 容器,以及 Claude Desktop / Claude Code / Cursor / VS Code / Windsurf / Codex 里已经配置的 MCP;确认后交给 AI 联网检索哪些有 MCP 服务器,再问你要接入哪些 |
| 不泄露密钥 | 页面只显示环境变量和请求头的名字,参数里像密钥的值会被打码;扫描清单不含文件路径 |
在桌面应用的插件页点添加插件,安装源选官方源,填入:
dsh-mcp-console
安装后侧栏会出现「MCP」入口。新版本发布后 24 小时内按包名安装会被 DSH 的包管理器拒绝,可以改填 GitHub Release 的安装包地址:
https://github.com/CoderKuo/dsh-mcp-console/releases/latest/download/dsh-mcp-console.tgz
DSH 的 MCP 客户端(@deepseek-ai/dsh-mcp-client)不对外提供连接状态,插件按能观察到的信息判断:
| 状态 | 含义 |
|---|---|
| 已连接 | 正在运行,并且已经注册了 mcp__<名称>__* 工具 |
| 连接中 | 正在启动,或已运行但还没有工具(也可能首次连接失败、或服务器本身不提供工具,详见 DSH 日志) |
| 失败 | 加载失败(服务器配置了 failOnStartupError: true 时才会出现) |
| 已禁用 | 在 profile 里被关掉了 |
开关调用 DSH 官方插件管理器的 setPluginEnabled,它会在 profile 的 cordis.patch.yml 里写 disabled: true/false 并立即生效。由插件包内置、或在别的配置层定义的服务器不能在这里切换,开关会显示原因。
侧栏「MCP」打开后有三个标签:
⋯ 菜单),失败的排在最前并直接展开报错;点一行看配置、工具和来源。编辑、设置开源地址、删除在 ⋯ 菜单里,导出和刷新在右上角。编辑和导出从右侧抽屉打开。
<DSH_HOME>/storages/dsh-mcp-console/logs/,每个文件最多 1MB,写满换下一个;超过 7 天或总大小超过 5MB 时自动删掉最旧的,始终保留最新的记录。环境变量和请求头只记名字,密钥一律打码。填来源,可写补充说明(例如「用 Docker 运行」「API Key 在环境变量 XXX」)。可以填:
https://github.com/owner/project(GitLab、Gitee、Codeberg、Bitbucket 也行),或简写 owner/project@upstash/context7-mcp、npx -y @upstash/context7-mcp、npmjs.com 的包页面uvx mcp-server-time、pip install mcp-server-fetch、pypi.org 的项目页面ghcr.io/github/github-mcp-server、mcp/fetch、docker run -i --rm …、Docker Hub 页面输入框下面会显示识别结果;给 AI 的提示会按类型写明优先用哪种方式运行。
点「开始安装」,插件在默认工作区新开一个会话并切过去。会话使用创作模式(agent 预设 cordis),因为只有它带有安装插件包的 plugin_manager 工具。
AI 会按 DSH 官方推荐的方式接入:阅读仓库 → 选择运行方式 → 本机试运行 → 在 ~/.dsh/mcp-bundles/<名称> 写一个只含配置的 bundle → 用 plugin_manager install_bundle 安装 → 验证工具可用。每一步安装都需要你批准。
密钥不会写成明文,AI 会用 !!js process.env.变量名 引用,并告诉你要设置哪些环境变量。
不经过 AI,几秒完成,不消耗模型额度。
npx -y @upstash/context7-mcp、uvx mcp-server-time、docker run -i --rm mcp/fetch。带空格的参数用引号;命令不经过 shell,管道、重定向不起作用。可以加环境变量和工作目录。API_TOKEN)或模板(如 Bearer ${API_TOKEN}),配置里写的是 !!js 表达式,不保存密钥本身。在系统里设置好环境变量后,需要完全退出并重新打开 DSH。mcp-bundles 目录下的一个配置包,可以在列表里禁用、编辑或删除。npx、uvx、docker 等在 DSH 的 PATH 里找不到时也会提示。npx -y mcp-remote <地址> 在本机连接远程服务,支持只有 SSE 的服务器和 OAuth 浏览器登录。在官方目录 registry.modelcontextprotocol.io 里按名称搜索。每个结果列出可用的运行方式(npm、PyPI、Docker 镜像、远程地址),点「填入」会把命令、环境变量(密钥默认设为读环境变量)、请求头填进手动添加的表单,检查、测试后再添加。目录地址可以在设置里改(registryUrl)。
mcp-bundles 目录里、只包含一个 MCP 服务器的配置包(导入、手动添加、AI 安装的)可以点「编辑」。保存时先测试,再卸载并重新安装这个配置包;安装失败会自动恢复原配置。表单表示不了的 !!js 表达式会原样保留。mcpServers JSON,可复制或下载。密钥不会导出,会换成 ${变量名} 占位。ps、lsof/ss、systemctl、/Applications;系统组件会被过滤掉。在 profile 的 cordis.patch.yml 里可以调整(行 id 为 mcp-console):
| 字段 | 默认值 | 说明 |
|---|---|---|
agentPreset | cordis | AI 会话使用的 agent 预设 |
bundleDirectory | 空(= <DSH_HOME>/mcp-bundles) | AI 写配置 bundle 的目录 |
scanTimeoutMs | 20000 | 单个扫描命令的超时 |
repositories | {} | 手动设置的开源地址,页面上编辑后自动保存 |
install_bundle 完成。ctx.subprocess 运行,使用其清洗过的环境变量并带超时。pnpm install
pnpm run check # 测试 + 构建 + 打包到 .artifacts/