DeepSeek Harness plugin

dsh-mcp-manager-ui

Persistent MCP server management UI for DeepSeek Harness Web — FAB overlay + Settings tab, backed by a host Remote (list/status/enable/disable/reconnect/tools/add/update/removeServer).

Jump to install

Source facts

Repository
Imzl-zl/dsh-mcp-manager-ui
Latest update
Aug 20, 2026
Category
Tools & Capabilities
GitHub stars
3
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/Imzl-zl/dsh-mcp-manager-ui
Plugin: dsh-mcp-manager-ui
Author: Imzl-zl

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer3 files
README.mdSource · read only

dsh-mcp-manager-ui

<p align="center"> <a href="https://linux.do/" title="LINUX DO"><img src="https://cdn.jsdelivr.net/gh/Imzl-zl/dsh-mcp-manager-ui@v1.1.5/docs/images/linux-do-logo.svg" alt="LINUX DO" width="40" height="40"></a> </p>

DeepSeek Harness Web 的 MCP 管理面板。它在 Web Host 中运行一份,通过右下角悬浮按钮管理当前 Web profile 的 MCP 配置。

界面预览

管理面板

!MCP 管理面板

连接详情与操作

!MCP 连接详情

新增 MCP

!新增 MCP

功能

  • 查看 MCP 状态、传输方式、连接参数和工具列表
  • 展开每个工具查看完整输入 JSON Schema:必填/可选参数、类型、枚举、默认值与原始 JSON
  • 按传输方式(HTTP/stdio)和连接状态筛选,支持按名称/命令/URL 搜索
  • 添加时一键套用常用预设模板(Filesystem、Memory、Sequential Thinking 等)
  • 从“内置 MCP”目录查看 Exa、Tavily、Firecrawl、Chrome DevTools 和 Playwright,勾选后按需追加;已有配置只识别并跳过,不会覆盖
  • 显示并复制已解密的 URL 凭据、args、env、headers 值(会话内临时可见)
  • 启用、禁用、重连、添加、编辑和移除 MCP
  • 跟随 DSH 深色/浅色主题,并适配窄屏和移动宽度
  • 支持 DSH rc.7+ 的完整 MCP 连接字段:commandargsenvcwdurlheaders、调用超时、启动失败策略和重连策略
  • 导入 Claude、Cursor、Cline、Roo 等使用的 mcpServers JSON,以及 VS Code 的 servers JSON
  • JSON 导入支持“合并(同名更新)”和“替换当前 Web profile 管理的 MCP”,写入前提供预览
  • 结构化修改 Web profile 的 cordis.patch.yml,保留其他插件条目、注释和 !!js 环境变量表达式
  • Host Remote 与 Web 客户端均随插件生命周期加载和卸载

兼容性

