DeepSeek Harness(dsh)Windows 源码安装保姆级教程(从克隆到跑通附避坑指南)
DeepSeek 开源的 Agent 运行底座 DeepSeek Harness(dsh)目前还处于开发者预览阶段,官方文档对 Windows 环境着墨不多。本文记录在 Windows 上从零源码安装的完整过程,包括国内网络环境下的加速方案,以及安装过程中最容易翻车的几个坑。
一、DeepSeek Harness 是什么
DeepSeek Harness(简称 dsh)是 DeepSeek 开源的 Agent 运行底座,MIT 协议。核心理念是"一切皆插件"——模型、工具、会话、沙箱、UI 全部可替换,可以理解为对标 Claude Code 一类产品,但定制自由度更高。
它提供三条安装路线:
| 路线 | 命令 | 适合人群 |
|---|---|---|
| npx 直跑 | npx @deepseek-ai/dsh web | 只想快速试用 |
| 全局安装 | npm install -g @deepseek-ai/dsh | 日常使用,不想折腾源码 |
| 源码安装 | git clone → pnpm install → pnpm run build | 想定制、想写插件、想控制落地位置 |
前两条一行命令就能跑,本文重点讲第三条——源码安装,这也是坑最多的一条路。
二、环境准备
WIN+x

安装前确认三样东西:
1. Node.js ≥ 22.19
node -v
版本不够的去官网或使用 nvm/mise 升级。
2. pnpm(v10+ 即可)
dsh 仓库的 package.json 里通过 packageManager 字段锁定了 pnpm 版本。如果你已经有 pnpm:
pnpm -v

没有的话两种装法任选:
# 方式一:corepack(Node 自带) corepack enable # 方式二:npm 全局安装 npm install -g pnpm --registry=https://registry.npmmirror.com

3. Git
git --version
三、第 1 步:克隆仓库
标准操作:
git clone https://github.com/deepseek-ai/deepseek-harness.git
国内用户注意:GitHub 直连经常 443 连不上、克隆卡死。这时候走镜像加速,在仓库地址前面加一个镜像前缀即可:
git clone https://ghfast.top/https://github.com/deepseek-ai/deepseek-harness.git
ghfast.top 不可用时可以换 gh-proxy.com 等同类镜像。克隆下来约 7900 个文件,视网络情况 1~5 分钟。
四、第 2 步:安装依赖(最容易翻车的一步)
进入目录安装:(自己创建文件夹如:E:\AI\DeepSeek\DeepSeekHarness)
cd E:\AI\DeepSeek\DeepSeekHarness pnpm install --registry=https://registry.npmmirror.com --config.trust-lockfile=true
这条命令有两个参数,一个都不能省:
--registry=https://registry.npmmirror.com 走国内 npm 镜像,下载速度差 10 倍。你也可以通过 pnpm config set registry https://registry.npmmirror.com 永久配置。
--config.trust-lockfile=true 这是本文最重要的避坑点。pnpm v11 起默认开启供应链防护 minimumReleaseAge: 1440——拒绝安装发布时间不满 24 小时的包(防投毒)。而 dsh 的依赖锁文件里有上千个条目,只要有一个包是最近发布的,安装就会直接失败,报错类似:
ERR_PNPM_LOCKFILE_SUPPLY_CHAIN_CHECK Lockfile failed supply-chain policy check (1215 entries)
由于锁文件是随官方仓库一起 git 克隆下来的,属于可信基线,加 --config.trust-lockfile=true 跳过复查是安全的。注意这只是跳过锁文件的"新鲜度"复查,不影响 pnpm 其他的安装期防护。
正常现象:安装过程中会出现几条黄色警告:
WARN Unsupported platform: wanted linux-arm64/linux-x64, current win32-x64

这是项目里 Linux 专属的原生依赖包在 Windows 上自动跳过,无害,直接忽略。
顺利的话约 900+ 个包、2~3 分钟装完。
五、第 3 步:构建
pnpm run build
一两分钟跑完,产出约 200 个客户端构建产物,没有任何报错即为成功。

