'dsh' 不是内部或外部命令怎么办?dsh 命令找不到的 Windows PATH 配置与安装排查指南

故障排查发布于 2026-08-25作者: DSH Plugin 插件中心
DeepSeek HarnessDSH plugin命令找不到PATHWindows
'dsh' 不是内部或外部命令是 Windows 常见报错:先查 node/npm 装没装、dsh 全局装没装,再确认 npm 全局 bin 目录(npm config get prefix)是否在 PATH 里;修好 PATH 后重开终端即可,懒得配就 npx @deepseek-ai/dsh web 免安装直跑。

'dsh' 不是内部或外部命令是 Windows 下最常见的 dsh 报错,本质是系统 PATH 里找不到 dsh 可执行文件。按「确认环境 → 查全局安装 → 修 PATH」三步定位:先 node -v 确认 Node 装没装,再 where dsh 看命令路径,最后用 npm config get prefix 查出 npm 全局 bin 目录并加进 PATH;不想配 PATH,npx @deepseek-ai/dsh web 免安装直跑(来源)。

概览:三步定位命令找不到

报「不是内部或外部命令」只有两种可能:dsh 没装,或装了但目录不在 PATH。 定位过程分三步,先跑起来再说:

  1. 确认 Node 环境node -vnpm -v——Node 没装,后面全白搭;
  2. 确认全局安装where dsh——有输出说明命令路径已可见;没输出再看 npm ls -g @deepseek-ai/dsh
  3. 修 PATHnpm config get prefix 查出全局目录,加进系统 PATH,重开终端。

下面把这三步拆开讲,每步都给命令。

第一步:排查常见原因——没装、没全局装、还是 PATH 缺失

命令找不到先别急着改 PATH,按下面四条逐个排除,多数人卡在「装了但没进 PATH」这一条。 逐条执行:

bash
# 1. Node 装了吗
node -v
npm -v

# 2. dsh 全局装了吗(查全局包列表)
npm ls -g @deepseek-ai/dsh

# 3. 系统能不能找到 dsh(能打印路径 = 已经 OK)
where dsh

对照结果判断:

现象结论处理
node -v 报错Node 没装先装 Node.js LTS
npm ls -g 报 emptydsh 没全局装npm install -g @deepseek-ai/dsh
npm ls -g 有、where dsh 没输出装了但 PATH 缺进入第二步修 PATH
where dsh 有输出但仍报错终端缓存了旧 PATH重开终端窗口

第三种情况最常见:包在,系统找不到,就是 PATH 的问题。

第二步:Windows 修复 PATH——npm config get prefix + setx

修复核心是把 npm 全局 bin 目录加进系统 PATH:先查出目录,再加进去,最后重开终端。 三步命令:

bash
# 1. 查出 npm 全局目录(Windows 常见 C:\Users\<用户名>\AppData\Roaming\npm)
npm config get prefix

# 2. 把 npm 全局目录追加进用户 PATH(重开终端生效)
setx PATH "%PATH%;%APPDATA%\npm"

# 3. 重开一个终端窗口,验证命令能找到了
where dsh
dsh --version

两个坑要记住

  1. setx 有 1024 字符截断风险:PATH 已经很长时 setx 会截断丢路径;更稳的做法是「系统设置 → 环境变量 → 用户变量 PATH → 编辑 → 新建」,把第一步查出的目录粘进去;
  2. 改完必须开新终端setx 只写注册表,当前窗口和已开的窗口不会立即生效,重开 CMD/PowerShell 再验证。

装完 dsh 本体后想确认 PATH 是否完整,也可以顺带查一下 dsh 的安装位置:where dsh 能打印 C:\Users\<用户名>\AppData\Roaming\npm\dsh 之类的路径就说明修好了。

第三步:不想配 PATH 的替代方案——npx 免安装直跑

如果只是临时用或不想动系统 PATH,npx @deepseek-ai/dsh web 可以绕过全局安装直接运行:npx 从 npm 拉最新包临时执行,不往系统装东西,也就不存在 PATH 问题。 用法:

bash
# 免安装启动 Web UI(首次会拉包,稍等)
npx @deepseek-ai/dsh web

这条路的取舍

  1. 优点:零配置、每次自动拉最新版,命令找不到的报错直接消失;
  2. 缺点:每次启动要联网拉包、命令前缀长,天天用还是全局安装舒服;
  3. 补充:全局安装 vs npx 的完整对比见《npm install -g @deepseek-ai/dsh 全局安装详解》。

修好命令行之后:用 DSH Plugin Hub 装插件

命令行环境通了,插件安装推荐走 DSH Plugin Hub 的「设置 → 插件中心」——界面点按钮,不用再记包名、不用碰 PATH。 先装 Hub 本体:

bash
dsh plugin --profile web add dsh-plugin

装完重启 dsh web,打开设置 → 插件中心,4,600+ 个社区插件按分类浏览、点卡片一键安装、实时进度。以后命令行再报什么错,也有可视化结果弹窗兜底,不用一直盯着终端。

dsh-plugin-hub · 插件中心
DSH Plugin Hub 插件市场界面

注意事项

一句话:先确认装没装,再修 PATH,最后才考虑换方案。 三点提醒:

  1. 不是只有 Windows 会报错:macOS/Linux 提示 command not found 同理,用 which dsh 查路径、把 npm 全局 bin(npm config get prefix 下的 bin 目录)加进 shell 的 PATH;
  2. 装完别忘重开终端:PATH 是终端启动时读取的,改完不重开等于没改;
  3. npx 也报找不到:说明 npm 本身有问题,先 npm -v 查 npm,或参考《DSH plugin 下载失败、下载慢》检查源与网络。

来源:DeepSeek Harness 官方文档 - Quickstartdsh CLI READMEnpm 官方文档

常见问题

'dsh' 不是内部或外部命令是什么错误?

Windows 下敲 dsh 报「不是内部或外部命令,也不是可运行的程序或批处理文件」,意思是系统在 PATH 里找不到 dsh 这个可执行文件。常见原因就两类:dsh 压根没装,或装了但它的目录没进 PATH,按本文三步排查即可。

dsh 明明装好了为什么还是提示找不到命令?

多半是 npm 全局 bin 目录不在 PATH 里。用 npm config get prefix 查出全局目录(Windows 常见 C:\Users\<用户名>\AppData\Roaming\npm),用 where dsh 验证,把该目录加进系统 PATH,再重开一个终端窗口即可。

怎么把 npm 全局目录加进 Windows PATH?

cmd 里执行 npm config get prefix 拿到目录,再执行 setx PATH "%PATH%;%APPDATA%\npm"(或 setx 的 PATH 有 1024 字符截断风险时,走系统设置 → 环境变量手加),最后重开终端验证 where dsh 有输出。

不想配置 PATH 有什么替代方案?

直接用 npx @deepseek-ai/dsh web 免安装运行:npx 从 npm 拉包临时执行,不需要把 dsh 装进系统,也就不存在 PATH 问题;日常尝鲜或只想启动 Web UI,这条路最快。

Windows 上怎么确认 dsh 到底装没装?

三步验证:node -v 和 npm -v 看 Node 环境;where dsh 看命令路径(有输出 = 已装且 PATH 可见);npm ls -g @deepseek-ai/dsh 看全局包列表里有没有它。where dsh 没输出但 ls -g 有,就是典型的 PATH 问题。

来源