dsh 怎么在内网或离线环境安装?DeepSeek Harness 预下载包、tarball 与私有源
内网装 dsh 有两套路径:能出网但慢的用镜像源加代理,完全离线的前后用 npm pack 搬 tgz。 DSH插件侧还多一条官方明确支持的 tarball 通道。本文按「受限网络 → 完全离线 → 依赖兜底 → 验证」顺序讲清。
概览:先判断你的 dsh 内网安装属于哪一类环境
先判断你的环境属于哪一类,再选路径——判断错会白折腾。 官方对插件分发明确给出两条不需要构建权限的路径:发 npm 与发 tarball,后者正是内网与离线场景的落点(来源)。
| 环境 | 特征 | 路径 |
|---|---|---|
| 受限网络 | 能出网但必须走代理、或直连很慢 | 镜像源 + 代理 |
| 完全离线 | 内网机器访问不到任何公网源 | 预下载 tgz + 本地安装 |
dsh 受限网络:镜像源加代理两步走
能出网就别搬文件,配好镜像源与代理最快。 这两步对 npx、git、pnpm 都生效(来源)。
- 切镜像源:
npm config set registry https://registry.npmmirror.com
预期:之后拉包走镜像,速度明显改善(来源);
2. 配终端级代理,预期:macOS / Linux 在 shell 里设置 http_proxy、https_proxy;Windows PowerShell 设 $env:HTTP_PROXY;
3. 重跑安装命令,预期:不再长时间卡在下载;
4. 若仍超时,按报错定位:ETIMEDOUT、ECONNRESET、ECONNREFUSED 一类属于网络或源的问题,继续调代理;报 ERR_PNPM_FETCH_404 则是镜像同步滞后,临时换官方源验证:
dsh plugin --profile web add <包名> --registry=https://registry.npmjs.org
完全离线装 dsh 本体:搬 tgz 进去装
内网机器访问不到 registry 时,npx 无法工作——改用「能出网机器下载 + 内网本地安装」。 官方没有单独的离线安装文档,这条路径用的是 npm 自带的打包与本地安装能力(来源)。
- 在一台能出网的机器上打包:
npm pack @deepseek-ai/dsh
预期:当前目录出现 deepseek-ai-dsh-<版本>.tgz;
2. 记下版本号,预期:文件名里的版本与你要部署的版本一致,便于内网核对;
3. 把 tgz 拷进内网机器(U 盘、内部文件服务器均可),预期:文件落到目标机器本地路径;
4. 在内网机器上本地安装:
npm install -g ./deepseek-ai-dsh-<版本>.tgz
预期:安装完成,全局出现 dsh 命令;
5. 验证:
dsh --version
预期:输出的版本号与 tgz 文件名一致。
完全离线装 DSH plugin:走官方 tarball 通道
插件侧有官方明确支持的离线路径:作者用 pnpm pack 打出 tarball,你带进内网直接 add。 官方文档把它列为「不需要构建权限」的第二条分发方式,适用内部分发、离线安装与发布前自测(来源)。
- 在能出网的机器上取到插件 tarball(作者给包,或自己
pnpm pack),预期:得到插件包-0.1.0.tgz; - 把 tgz 拷进内网机器,预期:文件在本地可读路径下;
- 安装进目标 profile:
dsh plugin --profile web add ./插件包-0.1.0.tgz
预期:安装成功,无需内网访问公网 registry; 4. 验证生效:
dsh --profile web --dump-config | grep -n "^# =="
预期:生效组合包列表里出现该插件(来源)。
tarball 不含依赖:DSH plugin 的依赖还要有源
tarball 里是插件自己的文件,它声明的 npm 依赖仍需从可访问的源解析——这一步是离线安装最常见的失败点。 两种兜底:
- 自建源:在内网搭 npm 私有源或镜像,把所需依赖同步进去,预期:安装时可以正常解析依赖;
- 整包搬运:在能出网机器上把插件连同依赖一并准备好带进内网,预期:本地路径下依赖齐备,安装不再出网。
判断方法:安装报的是「找不到某个包」还是「网络超时」——前者是依赖没同步,后者是代理 / 源没配好。
内网装完 dsh 怎么验证:三条命令确认对齐
离线环境最容易出「装上了但版本不对」或「装了没生效」,用三条命令一次对齐。 三条命令都来自 dsh CLI(来源)。
dsh --version,预期:本体版本与搬进来的 tgz 一致;dsh plugin --profile web list,预期:看到插件已在目标 profile 下;dsh --profile web --dump-config | grep -n "^# ==",预期:生效的组合包里能找到它。
三条都对上,再启动 dsh web(http://127.0.0.1:3080)即可。
不走命令行也行:DSH Plugin Hub 的自定义安装
内网环境里同样可以用界面装本地插件——Hub 的自定义安装支持直接粘贴路径(来源)。 装好 DSH Plugin Hub 后打开设置 → 插件市场 → 自定义安装,面板提供 NPM 包、GitHub 源码、DSH 命令行三张安装卡片,每张都带示例写法与格式校验提示:

与其在命令行里反复确认路径写法,不如用 Hub 的自定义安装面板——三条通道各带输入校验,装前还会弹确认窗口展示将要执行的命令。访问 https://dsh-plugin.org/zh/ 即可了解详情。
来源:DeepSeek Harness 官方文档 - 插件发布、dsh CLI README、npm pack 文档、npm 包 @deepseek-ai/dsh
常见问题
dsh 在内网装不上的常见原因是网络受限,按「镜像源 + 代理」两步走:执行 npm config set registry https://registry.npmmirror.com 切到国内镜像,再设置终端级代理——macOS / Linux 设 http_proxy 与 https_proxy,Windows PowerShell 设 $env:HTTP_PROXY。这两步对 npx、git、pnpm 都生效,配完重跑安装命令即可。
完全离线安装 DeepSeek Harness 本体要分两台机器:先在能出网的机器上执行 npm pack @deepseek-ai/dsh 下载得到 tgz 包,把文件拷进内网后执行 npm install -g ./deepseek-ai-dsh-<版本>.tgz 安装,再用 dsh --version 验证。这条路径用的是 npm 自带的打包与本地安装能力,官方未单独提供离线安装文档。
内网安装 DSH plugin 有官方支持的离线通道:官方明确给出两条「不需要构建权限」的分发路径——发 npm 与发 tarball。插件作者用 pnpm pack 打出 tarball 后,把文件带进内网执行 dsh plugin --profile web add ./插件包-0.1.0.tgz 即可安装,无需内网能访问公网 registry。
DSH plugin 的 tarball 只包含插件自身的文件,它声明的 npm 依赖仍需从可访问的源解析。所以完全隔离的环境有两种兜底:一是内网自建 npm 私有源 / 镜像,把依赖同步进去;二是把插件及其依赖都在能出网机器上准备好、一并带进去。只带一个 tgz 且依赖很多时,安装会因拉不到依赖失败。
内网装完 dsh 后按三条命令依次验证:dsh --version 确认本体版本与带进来的 tgz 一致;dsh plugin --profile web list 确认插件已在目标 profile 下;dsh --profile web --dump-config | grep -n "^# ==" 确认生效的组合包里有它。三条都对上就可以启动 dsh web 使用。
相关术语
- tarball
- tarball 是打包工具生成的预构建压缩包(.tgz),在 DSH 生态里由作者用 pnpm pack 打出;把文件路径交给 dsh 即可安装,是官方明确的不需要构建权限的分发路径之一,适合内部分发与离线安装。— DeepSeek Harness 官方文档 - 插件发布
- npm pack
- npm pack 是 npm 自带的命令,用于把某个包或当前项目打包成 .tgz 压缩包;在能出网的机器上执行它,就能把包文件带进无法访问 registry 的内网环境安装。— npm 官方文档
- registry(npm 源)
- registry 是 npm 解析并下载包的服务器地址,默认为官方源 registry.npmjs.org;内网或访问受限环境可以切到镜像源,或在单条命令里用 --registry 参数临时指定。— npm 官方文档
- 自定义安装
- 自定义安装是 DSH Plugin Hub 提供的绕过商店目录的手动安装面板,提供 npm 包、GitHub 源码与 DSH 命令行三条通道,适合装目录里没有的插件。— dshplugin/dsh-plugin-hub GitHub 仓库
来源
- DeepSeek Harness 官方文档 - 插件发布· deepseek-ai
- dsh CLI README· deepseek-ai
- npm CLI 文档 - npm pack· npm
- @deepseek-ai/dsh - npm· npm
- dshplugin/dsh-plugin-hub GitHub 仓库· GitHub