DeepSeek Harness(DSH)安装指南:Windows 和 macOS 的几种装法
DSH 在 Windows 和 macOS 上的几种装法:npx 一行启动、npm 全局安装、源码构建、桌面客户端,外加 API Key 怎么填、坑在哪。
DeepSeek Harness(命令行里叫 dsh)是 DeepSeek 官方开源的 agent harness,MIT 协议,架构上是「一切皆插件」。它不像普通软件只有一个入口——你可以只跑命令行,可以开个 Web UI 当界面用,也可以当成 Python 库嵌进自己的程序。
这篇只解决一件事:把它在你的 Windows 或 macOS 上跑起来。
三个前提先说清楚:
- 项目还在开发者预览阶段,官方自己写了「未来将出现破坏兼容性的变更」,别直接装在要长期稳定的生产机上。
- Web UI 需要一个 DeepSeek API Key,去 platform.deepseek.com 注册就能拿。
- 完全不想碰命令行的,看「方法四」,装个桌面客户端就行。
一、先选一条路
| 方式 | 适合谁 | 需要先装什么 |
|---|---|---|
| npx 免安装 | 只想先试试 | Node.js |
| npm 全局安装 | 打算长期用命令行 | Node.js |
| 源码构建 | 要跟最新代码、要改代码 | Node.js + pnpm + Git |
| DSH Desktop 桌面客户端 | 完全不想碰命令行 | 无,安装包自带运行时 |
| Python SDK | 要把 agent 嵌进 Python 程序 | Python 3.10+ |
Node.js 版本要求:22.19 以上,22 LTS 或 24 都行,别用太老的版本。
二、Windows
2.1 装 Node.js
走 npx / npm / 源码这三条路才需要,桌面客户端跳过。
方法一:官网安装包(推荐)
- 打开 nodejs.org,下载 LTS 版
- 双击
.msi,一路默认下一步
方法二:包管理器
1 | # winget(Win10 1809+ / Win11 自带) |
装完重开一个 PowerShell,验证:
1 | node -v |
能打印版本号就算好了。后面所有命令都建议在 PowerShell 里跑,别用老 CMD。
2.2 方法一:npx,一行启动
不装任何东西,直接拉最新的包跑:
1 | npx @deepseek-ai/dsh web |
跑完会在 http://127.0.0.1:3080 起服务,并自动用默认浏览器打开。两个常用参数:
1 | npx @deepseek-ai/dsh web --no-open # 只起服务,不弹浏览器 |
国内下载慢的话,先切镜像:
1 | npm config set registry https://registry.npmmirror.com |
2.3 方法二:全局安装
想在任意目录敲 dsh 就能用,就装到全局:
1 | npm i -g @deepseek-ai/dsh --registry=https://registry.npmmirror.com |
以后升级也是重跑一遍这条命令。
2.4 方法三:从源码跑
要跟最新代码,或者想自己改点什么:
1 | git clone https://github.com/deepseek-ai/deepseek-harness.git |
pnpm run build 不能省,它负责生成前端产物;pnpm dsh web 直接吃这些产物,不会再构建一遍。corepack enable 失败的话,直接 npm i -g pnpm 也一样。
2.5 方法四:DSH Desktop 桌面客户端
官方目前只发 npm 包,没有官方桌面版。zhu1090093659/dsh-web 这个社区项目(Apache-2.0)把 Web GUI 打包成了双击即用的桌面应用:
- 打开它的 Releases,下 Windows 的
dsh-desktop-<版本>-win-x64.exe - 双击安装,启动就能用
不想走安装器的话,同页面还有 win-x64.zip 免安装包。有几点跟命令行版不一样,值得先知道:
- 安装包自带 Node.js 运行时(含 npm、pnpm)、dsh 宿主和预装好的 web profile(官方 web bundle + dsh-web 插件全家桶),所以不用先装 Node,也不用装 dsh CLI;
- 它在 3082–3181 端口段起自己的宿主,不占
dsh web的 3080/3081,两边可以同时开、会话各自独立; - 和命令行版共用
~/.dsh,配置、会话、密钥都是同一份; - 安装包没有做代码签名,Windows 首次运行会弹 SmartScreen,点「更多信息 → 仍要运行」;
- 插件在应用内的插件管理器里装,不需要外部工具链。
三、macOS
3.1 装 Node.js
方法一:Homebrew(推荐)
1 | brew update |
方法二:官网安装包
去 nodejs.org 下 .pkg,双击按向导装,官网会自动判断 Intel 还是 Apple Silicon。
验证:
1 | node -v |
3.2 三种命令行装法
命令和 Windows 完全一样,照抄:
1 | # npx |
唯一的区别:从源码装依赖时如果报编译错误,先补上命令行工具:
1 | xcode-select --install |
3.3 桌面客户端
还是上面那个 DSH Desktop,按芯片下对应的包:
- M 系列芯片:
dsh-desktop-<版本>-mac-arm64.dmg - Intel 芯片:
dsh-desktop-<版本>-mac-x64.dmg
安装包同样没签名,第一次打开会被 Gatekeeper 拦下来,右键点应用图标选「打开」,再确认一次即可。自带运行时、独立端口段、共用 ~/.dsh 这些特性跟 Windows 版一样。
四、还有一种玩法:Python SDK
如果你不是要给自己用界面,而是想把 agent 嵌进 Python 程序,那装 SDK 更合适。需要 Python 3.10 以上。
macOS:
1 | python -m venv .venv |
Windows PowerShell:
1 | py -3.10 -m venv .venv |
SDK 自带配套的 dsh 运行时,不用系统再装一遍 Node。装完就能在代码里 from deepseek_harness import DeepSeekHarness。
五、填 API Key
服务起来了也还不能直接聊天,得先配模型密钥。

打开 设置 → 模型,把 platform.deepseek.com 拿到的 API Key 填进 DeepSeek 那一栏,点保存。保存即生效,不用重启服务。
要用第三方中转或者别的 OpenAI 兼容端点,点下面的「添加自定义提供方」:

- Provider ID:小写标识,随便起,比如
my-gateway - API 地址:填到
/v1为止 - API 协议:OpenAI 兼容的选
openai-completions - API 密钥:中转站给你的 key
如果你只用 headless 这类纯命令行模式,不想开界面配置,直接给环境变量也行:
1 | # Windows PowerShell |
1 | # macOS |
六、装完之后
- 先选工作区。Web UI 刚打开时没有工作区,不选的话输入框是灰的。点「选择工作区」,把它加到启动
dsh时所在的目录。 - 一次性问题。
dsh --profile headless "帮我总结这个仓库",答完就退出,适合写进脚本。 - 想换端口、想让局域网访问。
dsh web --port 8080、dsh web --host 0.0.0.0。 - 数据在哪。默认在
~/.dsh,profile、插件、会话日志都在里面;换位置就设环境变量DSH_HOME。
七、几个容易踩的坑
端口被占
报 EADDRINUSE 就是端口冲突,换个:dsh web --port 8081。
命令找不到
全局装完敲 dsh 提示「不是内部或外部命令」,先重开一个终端窗口;还不行就看看 npm 全局目录进没进 PATH(npm config get prefix)。
代理的问题
DSH 会读标准的代理环境变量:
1 | $env:HTTPS_PROXY = "http://127.0.0.1:7890" |
反过来,如果你在用国内中转、不想走代理,记得把 NO_PROXY 加上对应域名。
升级
npx 每次自动拉最新;全局装的 npm i -g @deepseek-ai/dsh;源码装的 git pull && pnpm install && pnpm run build;DSH Desktop 在 Releases 里下新版装上就行。