项目已验证版本
DeepSeek Harness0.1.0-rc.7 及以上(已验证至 0.1.0-rc.8
Node.jsDSH 自带/支持的运行时
平台Windows;Linux/macOS 使用同一 DSH Web 契约

内置 MCP

插件安装和 Web Host 启动都不会自动写入任何 MCP。打开管理面板后,点击顶部工具栏中位于“导入 JSON”和“添加 MCP”之间的“内置 MCP”,可以查看目录、勾选未配置项并一次安装。

MCP默认配置无密钥使用范围本地要求
Exahttps://mcp.exa.ai/mcp匿名限额;可另配 API Key 提升额度
Tavilyhttps://mcp.tavily.com/mcp/ + X-Tavily-Access-Mode: keyless限额 Search / Extract;免费账号可提供更高额度
Firecrawlhttps://mcp.firecrawl.dev/v2/mcp限额 Search / Scrape / Parse;完整工具需要登录或 API Key
Chrome DevToolsnpx -y chrome-devtools-mcp@latest本地工具,无 API 额度Node.js、Chrome
Playwrightnpx -y @playwright/mcp@latest本地工具,无 API 额度Node.js 20+、可用浏览器

目录会按 serverName、官方 HTTP 主机名和官方 npm 包识别当前有效配置,包括来自其他 bundle、Agent preset 或 mcp-remote 桥接的同类项。已存在项会显示其配置名称并禁用勾选;Host 在真正写入前还会在文件锁内再次判重,只追加当时仍缺失的所选项,不更新、不替换用户配置。用户主动移除某项后,只有再次勾选安装才会恢复。

DSH 宿主 API 通过 peerDependencies^0.1.0-rc.7 声明,自动兼容 0.1.0-rc.70.2.0 之前的所有版本(含后续 RC 与 0.1.x 正式版)。开发与测试环境跟随同一范围,升级 DSH 后用 pnpm update && npm test 验证即可,无需改版本号。0.2.0 属于新的兼容边界,需要重新验证后再放宽。

安装

使用 DSH 插件命令安装。不要把 mcp-manager-ui 再手工插入 Web profile 的 cordis.patch.yml

# 正式使用固定 release tag。
dsh plugin --profile web add github:Imzl-zl/dsh-mcp-manager-ui#v1.1.5

安装、升级、卸载和本地开发流程见 [安装与升级](docs/installation.md)。

安装后重启 dsh web。插件命令会同时完成两件事:

1. 把包加入 Web profile 的 dependencies。 2. 把 dsh-mcp-manager-ui 加入 dsh.profile.bundles

仓库自己的 cordis.patch.yml 已经声明唯一的 Host 条目:

- insert:
    - id: mcp-manager-ui
      name: dsh-mcp-manager-ui

不要在以下位置重复这段条目:

  • ~/.dsh/profiles/web/cordis.patch.yml
  • 任意 Agent preset 的 agent.cordis.yml
  • 额外的 --patch 文件

本插件也不需要全局安装 @deepseek-ai/dsh-tool-cordis。需要临时开发 Cordis 插件时,直接新建“创造模式”会话。

卸载:

dsh plugin --profile web remove dsh-mcp-manager-ui

JSON 兼容范围

DSH rc.7 原生支持两种 MCP transport:

  • stdiocommandargsenvcwd
  • streamable-httpurlheaders

导入器会识别 httpstreamable-httpstreamableHttp 等常见别名,并把 ${TOKEN}${env:TOKEN} 转成 DSH 的 !!js process.env.TOKEN 表达式。DSH 当前不支持的 SSE、WebSocket、OAuth、headersHelperenvFile 等字段会明确报错或提示,不会静默生成不可用配置。

其他 Agent 的 directTools 可以是 truefalse 或缺失。DSH 没有间接工具模式并始终把 MCP 工具注册为 mcp__<server>__<tool>,因此导入器采用保守映射:true 转成 disabled: falsefalse 转成 disabled: true,缺失时不干预现有启停状态;同时存在显式 disabled 时以后者为准。预览会逐项提示这些转换。

“替换”只替换当前 Web profile 的 cordis.patch.yml 中由 @deepseek-ai/dsh-mcp-client 声明的条目,不会删除其他 bundle 或 Agent preset 自带的 MCP。

完整格式、两种导入模式、启停映射和密钥处理见 [JSON 导入](docs/json-import.md)。

文档

开发流程

1. 在“创造模式”中用 cordis_inspectcordis_definecordis_run 做临时验证。 2. 将确认后的实现写入本仓库。临时动态插件不会自动生成源码文件,也不会在 DSH 重启后恢复。 3. 停止临时动态版本,避免它与仓库版本同时注册 UI 或 Remote。 4. 使用本地路径执行 dsh plugin --profile web add ...,验证正式 bundle。 5. 运行测试并启动 Web 做真实操作验证。

npm test
dsh --profile web --dump-config
dsh web

包结构

  • package.json:声明 dsh.bundle 和 Web dsh.client
  • cordis.patch.yml:插入唯一的 Host 插件实例
  • lib/index.jsmcpManager Host Remote
  • lib/mcp-config.js:JSON 规范化与 YAML patch 结构化读写
  • lib/mcp-observability.js:连接状态判定与 mcp-client 日志格式化
  • lib/client.js:响应式 Web UI、Remote 客户端和生命周期清理
  • lib/typert.js:Remote 契约描述

lib/ 是预构建产物,GitHub、tarball 和 npm 安装均不需要执行构建脚本。

连接状态语义

@deepseek-ai/dsh-mcp-client 不对外暴露连接成功/失败事件,连接状态只出现在它的日志里。因此面板采用两条独立事实拼出状态:

  • 已连接(connected):只有该 server 的工具已注册(mcp__<server>__* 数量 > 0)才判定为已连接。插件 fiber 处于 ACTIVE 只说明 mcp-client 在跑,不能证明握手成功——failOnStartupError: false(默认)时连接失败也会让 fiber 保持 ACTIVE。
  • 连接失败(failed):fiber 活着但没有工具注册,且 mcp-client 最近日志(通过 ctx.logger.exporter 订阅并按 mcp-client(<serverName>) 过滤)中出现 error/warn。失败原因会展示在详情页,例如 connection attempt failed: ECONNREFUSEDadb forward missing
  • 工具数为 0 且没有任何失败日志时如实显示连接中/等待,不猜测成功。

面板在详情页和编辑表单中默认掩码敏感值(URL 凭据、args、env、headers),点击眼睛图标后经 Host 的 reveal 接口读取有效运行值并在会话内临时显示;编辑时若未实际修改输入,保存仍保留原配置引用,不会把环境变量密钥写回 profile。该读取只对当前 Web profile 管理的 server 开放。

设计约束

dsh-mcp-manager-ui 是 Web Host 单实例插件。固定的 Remote namespace 和 UI slot id 是有意设计;重复加载属于配置错误,插件会明确失败,而不是静默忽略。多个 MCP server 则由 @deepseek-ai/dsh-mcp-client 的不同 serverName 实例管理。

相关链接

License

MIT