DeepSeek Harness 实战:一行命令跑起来,再让它干第一个活
原文链接:DeepSeek Harness 实战:一行命令跑起来,再让它干第一个活
【欢迎关注作者微信公众号,第一时间获取最新好文和AI日报。👇】

DeepSeek Harness(简称 dsh)是 DeepSeek 官方开源的一个 Agent 框架——可扩展的 Agent 运行时。
这篇只做三件实操:本地跑起来、配置 API Key、让它完成第一个「读目录」任务,最后再瞄一眼它的插件树。全程一条命令起步。
一、环境准备
dsh 只要求装 Node.js(建议 18+)。先确认环境:
| node -v |
|---|
二、一行命令启动
| npx @deepseek-ai/dsh web |
|---|
首次运行会自动下载依赖,稍等片刻。启动成功后,dsh 会在 http://127.0.0.1:3080 起一个 Web UI,并自动打开浏览器。两个实用细节:不想自动开浏览器就加 --no-open;SSH 环境下只打印访问地址,需手动打开。

我的首次下载启动耗时:13分55秒。
真踩坑:为什么「等了七八分钟还没装好」
我第一次跑这行命令时,终端卡在依赖下载阶段、七八分钟毫无动静,node_modules 一直是空的,一度以为是命令坏了,也怀疑过是不是镜像源太慢。后来实测算清了:它没坏,是真的慢,而且慢得有原因。
原因分析:估计是依赖小文件较多,且 web 是两段式安装。 dsh 把每个功能拆成独立小包,仅 CLI 就 455 个依赖包、纯安装约 10 分钟;而 dsh web 等价于 --profile web,首次还会自动初始化 web profile 并再跑一次 pnpm install 拉前端工具链,会再次拖慢整个节奏。
两点补充:① 慢不是镜像源问题——npx 复用 npm 的 registry(我机器走国内 https://registry.npmmirror.com,实测带宽 ~22 MB/s,网速是绰绰有余的),瓶颈是包体量,别急着白费时间切源;② npm 会先把所有包装进缓存、最后统一解压,所以中途 node_modules 长时间为空、缓存却猛涨属正常,不是卡死。
其他解决办法(按收益排序):
| 做法 | 作用 | 命令 / 操作 |
|---|---|---|
别反复 npx,改成一次性全局安装 |
装完常驻,之后 dsh web 直接起,只做一次重安装 |
npm i -g @deepseek-ai/dsh(或 pnpm add -g @deepseek-ai/dsh) |
| 首次请耐心给 15–25 分钟 | 它没失败,只是慢;跑完一次缓存命中,后续快很多 | 用 dsh web 而非 npx 触发,别中途杀进程 |
| 用 pnpm 替代 npm | dsh 自身用 pnpm 管 profile;内容寻址 + 硬链接能复用包、少重复下载 | 设为默认包管理器 |
三、配置 API Key,说第一句话
dsh 原生接 DeepSeek 模型,先直接在Web UI初始进入的API Key弹框中配置 API Key,或者在主页左下角的设置中配置模型。
在 Web UI 新建一个会话,随便发一句话测试连通性。能正常收到回复,说明链路打通了。

我的首次对话响应耗时:45秒。
四、第一个真实任务:让它读一个目录
准备一个本地目录(放几份文档或代码),下发任务:
| 请阅读“../deepseek-harness/docs”目录下的文档,产出一份文档说明摘要。 |
|---|
提示:把 ../deepseek-harness/docs 可换成你自己的任意有文档的目录即可。
和普通聊天不同,dsh 会调用工具去读文件系统,再组织回答——这一步能直观看到「Agent 带着工具在工作」。

任务执行记录:耗时1分28秒,返回的摘要有7个标题目录、1247字,共出现5个子代理在后台并行阅读多个子目录文档,已属工具调用。(注:测试目录共计330个文件,7个子目录)
五、源码方式 + 看插件树(可选)
npx 方便但藏起了源码。要看插件树,把仓库 clone 下来:
| git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
| pnpm dsh web |
|---|
拉取DeepSeek Harness源代码

执行pnpm install,自动下载依赖

执行pnpm run build,自动编译构建

执行pnpm dsh web,启动Web UI

其中,install 与 build 耗时不足5分钟,可能本机有缓存,速度还算快。(具体视个人机器及网络环境)
再一条命令看插件树:
| pnpm dsh --profile web --dump-config |
|---|
它会打印当前机器真实启动的「插件树」——模型适配器、工具、会话日志、Agent 循环,全以「配置行」存在,任何一行都能被自己的 patch 覆盖。这就是官方那句「Everything is a Plugin」落到代码里的样子。

插件树配置行数量:506行。
六、收尾与常见问题
退出:在运行 dsh 的终端按 Ctrl + C 停止服务。
首次使用如果遇到下面几种情况,按这个思路排查:
| 情况 | 处理 |
|---|---|
| 启动慢 / 卡住 | 首次依赖极重(CLI 455 个包、纯安装约 13 分钟;web 还含前端 profile 二次安装,合计常超 20 分钟),是「慢」不是「卡死」;别中途强杀,耐心等 15–25 分钟跑完一次即缓存复用。瓶颈在包体量与磁盘余量(磁盘将满会拖慢并有中断风险),而非网络或镜像源(实测带宽 ~22 MB/s)。详见第二节「2.1 真踩坑」 |
| 端口被占用 | 确认 3080 端口;改端口等参数以官方文档为准 |
| 提示 Node 报错 | 升级到较新的 Node LTS 版本 |
说明:dsh 处于 developer preview,命令可能随版本变化,遇到问题优先查阅官方 README 与文档站。
小结
这一篇把 dsh 跑了起来,还让它完成了第一个真实任务,顺手看到了插件树。
讨论:你在部署本地DeepSeek Harness时,遇到哪些问题,都用Agent调用了哪些工具?评论区聊聊你的宝贵经验。
如果这篇对你有帮助,点个「在看」,顺手「收藏」。下一篇,我们实测它的四种运行模式——标准、PTC、极简、创造,看看到底差在哪。
【欢迎访问我的个人博客主页,这里有我的精选文章和AI大模型日报专栏。👇)


浙公网安备 33010602011771号