DSH Plugins
返回列表
🧩

dsh-which

admin-security 更新于 2026.10.17

在终端中运行以下命令:

dsh plugin install 11111353535/dsh-which

将以下提示词粘贴到 DeepSeek Harness 对话框中:

在 DeepSeek Harness 中执行 dsh plugin install 11111353535/dsh-which,即可从 https://github.com/11111353535/dsh-which 安装 dsh-which 插件。

插件介绍

你在终端里敲下 node 或 npm,命令会跑起来,却没人告诉你真正执行的是哪一份安装、PATH 里还有哪些同名副本被悄悄跳过。这类错位往往无声发生:全局旧版压在本地新版前面,Windows 上的 .cmd 垫在真实二进制前面,或者文件在 PATH 里却因为没有可执行位而被 shell 直接走过。dsh-which 做的是命令解析取证,而不是再跑一遍 which——它按与 shell 相近的规则重算解析结果,说明「会跑谁」「谁被遮蔽」「PATH 本身长什么样」,并在需要时对比各副本的版本是否一致。

插件把解析逻辑做成可注入文件系统的纯函数,便于用 fixture 验证,也避免「用正在被怀疑的解析器去解释解析器」的怪圈。内置命令会标明 builtin,不会误把 PATH 里的同名文件当成答案;在 Windows 上会尊重 PATHEXT 顺序。工具面覆盖单命令解析(which_resolve)、PATH 条目体检(which_path)、环境一页总览(which_env)、目录脚本与全局解析对照(which_sweep)以及多副本版本探测(which_probe)。探测默认关闭,因为会拉起子进程;插件也不改 PATH、不写文件,只负责把证据讲清楚。

适合在 Harness 里排查「明明装了却像没装」「版本对不上」「脚本目录和全局命令同名」的维护者与插件作者,尤其在 Windows 与跨平台 PATH 混用时,需要看见被跳过的那一行诊断而不只是「找到的第一个文件」。

使用场景

  • 全局 node 与项目本地安装冲突,需要看清实际执行的是哪一份
  • Windows 上 npm 与 npm.cmd 或 PATHEXT 顺序导致跑错程序
  • PATH 里有同名文件却 command not found,想确认是否缺少可执行位或被遮蔽

适合人员

  • 在 Harness 中排查运行时与工具链错位的插件开发者
  • 维护多版本 Node/Python 等运行时的平台或 DevOps 同学
  • 需要在 Windows 与 Unix 上一致理解 PATH 规则的安全与运维人员