📚 系列导航:上一篇 DeepSeek Harness 快速上手教程 已经跑通安装、模型配置和第一个任务;本篇单独拆解 npm 与源码两种启动路线;下一篇 DeepSeek Harness Web UI 使用教程 会配置模型、选择工作区并运行第一个任务。
DeepSeek Harness 安装与启动有两条路线:只想体验就运行 npx @deepseek-ai/dsh web,准备读源码或开发插件再克隆仓库构建。 两条路线不要混着排错,先选目标,再检查对应环境。
npm 快速启动与源码运行怎么选
npm 快速启动省去了克隆和构建步骤,适合确认 Web UI 能否在你的电脑上运行。源码路线会安装整个工作区依赖并执行构建,更适合准备修改 packages/、调试插件或参与贡献的开发者。
一个简单判断是:如果你现在的目标是“打开界面并跑一个任务”,选 npx;如果目标是“读代码、改包、跑测试”,选源码。不要因为源码看起来更专业,就给第一次体验额外增加 Git、pnpm、构建链和仓库钩子的排错成本。
无论哪条路线,都建议先建一个独立测试目录。Agent 后续会读取或修改你选择的工作区,别一开始就在存放重要文件的目录里试运行。
安装前的 Node.js 与 npm 准备
官方根 README 对 npm 快速运行只要求安装 Node.js,没有固定写死一个大版本。源码开发指南当前要求 Node.js 22.19+ 或 24+,CI 还覆盖更高版本;如果你走源码路线,应以当前开发指南为准。
-
打开终端或 PowerShell。
-
检查 Node.js:
node --version -
检查 npm:
npm --version
两条命令都返回版本号,说明命令已经进入 PATH。如果提示找不到命令,先安装或修复 Node.js,并重新打开终端;连续重跑 DeepSeek Harness 命令不会自动补好基础环境。
使用 npx 启动 DeepSeek Harness Web UI
快速启动只需要一条官方命令。npx 会解析并运行发布的 @deepseek-ai/dsh 包,web 参数选择浏览器界面的 Profile。
-
进入准备作为默认文件系统位置的测试目录。
-
执行:
npx @deepseek-ai/dsh web -
保持终端进程运行,在浏览器打开命令打印的地址。

官方 README 当前给出的默认地址是 http://127.0.0.1:3080。看到 Web UI 说明包解析、服务启动和本地访问链路已经跑通;这还不代表模型已经可用,模型凭证和工作区会在下一篇单独配置。
⚠️
127.0.0.1是本机回环地址。不要为了让外网访问而随意改成全网卡监听,也不要直接暴露带工作区和凭证的开发服务。
从官方仓库构建 DeepSeek Harness 源码
源码路线当前需要 Git、兼容的 Node.js,以及由 Corepack 管理的 pnpm。官方仓库固定了 pnpm 版本;如果 pnpm --version 无法执行,先运行 corepack enable,再按仓库声明解析版本。
-
克隆仓库并进入根目录:
git clone https://github.com/deepseek-ai/deepseek-harness.git cd deepseek-harness -
安装依赖并构建:
corepack enable pnpm install pnpm run build -
启动 Web UI:
pnpm dsh web
pnpm install 还会配置仓库的工作树钩子和合并驱动,因此它不是一个只下载依赖的无副作用动作。请在官方仓库检出目录中执行,不要把这组命令复制到无关项目根目录。

验证 DeepSeek Harness 是否启动成功
验证不要只看“命令没有立刻退出”。完整链路应满足三个条件:终端打印访问地址、浏览器能加载页面、关闭服务后该地址不再响应。这样才能确认你访问的是当前进程,而不是之前残留的服务。
报错:node 或 npm 命令不存在
node 或 npm 不存在时,先修复 Node.js 环境,并重新打开终端确认版本命令能正常返回。
报错:pnpm 命令不存在
pnpm 不存在时,先检查 Corepack 是否启用,再按官方仓库声明的版本安装依赖。
报错:3080 端口被占用
端口占用时,确认哪个进程正在使用 3080;依赖安装失败则保留网络、权限和包管理器的原始输出。
DeepSeek Harness 仍在快速迭代,命令参数和依赖要求可能变化。不要把本篇的版本边界当永久承诺,源码开发前重新核对 官方开发指南。
常见问题
必须全局安装 dsh 吗?
不必。官方快速启动使用 npx @deepseek-ai/dsh web,可以先直接运行发布包。
浏览器打不开 127.0.0.1:3080 怎么办?
先回到启动终端确认进程仍在运行,并以命令实际打印的地址为准。若日志提示端口冲突或启动失败,先处理第一条报错。
体验 Web UI 需要先克隆源码吗?
不需要。源码路线主要面向研究代码、修改包和参与开发;普通体验先走 npx 更直接。