从源码运行 DeepSeek Harness
克隆官方仓库,安装该版本要求的 Node 与 pnpm,构建后从本地源码启动。适合修改 DSH、开发插件或验证未发布的修复。
本页内容
安装教程提供社区 Desktop 和官方 npm 两种入口。以下流程会安装开发依赖并构建源码,需要 Git、Node.js 和 pnpm。
什么时候才需要源码运行
检查实现
需要把 CLI、Provider、插件或 Web UI 的行为追到当前源码。
验证修改
需要修改 DSH 并运行当前本地 checkout,再决定是否提交 Pull Request。
参与上游开发
需要使用仓库自己的构建、类型检查、测试和文档工作流,而不是 npm 打包版本。
检查开发环境
以下要求来自 0.1.5-rc.2 / c291e79 快照。克隆其他提交时,以该仓库的 package.json 为准。
^22.19.0 || >=24.0.0pnpm@11.7.0在终端检查:
node --version
pnpm --version
git --version找不到 pnpm 时,先按官方说明安装匹配版本,再继续。
克隆官方仓库
git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness如果准备贡献代码,建议创建自己的分支,不要把无关本地改动混进用于复现问题的 checkout。
安装仓库依赖
pnpm install在仓库根目录执行。项目使用 pnpm 管理多个包及锁定依赖,构建步骤应沿用同一套包管理器。
锁文件、工作区包或依赖声明有变化时,重新运行 pnpm install。
构建必要产物
pnpm run build当前源码 CLI 可以直接运行 apps/cli/src/bin.ts,但仍依赖已经构建好的 Typert Host 产物以及前端/客户端 Bundle。新 clone 后必须先完成构建,Web Profile 才能正常启动。
Launcher 不会检查现有前端 Bundle 是否与最新源码一致。拉取更新或修改源码后,如果浏览器表现像旧版本,先重新 build,再排查 Runtime。
从当前 checkout 启动 Web Profile
pnpm dsh web根目录的 dsh script 会用 node --import tsx/esm 启动源码 CLI,并继续传递后面的参数。
调试配置时可以先使用 config dump,查看各层组合后的结果。
pnpm dsh --profile web --dump-default-config
pnpm dsh --profile web --dump-config更新源码后重新构建
- 01
检查本地改动
先运行
git status,保存尚未提交的工作,再拉取需要测试的分支或提交。 - 02
更新依赖
锁文件或工作区依赖变化后运行
pnpm install。 - 03
重新构建
运行
pnpm run build,确认构建成功后再启动。 - 04
从这个目录启动
运行
pnpm dsh web,报告问题时附上git rev-parse HEAD的提交编号。
常见源码运行问题
首次启动提示 module-resolution error
检查依赖是否安装完成,再运行完整构建;源码入口仍需要生成后的 Host 产物。
启动提示缺少 frontend/client bundle
在仓库根目录运行 pnpm run build 后重试。
Web UI 仍显示修改前的内容
重新构建并重启,再刷新浏览器。启动器不会自动判断已有前端产物是否过期。
pnpm install 与官方说明不一致
检查仓库的 packageManager 与本地 pnpm 版本。
3080 端口启动失败
EADDRINUSE 表示端口被占用;Windows 保留端口可能触发 EACCES。这类问题应检查端口,而不是重复构建。
通过代理访问模型失败
确认代理变量传入了启动进程,再按代理指南区分 DSH 主进程与其启动的子进程。当前主进程的代理处理不依赖 Node 的额外开关。
官方仓库、Node/pnpm 版本声明、CLI 源码运行说明。源码快照 0.1.5-rc.2 / c291e79,核对日期 2026-09-12;这不是各系统的安装实测记录。