DeepSeek Harness 插件

dsh-mcp-manager-zsvd

MCP server management page for the DSH (DeepSeek Harness) Web settings panel: add / edit / delete @deepseek-ai/dsh-mcp-client servers with live connection status, hot-reloaded via the user patch(英文原文)

跳到安装方式

来源信息

GitHub 仓库
zsvd/dsh-mcp-manager
最近更新
2026年8月17日
分类
插件市场与管理
GitHub stars
0
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/zsvd/dsh-mcp-manager
插件名:dsh-mcp-manager-zsvd
作者:zsvd

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README.md来源说明 · 只读预览

dsh-mcp-manager

> Manage MCP servers from the DSH (DeepSeek Harness) Web settings panel — add, edit and delete @deepseek-ai/dsh-mcp-client servers with live connection status, all hot-reloaded with no process restart. > > 在 DSH Web 设置面板里管理 MCP 服务器:增删改 @deepseek-ai/dsh-mcp-client 服务器并显示实时连接状态,保存即热重载,无需重启。

[中文说明](#中文说明)

Features

  • Settings entry — a new page in Settings → MCP 服务, at the same level as General / Models / Plugins (settings.section, id mcp-manager).
  • Full CRUD — add, edit and delete MCP servers through a simple form (stdio or streamable-http, command/args/cwd/env/url/headers).
  • Live connection status — each row shows whether the server actually registered tools (mcp__<server>__<tool> present in the tool runtime) and how many; refresh on demand with the button next to the title, plus a 30s poll.
  • No restart needed — edits rewrite the profile's cordis.patch.yml, which the host watches through Cordis HMR and re-applies transactionally; dsh-mcp-client reconnects in place.
  • YAML-safe — the writer quotes reserved YAML indicators (-y, @pkg/name, …) so the generated patch always parses in the loader's dialect; other patch content is preserved.

Install

Requires a DSH Web profile (e.g. the default web). Two steps: install the package as a dependency, then add one row to the profile's patch layer.

# $DSH_HOME/profiles/web/cordis.patch.yml
- insert:
    - id: mcp-manager
      name: dsh-mcp-manager
      # optional: manage another profile's patch layer
      # config:
      #   targetProfile: tui
cd "$HOME/.dsh/profiles/web"   # or your profile dir
pnpm add dsh-mcp-manager       # when published to npm
# or, from this repo:
pnpm add "file:../dsh-mcp-manager"   # or the built .tgz

Restart dsh web (or wait for the user-patch HMR to pick up the row), refresh the browser, and the MCP 服务 page appears in Settings.

To remove: drop the dependency and delete the patch row.

> The managed servers are the @deepseek-ai/dsh-mcp-client rows inside the same cordis.patch.yml — there is no separate store. The manager only rewrites its own mcp-client rows and leaves everything else in the file untouched.

Settings page

ColumnMeaning
ServerserverName + config id
Status🟢 Connected · N (N = tools registered) / ⚪ Disconnected (hover for details)
Envenv key names (values visible in Edit)
ActionsEdit (opens the full form: transport, command/args/cwd/env or url/headers) · Delete (with confirm)

The Refresh button next to the title re-reads the list and re-probes every server's connection immediately.

HTTP API (same origin)

MethodPathDescription
GET/mcp-manager/serversList servers + connection status (connected, toolCount)
POST/mcp-manager/serversUpsert one server (JSON body; id present → update)
DELETE/mcp-manager/servers/:idRemove one server

Writes are serialized through a single queue, so concurrent edits cannot interleave.

Architecture

  • Host half (src/host/index.js) — dependency-free plain ESM (the loader passes its own ctx; importing cordis would break plugin identity). Parses/rewrites the profile patch layer with a small purpose-built YAML subset parser and serves the HTTP API. Connection probing reads ctx.tools.schemas() for the mcp__<serverName>__ prefix.
  • Browser half (src/client/, bundled to lib/client.js by tsdown) — registers the Settings page and calls the same-origin API.
  • Default profile is web; override with the plugin row's config.targetProfile.

Build & verify (maintainers)

pnpm install
pnpm run typecheck
pnpm run build        # tsdown → lib/client.js, copy-host.mjs → lib/index.js
pnpm run verify       # host YAML round-trip + client bundle vm smoke test
pnpm pack             # build a publishable .tgz (prepack runs the checks)

pnpm publish runs prepack automatically (typecheck → build → verify) before packing.

---

中文说明

功能

  • 设置入口:设置 → MCP 服务,与「通用设置 / 模型 / 插件」同级。
  • 完整增删改:表单支持 stdio / streamable-http,可配 command / args / cwd / env / url / headers。
  • 实时连接状态:每行显示该服务器是否已注册工具(mcp__<服务器>__<工具> 是否存在于工具运行时)及工具数量;标题旁「刷新」按钮立即重测,另有 30s 轮询。
  • 无需重启:改动写入 profile 的 cordis.patch.yml,宿主通过 Cordis HMR 事务性热重载,dsh-mcp-client 原地重连。
  • YAML 安全-y@包名 等 YAML 保留指示符自动加引号,生成内容保证 loader 方言可解析,且保留文件里其它 patch 内容。

安装

1. 在 profile 目录安装依赖(npm 发布后 pnpm add dsh-mcp-manager,或本地 pnpm add file:<路径>/dsh-mcp-manager-0.1.0.tgz)。 2. 在 $DSH_HOME/profiles/web/cordis.patch.yml 加一行:

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

3. 重启 dsh web(或等 HMR 热挂载),刷新浏览器即可在设置里看到入口。

说明

  • 被管理的服务器就是同一份 cordis.patch.yml 里的 @deepseek-ai/dsh-mcp-client 行,无独立存储;管理器只重写自己的 mcp-client 行。
  • 默认管理 web profile 的 patch 层,可在插件行 config.targetProfile 改。
  • 在 Windows 上用 npx 启动某些 MCP 服务器(如 @modelcontextprotocol/server-filesystem)可能失败(npm 配置警告 + cmd bin 解析),建议改用直接命令或 streamable-http。

License

MIT