DeepSeek Harness 目前仍处于Developer Preview(开发者预览)阶段,项目还在快速迭代,后续版本可能会出现破坏兼容性的变化。
如果只是想快速体验 DeepSeek Harness,其实按照官方提供的命令直接运行即可,整个安装过程并不复杂。
不过 Windows 用户在安装这类开发工具时,经常还会遇到另外一个问题:
软件虽然安装好了,但是 npm 缓存、运行数据、会话文件等内容到底保存在哪里?
如果电脑只有一个磁盘,或者完全不在意 C 盘空间,那么这些路径全部保持默认即可,不需要额外修改。
但如果电脑已经划分了多个磁盘,C 盘空间比较紧张,或者单纯不希望开发工具不断往系统盘写缓存和运行数据,那么最好在第一次启动 DeepSeek Harness 之前,就把相关路径调整到其他磁盘。
本文主要记录三个方面的内容:
- DeepSeek Harness 在 Windows 下的两种安装方式;
- 如何修改 npm 缓存和 DeepSeek Harness 用户数据的保存位置;
- 如果已经使用了一段时间,如何把原来的
.dsh数据安全迁移到其他磁盘。
如果只是想正常安装,可以直接看第二章中的安装步骤;如果还希望减少 C 盘占用,再继续完成对应的路径修改操作即可。
文章目录
- 一、DeepSeek Harness 安装方式与数据存储说明
- 二、DeepSeek Harness 安装及缓存、数据路径修改
- 1. 安装 Node.js
- 2. 使用 npx 安装和运行
- 3. 使用源码方式安装
- 4. 修改 npm / npx 缓存位置
- 5. 设置 DeepSeek Harness 用户数据目录
- 6. 源码版的 pnpm Store
- 7. 安装完成后检查实际路径
- 三、DeepSeek Harness 已安装使用,如何进行数据迁移
- 1. 停止 DeepSeek Harness
- 2. 确认原 `.dsh` 目录
- 3. 将原数据复制到新的磁盘
- 4. 修改 DSH_HOME
- 5. 启动 Harness 并验证迁移结果
- 6. 确认无误后删除 C 盘旧数据
- 总结
一、DeepSeek Harness 安装方式与数据存储说明
DeepSeek Harness 是 DeepSeek 开源的 Agent Harness,其命令行入口为:
dsh启动 Web UI 后,默认访问地址为:
http://127.0.0.1:3080目前主要有两种运行方式:
- 通过 npm / npx 直接运行官方发布的软件包;
- 克隆 GitHub 仓库,在本地安装依赖并从源码运行。
这两种方式并不是“普通版”和“完整版”的区别,而是分别适合不同的使用场景。
如果只是希望使用 DeepSeek Harness,通常选择 npx 即可:
npx @deepseek-ai/dsh web这种方式不需要维护源码仓库,也不需要手动执行项目构建,更适合日常使用。
如果希望阅读 DeepSeek Harness 源码、修改内部实现、进行二次开发或者参与项目开发,则可以使用源码方式:
git clone https://github.com/deepseek-ai/deepseek-harness.git cd deepseek-harness pnpm install pnpm run build pnpm dsh web两种方式可以同时存在,并不会互相覆盖。日常使用时可以通过 npx 启动,需要研究源码时再进入源码目录执行pnpm dsh web。
不过,无论选择哪一种方式,都需要先理解一个容易混淆的问题:
DeepSeek Harness 的程序依赖、包管理器缓存和实际使用过程中产生的数据,并不是保存在同一个目录里的。
主要可以分成下面三类。
| 内容 | 主要用途 | 查看方式 |
|---|---|---|
| npm / npx cache | 保存 npx、npm 下载的软件包缓存 | npm config get cache |
| pnpm Store | 保存源码版通过 pnpm 安装的共享依赖 | pnpm store path |
DSH_HOME | 保存 Harness 自身的配置、会话等用户数据 | echo $env:DSH_HOME |
例如通过:
npx @deepseek-ai/dsh web运行 Harness 时,软件包下载主要会使用 npm cache。
而源码版执行:
pnpm install时,则主要还会使用 pnpm Store。
真正和 DeepSeek Harness 长期使用关系更大的,是:
DSH_HOME如果没有主动配置DSH_HOME,Windows 环境下一般会使用用户主目录中的:
C:\Users\你的用户名\.dsh也就是说,即使 Node.js、npm 缓存和项目源码都已经放到了 D 盘,只要没有修改DSH_HOME,DeepSeek Harness 的配置、会话等数据仍然可能继续写入 C 盘。
因此,如果希望减少 C 盘占用,需要重点处理的其实是两个位置:
npm cache以及:
DSH_HOME如果还使用源码版本,则再关注一下 pnpm Store 即可。
二、DeepSeek Harness 安装及缓存、数据路径修改
1. 安装 Node.js
在使用 DeepSeek Harness 之前,需要先在电脑中安装 Node.js。
这是因为后面使用的:
npx @deepseek-ai/dsh web其中npx属于 Node.js/npm 工具链的一部分。如果电脑中还没有安装 Node.js,就无法直接执行这条命令。
可以前往 Node.js 官方网站:Node.js — 让 JavaScript 无处不在 - Node.js 运行环境 下载安装 Windows 版本。对于普通用户,建议优先选择LTS(长期支持版),不需要刻意追求最新的 Current 版本。
安装过程中如果不在意 Node.js 本身占用 C 盘空间,可以直接保持默认安装路径和默认组件。
如果希望把 Node.js 本身也安装到其他磁盘,则可以在安装过程中修改安装目录,例如:
D:\DevTools\NodeJS需要注意的是,Node.js 的程序安装目录和 npm 缓存目录并不是同一个位置。
即使把 Node.js 安装到了 D 盘,npm / npx 的缓存仍然可能默认保存在 C 盘。这个问题会在后面的“修改 npm / npx 缓存位置”中单独处理。
Node.js 安装完成以后,建议关闭当前 PowerShell,再重新打开一个新的 PowerShell 窗口,然后依次执行:
node-v npm-v npx-v如果三个命令都能够正常返回版本号,就说明 Node.js、npm 和 npx 已经安装并配置成功。
此时就已经具备通过 npx 运行 DeepSeek Harness 的基础环境。
2. 使用 npx 安装和运行
如果只是正常使用 DeepSeek Harness,这是最简单的方式。
确认 Node.js、npm 和 npx 都可以正常使用以后,打开 PowerShell:
npx @deepseek-ai/dsh web第一次运行时,npx 会根据需要下载对应的软件包,因此首次启动通常会比后续启动慢一些。
启动完成以后,在浏览器中访问:
http://127.0.0.1:3080即可进入 DeepSeek Harness Web UI。
如果不在意缓存和数据保存到哪个磁盘,那么做到这里就可以直接开始使用。
后续再次启动时,仍然执行:
npx @deepseek-ai/dsh web即可。
兼容性提示:DeepSeek Harness 目前仍处于快速迭代阶段,部分版本在 Windows 环境下使用
npx启动时,可能会出现 npm 长时间停留在依赖安装或解析阶段、终端持续无响应的情况。
如果npx @deepseek-ai/dsh web在确认安装后长时间没有任何进展,可以先使用Ctrl + C终止当前任务,然后尝试通过 pnpm 临时运行:pnpm dlx @deepseek-ai/dsh web
如果电脑中还没有安装 pnpm,则需要先安装或启用 pnpm 后再使用该命令。pnpm dlx与npx类似,都是临时获取并运行对应的软件包,并不会影响已经保存在DSH_HOME中的 Harness 配置和会话数据。
如果npx @deepseek-ai/dsh web本身可以正常启动,则无需改用pnpm dlx。这一提示主要作为 Windows 环境下遇到 npm 依赖解析异常时的备用方案。
3. 使用源码方式安装
如果希望在本地保留完整源码,则可以先进入准备保存项目的目录,然后执行:
git clone https://github.com/deepseek-ai/deepseek-harness.git进入项目:
cd deepseek-harness安装依赖:
pnpm install构建项目:
pnpm run build最后启动 Web UI:
pnpm dsh web以后再次启动源码版时,一般进入源码目录后执行:
pnpm dsh web即可。
如果源码版和 npx 版同时保留,建议把两个使用场景区分开:
源码目录中 → 使用 pnpm dsh web 普通目录中 → 使用 npx @deepseek-ai/dsh web这样不容易把源码工作区和 npx 的运行环境混在一起。
另外需要注意,源码版执行过:
pnpm install并不意味着第一次执行:
npx @deepseek-ai/dsh web时完全不需要重新下载依赖。
原因是:
pnpm install ↓ 主要使用 pnpm Store npx ↓ 主要使用 npm cachenpm 和 pnpm 使用的是不同的包管理和缓存机制。
因此,即使源码版已经安装完成,第一次使用 npx 时仍然可能重新下载部分内容,这是正常现象。
4. 修改 npm / npx 缓存位置
如果使用 npx 运行 DeepSeek Harness,可以先检查 npm 当前的缓存目录:
npm config get cacheWindows 默认情况下,可能会看到类似:
C:\Users\用户名\AppData\Local\npm-cache这就意味着 npm 和 npx 下载的软件包缓存目前保存在 C 盘。
如果不在意 C 盘空间,可以保持默认,不需要进行任何修改。
如果希望把 npm 缓存移动到其他磁盘,例如:
D:\DevCache\npm-cache可以执行:
npm configsetcache"D:\DevCache\npm-cache"--global设置完成后重新检查:
npm config get cache正常情况下应该返回:
D:\DevCache\npm-cache以后再执行:
npx @deepseek-ai/dsh webnpm 和 npx 使用的主要下载缓存就会保存到新的目录中。
需要注意的是,修改 npm cache 只改变 npm / npx 的缓存位置,并不会改变 DeepSeek Harness 自身的会话和配置保存位置。
Harness 自身的数据还需要通过DSH_HOME单独设置。
5. 设置 DeepSeek Harness 用户数据目录
如果希望 DeepSeek Harness 的配置、会话以及其他用户数据也不要继续写入 C 盘,需要设置:
DSH_HOME假设希望以后把这些数据保存在:
D:\DeepSeekHarness\Data可以在 PowerShell 中执行:
[Environment]::SetEnvironmentVariable("DSH_HOME","D:\DeepSeekHarness\Data","User")这里的:
User表示为当前 Windows 用户永久保存这个环境变量。
设置完成以后,关闭当前 PowerShell,再重新打开一个新的 PowerShell 窗口。
然后执行:
echo$env:DSH_HOME正常情况下应该看到:
D:\DeepSeekHarness\Data确认环境变量已经生效以后,再启动:
npx @deepseek-ai/dsh web此后 DeepSeek Harness 自身产生的主要用户数据就会使用新的DSH_HOME,而不是继续默认保存到:
C:\Users\你的用户名\.dsh因此,如果还没有正式开始使用 DeepSeek Harness,又希望从一开始就减少 C 盘占用,推荐按照下面的顺序进行:
安装 Node.js ↓ 确认 node、npm、npx 可以正常使用 ↓ 检查 npm cache ↓ 如有需要,将 npm cache 改到其他磁盘 ↓ 设置 DSH_HOME ↓ 重新打开 PowerShell 并确认环境变量 ↓ 运行 npx @deepseek-ai/dsh web这样第一次正式使用时,主要缓存和 Harness 用户数据就已经按照新的路径保存了。
6. 源码版的 pnpm Store
如果只使用:
npx @deepseek-ai/dsh web这一部分可以直接跳过。
只有通过源码方式执行:
pnpm install时,才需要关注 pnpm Store。
查看当前 pnpm Store:
pnpm store path例如可能返回:
D:\.pnpm-store\v11也可能返回其他路径。
pnpm Store 不一定位于deepseek-harness源码目录中,因为它属于 pnpm 的共享依赖存储位置,不是 DeepSeek Harness 独占的数据目录。
以后其他使用 pnpm 的项目同样可能复用这里已经下载的依赖。
因此,如果执行pnpm store path后发现 Store 本身已经位于 D 盘或其他非系统盘,那么没有必要专门为了 DeepSeek Harness 再修改它。
即使以后删除 DeepSeek Harness 源码,也不建议直接把整个 pnpm Store 一并删除,因为其中可能还有其他 pnpm 项目使用的依赖。
如果只是希望清理已经不再使用的内容,可以使用:
pnpm store prune进行清理。
7. 安装完成后检查实际路径
全部设置完成以后,可以通过下面三个命令确认当前实际使用的位置。
查看 npm / npx 缓存:
npm config get cache查看 pnpm Store:
pnpm store path查看 DeepSeek Harness 用户数据目录:
echo$env:DSH_HOME假设前面已经把 npm cache 和DSH_HOME修改到了 D 盘,那么结果可能类似:
npm cache: D:\DevCache\npm-cache pnpm Store: D:\.pnpm-store\v11 DSH_HOME: D:\DeepSeekHarness\Data如果还使用源码版本,那么源码本身可以保存在任意希望的位置,例如:
D:\DeepSeekHarness\Source\deepseek-harness这里不需要刻意追求所有目录必须放在同一个父目录下。
只要清楚每一个目录保存的是什么,并确认需要转移的数据已经位于非系统盘即可。
三、DeepSeek Harness 已安装使用,如何进行数据迁移
前面的路径修改最好在第一次正式使用 DeepSeek Harness 之前完成。
这样后续产生的数据会直接保存到新的位置,不需要再次迁移。
不过如果已经按照默认方式使用了一段时间,数据缓存默认在C盘,此时想进行数据迁移到别的磁盘,也完全没有必要重新安装。
例如执行:
echo$env:DSH_HOME没有任何输出,那么说明当前通常没有显式设置DSH_HOME。
原来的 Harness 数据一般会保存在:
C:\Users\你的用户名\.dsh假设现在希望把它迁移到:
D:\DeepSeekHarness\Data可以按照下面的步骤进行。
1. 停止 DeepSeek Harness
如果 PowerShell 当前正在运行:
npx @deepseek-ai/dsh web先按:
Ctrl + C停止程序。
迁移过程中最好确保 DeepSeek Harness 已经完全退出,避免程序继续向旧目录写入数据。
2. 确认原.dsh目录
在 PowerShell 中执行:
$old=Join-Path$HOME".dsh"$oldTest-Path$old正常情况下可能看到:
C:\Users\用户名\.dsh True其中:
True表示原来的.dsh数据目录确实存在。
3. 将原数据复制到新的磁盘
设置新的数据目录:
$new="D:\DeepSeekHarness\Data"创建目标文件夹:
New-Item-ItemType Directory-Force-Path$new然后复制原来的.dsh数据:
Get-ChildItem-LiteralPath$old-Force|Copy-Item-Destination$new-Recurse-Force如果.dsh已经比较大,也可以使用 Windows 自带的robocopy:
robocopy"$old""$new"/E/COPY:DAT/DCOPY:DAT/R:2/W:1复制完成后,暂时会同时存在:
C:\Users\用户名\.dsh和:
D:\DeepSeekHarness\Data这是正常现象。
此时不要删除 C 盘中的旧.dsh。
迁移时最好坚持一个原则:
先复制,确认新目录可以正常使用以后,再删除原来的数据。
这样即使后续设置出现问题,也还可以使用原目录恢复。
4. 修改 DSH_HOME
数据复制完成以后,把DSH_HOME永久修改到新目录:
[Environment]::SetEnvironmentVariable("DSH_HOME","D:\DeepSeekHarness\Data","User")这个命令设置的是以后新启动程序读取的用户环境变量。
如果希望当前已经打开的 PowerShell 立即使用新的路径,还可以执行:
$env:DSH_HOME ="D:\DeepSeekHarness\Data"然后检查:
echo$env:DSH_HOME确认输出为:
D:\DeepSeekHarness\Data5. 启动 Harness 并验证迁移结果
重新启动:
npx @deepseek-ai/dsh web然后重点检查:
- 原来的会话是否仍然存在;
- Profile 是否可以正常读取;
- 模型相关配置是否保留;
- 已安装插件和其他配置是否正常;
- 新建会话之后,新目录是否开始产生新的修改记录。
还可以执行:
Get-ChildItem"D:\DeepSeekHarness\Data"-Force查看新目录中的文件。
如果正常使用 Harness 后,新目录中文件的修改时间持续发生变化,说明 Harness 已经开始使用新的DSH_HOME。
6. 确认无误后删除 C 盘旧数据
验证成功以后,也不建议马上删除原来的:
C:\Users\用户名\.dsh可以先将它重命名:
Rename-Item"$HOME\.dsh"".dsh.backup"此时旧数据会变成:
C:\Users\用户名\.dsh.backup然后重新启动 DeepSeek Harness,再正常使用一段时间。
如果确认:
- 原来的会话可以正常打开;
- 配置没有丢失;
- 新建会话可以正常保存;
D:\DeepSeekHarness\Data中的数据持续更新;
就可以基本确认迁移已经成功。
最后再删除 C 盘中的备份:
Remove-Item"$HOME\.dsh.backup"-Recurse-Force这时原.dsh数据在 C 盘占用的实际空间才会真正释放。
整个迁移流程可以概括为:
关闭 DeepSeek Harness ↓ 复制原来的 .dsh 数据 ↓ 设置新的 DSH_HOME ↓ 重新启动并验证 ↓ 把原 .dsh 改名为备份 ↓ 再次确认运行正常 ↓ 删除旧备份总结
在 Windows 环境下,如果只是希望正常使用 DeepSeek Harness,最简单的方式就是:
npx @deepseek-ai/dsh web如果需要研究或修改源码,则使用:
git clone https://github.com/deepseek-ai/deepseek-harness.git cd deepseek-harness pnpm install pnpm run build pnpm dsh web如果不在意 C 盘空间,那么按照默认方式安装和使用即可,不需要修改任何路径。
如果希望减少系统盘占用,则建议重点处理下面两个位置:
npm cache负责保存 npm / npx 下载缓存,可以通过:
npm config get cache查看,并通过:
npm configsetcache"D:\DevCache\npm-cache"--global修改。
另一个是:
DSH_HOME它负责保存 DeepSeek Harness 自身的配置、会话等用户数据。
可以通过:
echo$env:DSH_HOME检查是否已经设置,并通过:
[Environment]::SetEnvironmentVariable("DSH_HOME","D:\DeepSeekHarness\Data","User")修改到其他磁盘。
如果还使用源码版本,则可以额外通过:
pnpm store path检查 pnpm Store 当前所在的位置。
因此,对于还没有正式开始使用 DeepSeek Harness 的用户,比较推荐的安装顺序是:
安装 Node.js ↓ 检查并按需修改 npm cache ↓ 设置 DSH_HOME ↓ 运行 npx @deepseek-ai/dsh web如果已经使用了一段时间,也不需要重新安装,只需要:
复制原 .dsh 数据 ↓ 设置新的 DSH_HOME ↓ 启动并确认数据正常 ↓ 删除旧数据即可完成迁移。
这样既可以正常使用 DeepSeek Harness,又能够根据自己的磁盘情况控制 npm 缓存和 Harness 用户数据的保存位置,避免长期使用之后才发现大量缓存、会话文件一直堆积在 C 盘。