bobleer/deepseek-harness-plugin-mcp:让 Agent 通过 MCP 使用 DSH 插件

前言

DSH 的理念是「一切皆插件」,插件通常用于扩展 DeepSeek Harness 的能力。对于只通过 MCP 与外部系统协作的 Agent 来说,直接搜索、检查、安装并运行 DSH 插件会缺少一层标准接口。

下面介绍 bobleer/deepseek-harness-plugin-mcp。它是一个 MIT 许可的 MCP server,目标是让任意 Agent 可以发现、检查、安装并运行 DeepSeek Harness 插件。

这是什么

deepseek-harness-plugin-mcp 是一个 MCP server,仓库地址为 bobleer/deepseek-harness-plugin-mcp。已核实资料中的维护者信息存在不一致:仓库线索指向 bobleer,README 写 Made by BitFun,因此本文不把二者写成确定关系。

它把 DSH 插件能力拆成三个平面:

  • Catalog:发现、列出、检查公开 dsh-plugin 仓库,并读取 README 与 cordis.patch.yml
  • Profile:在 dsh 位于 PATH 且开启 --allow-install 时,对真实 profile 执行 dsh plugin add / remove
  • Runtime:在 dsh 位于 PATH 且开启 --allow-runtime 时,启动 profile,并把 DSH 工具暴露为 dsh__*

它提供 dsh_plugin_*dsh_runtime_* 两类 MCP 工具,同时暴露 dsh-plugin:// 资源以及 search-dsh-pluginsinstall-dsh-pluginuse-dsh-plugin 提示。

默认情况下,Catalog 平面始终可用;Profile 与 Runtime 平面在开启前保持关闭。

核心功能

Catalog

Catalog 用于让 Agent 先了解可安装对象。它可以搜索、列出、检查公开 dsh-plugin 仓库,并读取仓库中的 README 与 cordis.patch.yml

这一步不要求本机安装 dsh,也不执行插件代码。

Profile

Profile 用于把插件加入真实的 DSH profile。当 dsh 位于 PATH,并且服务端开启 --allow-install 时,Agent 可以执行 dsh plugin add / remove

这一步会改变本机 profile 中的插件列表,属于安装类操作。

Runtime

Runtime 用于启动一个 profile,并把其中暴露出来的 DSH 工具桥接为 MCP 工具。当 dsh 位于 PATH,并且服务端开启 --allow-runtime 时,Agent 可以通过 dsh_runtime_* 启动、停止和加载 profile,然后调用形如 dsh__* 的工具。

Runtime 路径会 spawn DSH 并运行插件代码,因此安装和启用前应先检查插件源码与许可证。

UI/TUI/skin 插件

UI、TUI、skin 类型插件可以被目录化,也可以安装,但它们不会变成 MCP 工具。这类插件的界面仍然留在 DSH 中。

安装与启用

基础安装

先安装全局命令。已核实安装命令如下:

npm install -g deepseek-harness-plugin-mcp

也可以直接查看帮助:

npx deepseek-harness-plugin-mcp --help

Node 引擎要求为:

^22.19.0 || >=24.0.0

stdio 接入

先做 stdio 接入,命令如下:

npx -y deepseek-harness-plugin-mcp

如果需要用 GitHub API 认证,可以设置可选环境变量:

GITHUB_TOKEN

GITHUB_TOKEN / GH_TOKEN 是可选配置,但建议配置。

开启 Profile 与 Runtime

如果 Agent 需要安装插件或启动 Runtime,先确认 dshPATH 中,再启动:

npx -y deepseek-harness-plugin-mcp --allow-install --allow-runtime

同时设置目标 profile:

DSH_PLUGIN_MCP_PROFILE

这里会执行 dsh plugin 相关动作,并在 Runtime 路径下 spawn DSH、运行插件代码。建议将其视为权限敏感操作,在启用前检查插件源码与许可证。

Streamable HTTP

使用 HTTP 方式时,先启动服务:

dsh-plugin-mcp --http --port 8765 --allow-runtime

然后让 Agent 指向:

http://127.0.0.1:8765/mcp

在 DSH 内使用

这个包本身可以作为 DSH bundle 加入 profile。下面示例使用 web profile:

dsh plugin --profile web add github:bobleer/deepseek-harness-plugin-mcp
dsh --profile web

经过上面的步骤,DSH 会加载该 bundle。具体可用工具仍以启动后的 DSH 与插件注册结果为准。

典型用法

Agent 通常可以按下面顺序工作:

  1. dsh_plugin_search 按任务关键词搜索插件。
  2. dsh_plugin_inspect 检查候选插件的 owner/repo
  3. 如需要,用 dsh_plugin_install 安装插件。
  4. dsh_runtime_start 启动 profile。
  5. 调用暴露出来的 dsh__* 工具。

这里的安装和 Runtime 步骤都依赖本地 dsh 可用,并且需要服务端开启对应开关。

适用场景与注意

  • 适合需要让 Agent 发现、检查、安装或运行 DSH 插件的开发者。
  • Catalog 平面默认可用;Profile 与 Runtime 平面默认关闭,需要显式开启。
  • Profile 与 Runtime 平面要求 dsh 位于 PATH
  • GITHUB_TOKEN / GH_TOKEN 可选,但建议配置,用于 GitHub API 认证。
  • UI/TUI/skin 插件可以目录化和安装,但不会变成 MCP 工具,界面仍保留在 DSH 中。
  • Runtime 路径会 spawn DSH 并运行插件代码。安装插件前,应先检查源码与许可证。
  • Node 引擎要求为 ^22.19.0 || >=24.0.0
  • 该项目采用 MIT 许可。
  • 它面向公开 dsh-plugin 仓库,不应被写成 DeepSeek 官方应用商店,也不代表 DeepSeek / 幻方与该目录存在官方从属关系。
  • 已核实资料未给出可确认的目录页 URL,因此本文不列出目录页地址。

结尾

bobleer/deepseek-harness-plugin-mcp 的价值在于把 DSH 插件的发现、检查和运行能力接入 MCP,让 Agent 可以用统一接口处理插件。它默认保持保守:Catalog 可用,安装与运行需要显式开启,并且本地必须存在可用的 dsh

GitHub:

https://github.com/bobleer/deepseek-harness-plugin-mcp
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