六、第 4 步:启动
pnpm dsh web
- 服务监听
http://127.0.0.1:3080,首次启动会自动打开浏览器 - 注意启动耗时:
pnpm dsh使用 tsx 在运行时现场编译 CLI 代码,从敲下命令到端口就绪需要 1~3 分钟。期间终端没有输出、浏览器连接被拒都是正常现象,不要急着 Ctrl+C,等终端打出dsh web: http://...这行字再访问 - 终端按
Ctrl+C停止服务 - 如果想让服务在后台常驻,可以写个
.cmd脚本双击运行,写法见下一节
嫌启动慢?直接跑编译产物(实测快 40 倍)
pnpm run build 除了前端,还会产出 CLI 的编译版。跳过 tsx 现场编译,直接跑它:
node apps\cli\lib\bin.js web
实测同一台机器:tsx 版约 165 秒才就绪,编译版 约 4 秒。日常使用强烈推荐这种方式(后文的启动脚本也基于它)。
代价只有一个:git pull 更新代码后必须重新 pnpm run build,否则跑的还是旧版本代码。
⚠️ 高频报错:Cannot find module ... bin.js(找不到模块)
apps\cli\lib\bin.js 是相对路径——它指的是"当前目录下的 apps\cli\lib\bin.js"。如果你在别的文件夹里直接敲这条命令,node 就找不到文件。必须先 cd 进项目根目录再运行:
cd 如:D:\deepseek-harness # 你 clone 项目的位置 node apps\cli\lib\bin.js web
也可以用绝对路径一步到位(路径换成你自己的):
node D:\deepseek-harness\apps\cli\lib\bin.js web
另一个高频报错:EADDRINUSE(端口被占用)
说明已经有一个 dsh 实例在跑(3080 端口被占)。先停掉旧实例再启动:Windows 下用 netstat -ano | findstr :3080 查到占用进程的 PID,然后 taskkill /PID <那个数字> /F 结束它;或者直接访问 http://127.0.0.1:3080 使用现有实例就好。
代价只有一个:git pull 更新代码后必须重新 pnpm run build,否则跑的还是旧版本代码。
七、进阶:写一个双击启动的 .cmd 脚本
每次启动都要开终端敲命令有点繁琐,可以写两个脚本放在桌面,双击即用。

