'dsh' 不是内部或外部命令怎么办?dsh 命令找不到的 Windows PATH 配置与安装排查指南
'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。 定位过程分三步,先跑起来再说:
- 确认 Node 环境:
node -v、npm -v——Node 没装,后面全白搭; - 确认全局安装:
where dsh——有输出说明命令路径已可见;没输出再看npm ls -g @deepseek-ai/dsh; - 修 PATH:
npm config get prefix查出全局目录,加进系统 PATH,重开终端。
下面把这三步拆开讲,每步都给命令。
第一步:排查常见原因——没装、没全局装、还是 PATH 缺失
命令找不到先别急着改 PATH,按下面四条逐个排除,多数人卡在「装了但没进 PATH」这一条。 逐条执行:
# 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 报 empty | dsh 没全局装 | 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:先查出目录,再加进去,最后重开终端。 三步命令:
# 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
两个坑要记住:
setx有 1024 字符截断风险:PATH 已经很长时setx会截断丢路径;更稳的做法是「系统设置 → 环境变量 → 用户变量 PATH → 编辑 → 新建」,把第一步查出的目录粘进去;- 改完必须开新终端:
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 问题。 用法:
# 免安装启动 Web UI(首次会拉包,稍等)
npx @deepseek-ai/dsh web
这条路的取舍:
- 优点:零配置、每次自动拉最新版,命令找不到的报错直接消失;
- 缺点:每次启动要联网拉包、命令前缀长,天天用还是全局安装舒服;
- 补充:全局安装 vs npx 的完整对比见《npm install -g @deepseek-ai/dsh 全局安装详解》。
修好命令行之后:用 DSH Plugin Hub 装插件
命令行环境通了,插件安装推荐走 DSH Plugin Hub 的「设置 → 插件中心」——界面点按钮,不用再记包名、不用碰 PATH。 先装 Hub 本体:
dsh plugin --profile web add dsh-plugin
装完重启 dsh web,打开设置 → 插件中心,4,600+ 个社区插件按分类浏览、点卡片一键安装、实时进度。以后命令行再报什么错,也有可视化结果弹窗兜底,不用一直盯着终端。

注意事项
一句话:先确认装没装,再修 PATH,最后才考虑换方案。 三点提醒:
- 不是只有 Windows 会报错:macOS/Linux 提示
command not found同理,用which dsh查路径、把 npm 全局 bin(npm config get prefix下的 bin 目录)加进 shell 的 PATH; - 装完别忘重开终端:PATH 是终端启动时读取的,改完不重开等于没改;
- npx 也报找不到:说明 npm 本身有问题,先
npm -v查 npm,或参考《DSH plugin 下载失败、下载慢》检查源与网络。
来源:DeepSeek Harness 官方文档 - Quickstart、dsh CLI README、npm 官方文档
常见问题
Windows 下敲 dsh 报「不是内部或外部命令,也不是可运行的程序或批处理文件」,意思是系统在 PATH 里找不到 dsh 这个可执行文件。常见原因就两类:dsh 压根没装,或装了但它的目录没进 PATH,按本文三步排查即可。
多半是 npm 全局 bin 目录不在 PATH 里。用 npm config get prefix 查出全局目录(Windows 常见 C:\Users\<用户名>\AppData\Roaming\npm),用 where dsh 验证,把该目录加进系统 PATH,再重开一个终端窗口即可。
cmd 里执行 npm config get prefix 拿到目录,再执行 setx PATH "%PATH%;%APPDATA%\npm"(或 setx 的 PATH 有 1024 字符截断风险时,走系统设置 → 环境变量手加),最后重开终端验证 where dsh 有输出。
直接用 npx @deepseek-ai/dsh web 免安装运行:npx 从 npm 拉包临时执行,不需要把 dsh 装进系统,也就不存在 PATH 问题;日常尝鲜或只想启动 Web UI,这条路最快。
三步验证:node -v 和 npm -v 看 Node 环境;where dsh 看命令路径(有输出 = 已装且 PATH 可见);npm ls -g @deepseek-ai/dsh 看全局包列表里有没有它。where dsh 没输出但 ls -g 有,就是典型的 PATH 问题。
来源
- DeepSeek Harness 官方文档 - Quickstart· deepseek-harness
- dsh CLI README· deepseek-ai
- npm 官方文档 - 全局包的 bin 目录· npm