源码安装前的环境自检
DeepSeek Harness 的源码安装并不复杂,但前提是环境得先对上路子。官方文档里写得清楚:Node.js 需要 v22.19 及以上,或者直接用 v24 系列,包管理器指定 pnpm。听起来没几行字,实际踩坑的人里,十之七八卡在这一步。
我最初是在一台 Ubuntu 22.04 的开发机上直接开干的,系统自带的 Node.js 是 v18.17.0,node -v一敲,心里就凉了半截。更麻烦的是,这台机器之前跑过几个前端项目,npm、yarn、pnpm 三管齐下,lock 文件混成了一锅粥。pnpm install的时候报错信息云山雾罩,核心就一句:lockfile 版本不匹配,依赖解析失败。
所以我的建议是,别急着 clone 仓库,先把这三件事落实:
- Node.js 版本:必须 v22.19+,推荐 v24.x
- 包管理器:只用 pnpm,彻底告别 npm/yarn 混用
- 仓库纯净度:全新目录起步,避免历史 lock 文件干扰
Node.js 版本问题与 nvm 切换
系统自带的 Node.js 版本过低是最常见的拦路虎。v18.x 或者 v20.x 在 2026 年的今天已经不够看了,Harness 的构建脚本里用了不少新特性,老版本直接语法报错。
我的解决路径是用 nvm(Node Version Manager)做版本管理,干净利索:
# 安装 nvm(如果还没有) curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash source ~/.bashrc # 安装并启用 v24.x nvm install 24 nvm use 24 nvm alias default 24 # 验证 node -v # 应输出 v24.x.x npm -v这里有个细节:nvm 安装后记得source ~/.bashrc或者重开终端,否则命令找不到。另外如果之前用apt装过 Node.js,建议卸掉,避免 PATH 里出现多个node二进制文件,导致 nvm 切换了个寂寞。
Windows 用户可以用 nvm-windows,命令几乎一致,只是安装包换成.exe即可。
pnpm 安装与 npm 混用清理
Harness 官方明确要求 pnpm,这不是偏好问题,而是 lock 文件格式和依赖解析策略的差异会导致构建失败。我最初图省事,用 npm 跑了一遍npm install -g pnpm,结果 pnpm 装是装上了,但项目里某些依赖的 peer dependency 解析和 npm 预期不一致,构建阶段各种MODULE_NOT_FOUND。
正确的打开方式:
# 用 corepack 启用 pnpm(Node.js v16.13+ 内置) corepack enable pnpm # 或者直接用 npm 全局安装,但确保路径干净 npm install -g pnpm@latest # 验证 pnpm -v如果你之前在这个项目目录里用 npm 或者 yarn 安装过依赖,务必彻底清理:
# 删除所有 lock 文件和 node_modules rm -rf node_modules package-lock.json yarn.lock pnpm-lock.yaml # 重新用 pnpm 安装 pnpm install我踩过的坑是:保留了package-lock.json,pnpm 会试图兼容解析,结果装出一堆版本错位的依赖,报错信息完全摸不着头脑。删掉重来,世界清净。
npx 缓存与镜像源加速
官方推荐的快速体验命令是npx @deepseek-ai/dsh web,但国内网络环境下,这个命令经常卡在下载阶段,终端一动不动,Ctrl+C 也不是,等着也不是。
几个实用的排查和加速手段:
清理 npx 缓存
# 清理 npx 缓存 npx clear-npx-cache # 或者手动删除 # Linux/macOS rm -rf ~/.npm/_npx # Windows rd /s /q %LOCALAPPDATA%\npx-cache切换国内镜像源
# npm 换源(影响 npx 下载) npm config set registry https://registry.npmmirror.com # pnpm 单独配置 pnpm config set registry https://registry.npmmirror.com # 验证 npm config get registry pnpm config get registry指定 Node.js 版本运行 npx
如果你用 nvm 装了多个版本,确保当前 shell 激活的是 v22.19+:
nvm use 24 npx @deepseek-ai/dsh web我遇到过一个诡异的情况:nvm 默认版本设了 v24,但某个终端会话里还是 v18,npx 调用的其实是老版本的缓存,怎么清都没用。最后发现是终端会话没刷新,重开解决。
源码安装的标准流程
环境就绪后,源码安装本身反而很顺畅:
# 克隆仓库 git clone https://github.com/deepseek-ai/deepseek-harness.git cd deepseek-harness # 安装依赖 pnpm install # 构建 pnpm run build # 启动 Web UI pnpm dsh web构建成功后,终端会提示Server running at http://127.0.0.1:3080,浏览器打开即可。如果端口被占用,可以指定其他端口:
pnpm dsh web --port 8080构建阶段的延伸问题
源码安装走到pnpm run build这一步,部分人还会遇到 Rust 相关依赖的编译问题,尤其是 Harness 桌面端基于 Tauri 2 构建,需要 Rust 工具链参与。
Rust 依赖下载慢
Tauri 的编译依赖 Rust 生态,默认从 crates.io 拉取。国内访问不稳定时,配置 USTC 镜像:
# 编辑或创建 ~/.cargo/config.toml [source.crates-io] replace-with = 'ustc' [source.ustc] registry = "https://mirrors.ustc.edu.cn/crates.io-index"Tauri 编译失败
Windows 用户常见报错是缺少 MSVC 工具链或 VS Build Tools。确保安装时勾选了 "Desktop development with C++" 工作负载。macOS/Linux 用户则需确认 Xcode Command Line Tools 或 build-essential 已就位。
桌面客户端的源码在独立仓库deepseek-harness-desktop,构建命令略有不同:
cd deepseek-harness-desktop npm install npm run tauri build产物在src-tauri/target/release/bundle/下,首次编译耗时 5-15 分钟属正常。
版本时效性提醒
最后必须提一嘴:Harness 目前还是 v0.1 开发者预览版,迭代速度极快。本文写作时间是 2026 年 8 月,等你看到时,依赖版本、构建命令甚至项目结构都可能已有更新。遇到和本文描述不符的情况,优先以仓库最新 README 为准,issue 区也常有即时的 workaround。
源码安装的本质是掌控权——你能决定用什么版本的 Node,走哪个镜像源,要不要改两 Cordis 插件。但这份自由的前提是先把环境这关踏踏实实过了,否则后面的插件化架构、Trajectory 回放再香,也只能隔着报错信息干瞪眼。