新建文本,改后缀为 start-dsh.cmd , stop-dsh.cmd
通用骨架(四件套):
@echo off cd /d "D:\deepseek-harness" node apps\cli\lib\bin.js web >> dsh-web.log 2>&1
零件 | 作用 |
| 关掉命令回显,不然窗口会打印自己执行的每条命令 |
| 切到项目目录, |
| 把输出追加写入日志( |
| 把错误输出也并进日志,报错信息不丢失 |
两个容易翻车的点:
PATH 问题:双击 .cmd 时用的是系统 PATH。如果你的 node/pnpm 是靠 nvm、mise 这类工具激活的(只在 PowerShell profile 里生效),双击时可能找不到 pnpm。稳妥写法是在脚本开头手动把工具目录塞进 PATH:
@echo off cd /d "D:\deepseek-harness" start "" /min cmd /c "node apps\cli\lib\bin.js web >> dsh-web.log 2>&1"
窗口行为分两档:上面这种写法窗口会常驻,关窗口=停服务,直观但怕误关。想要静默后台跑,加一层 start:
@echo off
for /f "tokens=5" %%a in ('netstat -ano ^| findstr :3080 ^| findstr LISTENING') do taskkill /pid %%a /f
echo dsh stoppedstart 后面那个空的 "" 是窗口标题占位符,不能省,省了会把后面的路径当成标题。
配套的停止脚本(后台模式下关不掉窗口,需要按端口杀进程):
思路是:netstat 找到监听 3080 端口的进程 PID,taskkill 强制结束。保存为 stop- dsh.cmd,跟启动脚本放一起即可。
终极版:智能启动脚本(推荐)
把上面的零件组合起来,再加三个实用功能:重复启动检测(服务已在跑就直接开浏览器)、后台跑服务(不占常驻窗口)、就绪后自动打开浏览器。双击体验:几秒钟后浏览器自动弹出 dsh 界面,全程不用敲一个字。
```bat
@echo off
rem dsh 快捷启动脚本 - 编译版启动,就绪后自动打开浏览器
set "NODE_OPTIONS="
rem 把下面的路径换成你的 node 实际所在目录
set "PATH=D:\你的node目录;%PATH%"
rem 已在运行?直接开浏览器走人
netstat -ano | findstr /c:":3080 " | findstr LISTENING >nul 2>&1
if %errorlevel%==0 (
echo dsh is already running, opening browser...
start "" "http://127.0.0.1:3080"
timeout /t 2 >nul
exit /b 0
)
cd /d "D:\deepseek-harness"
echo ===== [%date% %time%] starting dsh web ===== >> dsh-web.log
rem 服务丢到最小化后台窗口跑,日志追加写入
rem --no-open 很关键:dsh 自己也会开浏览器,不加这个参数会开两个窗口
start "" /min cmd /c "node apps\cli\lib\bin.js web --no-open >> dsh-web.log 2>&1"
rem 轮询等端口就绪(每秒查一次,最多 30 秒)
echo starting dsh... waiting for port 3080
set /a tries=0
:waitloop
timeout /t 1 >nul
netstat -ano | findstr /c:":3080 " | findstr LISTENING >nul 2>&1
if %errorlevel%==0 goto ready
set /a tries+=1
if %tries% geq 30 (
echo timeout after 30s - check dsh-web.log for details
pause
exit /b 1
)
goto waitloop
:ready
echo dsh is up! opening http://127.0.0.1:3080
start "" "http://127.0.0.1:3080"
timeout /t 3 >nul
```几个实现细节:
if %errorlevel%==0是判断上一条命令(findstr)是否找到了结果,找到说明端口有监听- 等待循环用
goto而不是for,这样%errorlevel%每圈都能重新取值(写在括号块里的变量不会即时刷新,是批处理的经典坑) - 结尾的
timeout /t 3让窗口停留 3 秒再自动关闭,你能看到"dsh is up!"的确认信息;启动失败时用pause,窗口停住等你按键,方便看报错
把这个保存为 start-dsh.cmd,配合前面的 stop-dsh.cmd,启动停止都是双击一下的事。
八、首次配置(三步走)
- 填 API Key:网页里进 Settings → Models,粘贴你的 DeepSeek API Key(在 platform.deepseek.com 创建)保存,即时生效,本地存储、重启不用重填
- 选工作区:点 Choose workspace,添加并选中要让 AI 操作的项目目录(建议先拿练习目录试手,别直接指生产代码)
- 开聊:发一条消息试试,比如"总结一下这个仓库的主要包"

九、日常升级
四条命令:
git pull pnpm install --registry=https://registry.npmmirror.com --config.trust-lockfile=true pnpm run build
然后重启服务即可。
十、避坑速查表
症状 | 原因 / 解法 |
| GitHub 直连不通,改走 ghfast.top 等镜像前缀 |
报 | pnpm v11 的 minimumReleaseAge 防护拦截,加 |
黄色 WARN | Linux 原生包在 Windows 上跳过,无害 |
下载速度极慢 | 没配国内镜像,加 |
端口 3080 被占 | 上次的 dsh 服务没停干净,任务管理器结束残留 node 进程 |
沙箱强隔离场景异常 | Windows 上有已知 bug,强沙箱需求建议用 WSL |
十一、写在最后
整体来看,dsh 的源码安装本身不难,真正卡人的只有两件事:国内网络环境下的 GitHub/npm 访问,以及 pnpm v11 新增的供应链防护机制。把这两个前置问题解决掉,整个过程 10 分钟内可以完成。
DeepSeek Harness 还在快速迭代(本文安装时为 v0.1.1-rc.2),遇到问题可以优先查阅官方仓库的 README 和 Issues。如果你在安装过程中踩到了本文没覆盖的坑,欢迎在评论区留言交流。
本文基于 Windows + Node 22/24 + pnpm 11 环境实测整理。
到此这篇关于DeepSeek Harness(dsh)Windows 源码安装保姆级教程(从克隆到跑通附避坑指南)的文章就介绍到这了,更多相关DeepSeek Harness保姆级教程内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!
相关文章

DeepSeek Harness插件开发完整教程:从第一个工具到可安装 Bundle
DeepSeek Harness 插件开发,是用 Cordis 插件把工具、模型适配器、策略或界面能力挂载到 dsh 运行时的过程,本文基于 DeepSeek AI 官方仓库 0.1.1-rc.2(2026 年 8 月 212026-08-27
如何安装dsh deepseek harness(最新推荐)
这篇文章给大家介绍如何安装dsh deepseek harness,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧2026-08-26
DeepSeek Harness(dsh)安装使用保姆级教程
本文给大家介绍DeepSeek Harness(dsh)安装使用指南,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧2026-08-25
DeepSeek Harness (DSH)便捷安装及使用Skills的方式
DeepSeek Harness是 DeepSeek 在 2026 年 8 月开源的一款AI Agent 运行框架,本文给大家介绍DeepSeek Harness (DSH)便捷安装及使用Skills的方式,感兴趣的朋友一起看看吧2026-08-25
DeepSeek Harness避坑完整指南:从安装到自定义网关,10个高频踩坑全解
掌握DeepSeekHarness安装与配置全流程,避开10个致命踩坑点,我们的避坑指南实测数据揭示框架选型比模型本身对Agent性能影响更大,从Node.js版本检查到自定义API网关兼容性修2026-08-25
本文为DeepSeek Harness本地完整部署保姆级教程,适配Windows系统,文内详细讲解了Node.js26.7环境安装、DeepSeek官方仓库拉取、pnpm依赖安装等内容,适合个人本地AI开发、2026-08-24
DeepSeek Harness(dsh)安装使用指南:一切皆插件的开源 Agent 框架
Deepseek Harness 是一个用于深度学习模型的自动化部署框架,旨在帮助开发者从模型的训练、验证到生产部署的全流程管理,本文介绍DeepSeek Harness(dsh)安装使用指南:一切2026-08-21
DeepSeek Harness 快速上手指南之安装、多模型接入与「自带黑匣子」的会话日志
今天详细拆解一下如何用docker-compose部署一个功能完备的Kafka服务,并分享一些从“能用”到“好用”的实战技巧,感兴趣的朋友跟随小编一起看看吧2026-08-21
DeepSeek Harness 10 个真正实用的插件详解(高星项目与安装指南)
DeepSeek Harness 目前处于开发者预览阶段,不存在官方认证的“必装 10 个插件”清单;以下推荐基于 GitHub 社区热度(Star 数)、功能覆盖度及实测实用性筛选出的高价值扩2026-08-20
DeepSeek Harness(简称dsh)是 DeepSeek AI 于2026年8月开源的 AI Agent 运行框架,本文介绍DeepSeek Harness介绍和安装保姆级教程,感兴趣的朋友一起看看吧2026-08-19









最新评论