DeepSeek Harness 源码怎么构建?DSH plugin 本地开发调试与源码版 npx 差异指南
DeepSeek Harness 从源码构建分五步:装 Node.js 与 pnpm → git clone → pnpm install → pnpm run build → pnpm dsh 启动;源码版最适合本地开发 DSH plugin——dsh plugin 会把参数原样转发给 pnpm,本地路径、git、npm 源都能装,开发完的插件可提交到 DSH Plugin Hub 收录、让社区一键安装。本文把五步构建、本地调试工作流与发布收录一次讲透。
概览:源码构建与 npx 一键运行的区别
npx 每次拉取 npm 发布包,源码构建则在本机编译最新代码,两者都能跑起来,但用途不同。 npx 是官方 Quickstart 的启动方式、无需本地安装,适合日常使用(来源);源码构建需要 Node.js 与 pnpm 工具链,构建后以 pnpm dsh 启动,适合想开发 DSH 本体、在本地调试插件、或需要本地构建产物的人(来源)。本文按五步构建、本地开发工作流、源码版与 npx 版差异、发布收录的顺序展开。
步骤 1:准备构建环境:Node.js 与 pnpm
源码构建需要两样工具:Node.js(18 及以上)与 pnpm 包管理器。 依次确认:
- 安装 Node.js:执行
node -v确认版本(建议 18 及以上),没有就先装 Node.js LTS。 - 安装 pnpm:pnpm 是构建与启动的包管理器,执行
pnpm -v确认;没有就npm install -g pnpm安装。 - 确认网络:
pnpm install要拉取大量依赖,网络不通会卡住,必要时先配好镜像源。
步骤 2:克隆 DeepSeek Harness 仓库
用 git 把官方仓库克隆到本地。 执行:
git clone https://github.com/deepseek-ai/deepseek-harness.git
克隆完成后进入仓库目录,后续步骤都在仓库内执行:
cd deepseek-harness
步骤 3:安装依赖 pnpm install
在仓库内执行 pnpm install,安装全部依赖。 这一步会拉取 monorepo 里所有子包(包括 dsh CLI)的依赖,耗时取决于网络;安装完成后无需额外配置。
pnpm install
步骤 4:构建 pnpm run build
执行 pnpm run build,把源码编译成可运行产物。 按 dsh CLI README 的操作顺序(来源):
pnpm run build
构建成功后,仓库里就生成了可运行的构建产物;以后拉取新代码想升级,重新执行一次 pnpm install && pnpm run build 即可。
步骤 5:启动 pnpm dsh web
构建完成后,用 pnpm dsh 启动,命令与 npx 版完全一致。 pnpm dsh 与 npx @deepseek-ai/dsh 的命令一致:pnpm dsh web 就是 --profile web 的硬编码别名,默认开在 http://127.0.0.1:3080(来源)。想跑 headless 或换端口,用法与 npx 版完全相同:
pnpm dsh web
浏览器打开终端打印的地址即进入 Web UI,首次使用配 API 密钥、选工作区的流程与 npx 版相同。
本地开发 DSH plugin 的工作流
源码版是调试 DSH plugin 最直接的环境:dsh plugin 把参数原样转发给 pnpm,你可以用 pnpm 的本地路径能力装自己写的插件。 安装一个本地开发的插件:
pnpm dsh plugin --profile web add file:../my-plugin
dsh plugin --profile <名称> <pnpm 参数> 会把 add / remove / update / why 等参数原样转发给 pnpm(来源),所以 pnpm 支持的包源——npm 包、git 地址、本地路径——都能用于装插件。改完插件代码后重启 pnpm dsh web 即可看到效果。插件本身怎么写(导出 apply 函数、Cordis、inject 声明依赖)见《DSH 插件怎么开发》。
源码版与 npx 版怎么选
日常使用选 npx、开发调试选源码构建,两者的数据目录一致、可随时切换。 差异要点:
- 版本:npx 跟随 npm 上的发布版本;源码构建跟随你克隆的那个 commit,改代码即生效。
- 环境:源码构建需要 Node.js 与 pnpm,且要重新
pnpm run build才能升级;npx 无需安装任何东西。 - 数据:两者共用
~/.dsh(profiles 与 sessions),会话数据互通,切换方式不影响已装插件。
升级相关命令见《DeepSeek Harness 更新到最新版》。
开发完的插件怎么发布与收录
插件打包发布到 npm 后,可以提交到 DSH Plugin Hub 收录,让社区一键安装。 打包与发布流程(在 package.json 声明 dsh.bundle.patch、发布 npm 包)见官方发布文档与《DSH 插件怎么开发》。发布后即可申请进入 DSH Plugin Hub——设置 → 插件中心的社区插件市场,现收录 4,805 个社区插件、其中 4,401 已人工精选验证。收录后,用户在插件中心里搜索你的插件就能一键安装:

Hub 的浏览、安装与管理用法见《DSH Plugin Hub 怎么用?》。
常见问题与下一步
- pnpm install 慢或失败:先换镜像源再重试,参考《DSH plugin 下载失败、下载慢》。
- 构建后启动报错:多半是依赖没装全,重新执行
pnpm install && pnpm run build。 - 想快速发版给用户:npm 发布后可申请 DSH Plugin Hub 收录;提交流程见提交插件页面。
常见问题
分五步:先装 Node.js 与 pnpm;再 git clone https://github.com/deepseek-ai/deepseek-harness.git;然后依次执行 pnpm install、pnpm run build;最后用 pnpm dsh <命令> 启动。pnpm dsh web 即 Web UI,默认地址 http://127.0.0.1:3080。
npx 每次从 npm 拉取发布包、无需本地安装;源码构建在本机编译最新代码,需要 Node.js 与 pnpm,更适合开发 DSH plugin 与调试。两者共用 ~/.dsh 数据目录,会话互通。
在源码仓库里用 pnpm dsh plugin --profile web add file:../my-plugin 安装本地插件;dsh plugin 会把参数原样转发给 pnpm,pnpm 支持的本地路径、git、npm 源都能用,改完代码重启 dsh web 生效。
dsh plugin --profile <名称> <pnpm 参数> 会把 add、remove、update、why 等参数原样转发给 pnpm(官方 dsh CLI README),因此 pnpm 支持的包源都能用于装插件。
打包发布到 npm 后,可提交到 DSH Plugin Hub 收录;Hub 现收录 4,805 个社区插件、其中 4,401 已人工精选验证,收录后用户可在设置 → 插件中心一键安装。
来源
- DeepSeek Harness 官网· DeepSeek
- DeepSeek Harness 官方文档 - Quickstart· deepseek-harness
- DeepSeek Harness 官方文档 - 参考· deepseek-harness
- dsh CLI README· deepseek-ai