大家好,我是程序员天天困。
昨晚刚把 DeepSeek V4 Pro 正式版的文章 发出去,本来想着吃完饭能歇口气,结果往沙发上一躺刷手机,朋友圈直接被 DeepSeek Harness 的公众号推送刷屏了。我当时就一个念头:来了,终于来了。
说真的这个节奏有点狠。白天 DeepSeek 先甩出 API 调价方案(8 月 17 日起实行峰谷定价,V4 Pro 高峰输出价从 6 元涨到 27 元/百万 token),晚上 V4 Pro 正式版(DeepSeek-V4-Pro-0813)上线,没过几个小时,Harness v0.1 开发者预览版直接 MIT 协议甩到 GitHub 上。一晚上三件事叠在一起,想不上热搜都难。

今天这篇不讲虚的,从它是什么、怎么装、四种模式怎么选,到插件生态和我自己跑的小 demo,一条龙给你讲清楚。点个收藏,咱们开始。
一、Harness 到底是个什么东西
先把名字说清楚。
DeepSeek Harness(简称 DSH,命令行名 dsh):DeepSeek 在 2026 年 8 月 13 日开源的 AI Agent 运行框架,MIT 协议。它干的活是模型本身不干的那部分——替模型记住上下文、替它调用工具、替它在文件和终端之间跑腿,直到把一整件事办完。你可以理解为「模型是灵魂,Harness 是让灵魂能在你电脑上动手的那具身体」。
DeepSeek 自己在招聘时写过一个公式:Model + Harness = Agent。光有模型它只会跟你聊天,加上 Harness 它才能读你的代码、跑你的命令、改你的文件。这个公式我在一个多月前那篇 《Harness Engineering 是什么?》 里详细聊过——当时还在讲方法论,现在 DeepSeek 直接把参考实现开源了。
这个定位说白了就是对标 Anthropic 的 Claude Code 和 OpenAI 的 Codex。但 DSH 从第一天就没打算做一个「更好用的 Claude Code」,它走的是另一条路——把这一层整个开源掉。这个区别很关键,后面讲插件的时候你就明白了。
二、四种下载方式,挑一个就行
DSH 的安装门槛在主流 Agent 框架里算低的,我给四条路,按你的需求选。
| 方式 | 命令 | 适合谁 |
|---|---|---|
| npx 一键启动 | npx @deepseek-ai/dsh web |
想先体验、不想装全局包 |
| 全局安装 | npm install -g @deepseek-ai/dsh && dsh web |
日常用、想固定版本 |
| 源码构建 | git clone + pnpm build |
想读源码、追最新提交 |
| Python SDK | pip install deepseek-harness-sdk |
嵌进 CI/CD 或脚本(官方仓库 python/ 目录) |
最快的是第一种。确认你机器上有 Node.js v22.19 以上(官方 package.json 里 engines 写的是 ^22.19.0 || >=24.0.0,用 node --version 看一眼,版本低了先去升),然后终端里敲:
npx @deepseek-ai/dsh web
没装 Node.js 的去 nodejs.cn 下一个 LTS 版本,傻瓜式安装就行。

跑起来之后浏览器打开 http://127.0.0.1:3080,就是它的 Web UI。默认地址本地回环,不对外暴露,不用担心别人连进来。

想从源码跑的话,需要 pnpm(npm install -g pnpm):
git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh web
仓库地址就是 deepseek-ai/deepseek-harness,我写这段的时候 Star 已经 8.7 万,上线不到一天冲到这个数,这个涨速在 GitHub 历史上都排得上号。

三、第一次打开,三步开聊
Web UI 加载完之后别着急敲消息,输入框默认是灰的,有两件事必须先做。
第一步:配 API Key。 进 Settings → Models,找到 DeepSeek 那张卡片,把你的 sk-... 填进去保存。Key 存在本地配置目录里,界面只显示脱敏后的描述符,不会回显明文。第一次打开会直接弹出填 Key 的页面,去 DeepSeek 开放平台创建一个就行;也可以在这里接入其他 OpenAI 兼容的模型。

第二步:选工作区。 点「选择工作区」,添加一个你想让 Agent 操作的项目目录。你在哪个目录启动的 dsh web,那个目录就是默认工作区,但你得手动点一下选中它,输入框才会解锁。

第三步:派活。 比如丢一句「总结这个仓库,告诉我主要的包结构」,它就开始读文件、跑命令、维护执行计划。涉及写操作的时候,UI 会按权限策略弹审批,不会偷偷改你东西。
干活过程中每一步在做什么——读了哪个文件、调了什么工具、工具返回了什么——全都摊开在时间线上。顶部还有个「轨迹(Trajectory)」面板,把模型看到的系统提示、推理过程、工具调用、子 Agent 调度按顺序记成一份只增不改的日志,支持导出,出了问题可以逐条复盘它当时到底看到了什么、为什么这么做。这比那种全程黑盒、最后只甩给你一个结果的工具让人踏实多了。

四、四种模式,别上来就用标准模式
DSH 内置四种模式,本质是四份不同的插件配置清单。这个设计本身就很有意思——官方模式和社区做的整合包在地位上没有任何差别,都是插件组合。
| 模式 | 干什么用 | 开箱工具 |
|---|---|---|
| 标准模式 | 完整编程 Agent | 文件编辑、shell、搜索、技能、规划、子 Agent、工作流 |
| PTC 模式 | 模型写一段代码编排多次工具调用 | Code Mode SDK,把十次来回合并成一次执行 |
| 极简模式 | 跑基准、看模型裸实力 | 一个持久 bash + 一个文件编辑器,仅此而已 |
| 创造模式 | 在内存里试插件、造新模式 | 可检查运行时、热加载 Cordis 插件 |

PTC(Programmatic Tool Calling,程序化工具调用):普通模式下模型每调一次工具就得跟客户端来回一次,十次工具十轮往返;PTC 换了个思路,让模型直接产出一段 TS 脚本,把这些操作串起来一次跑完。相当于模型从「逐条下指令的实习生」变成「自己写脚本批量跑的工程师」。
好处是快、省 token,坏处是这段代码跑起来你得想清楚它在干什么——所以沙箱和权限策略要配好。
我的建议是:第一次用先开极简模式,让它在一个小目录里干一件简单的活,感受一下它的节奏;熟悉了再切标准模式。PTC 和创造模式等你想折腾插件的时候再碰。
五、「一切皆插件」才是这玩意真正的杀招
Cordis:从 Koishi(国内老牌 QQ 机器人框架)里抽出来的微内核,作者是 GitHub 上的 Shigma。它只管三件事——加载插件、卸载插件、管理插件之间的依赖,本身不提供任何 Agent 能力。打个比方,Cordis 是主板插槽,具体能力全靠插上去的插件卡。
官方文档把这点列得很直白:从模型到工具、从会话存储到沙箱策略、从调度循环到你看到的那个 Web 界面,每一样都是可插拔的插件,没有谁是焊死在框架里的。
这句话听着像口号,但它有个很硬的技术底座叫「可逆副作用」:每个插件注册时产生的所有副作用都会被追踪,卸载时自动回收,不留垃圾、不漏内存。翻译成使用体验就是热插拔——装插件、卸插件、换整套 UI,都不用重启,系统跑着跑着就把自己的一部分换掉了。
这个设计带来的结果是:连 DeepSeek 自己的模型都没有特殊地位,它也就是又一个插件而已。 你想换成 Kimi、GLM、任何 OpenAI 兼容端点的模型,跟换个主题皮肤是同一个操作。在 Claude Code 里,用哪个模型、有什么能力,全是 Anthropic 定的,用户碰都碰不到;在 DSH 里,这两件事和换桌宠是同一个层级的事。

社区反应快得离谱。36氪 8 月 13 日当晚实测时一个目录收录了 288 个插件仓库;到我写这篇的时候,GitHub 上打 dsh-plugin 标签的仓库已经超过 1000 个,还在涨。想自己逛的话,这两个目录比较全:
- awesome-deepseek-harness(0xsline 维护,带安装命令)
- Awesome DSH Plugin(中英双语,分类更细)
我挑几个印象深的,仓库地址都给你,可以直接点进去装:
- dsh-vision-toolkit:给纯文本的 DeepSeek 模型加一双眼睛,支持带意图的图片问答、长截图 OCR、UI 还原、像素对比,不是简单桥接一个视觉 API 了事。
- dsh-TUI:把整个交互换成 Claude Code 风格的全屏终端,像素鲸鱼顶栏、流式思考展开、双击 Esc 回退、上下文进度条加 TPS 表,npm 一键装。
- dsh-web-ui:Web UI 增强全家桶,任务看板、Git 图谱、右侧面板、手机端远程界面、实时 token 统计、皮肤中心,一个插件包补齐官方界面缺的几块。
- DSH-better-sidebar:把侧边栏改成完整工作台,内置文件渲染编辑器、终端、Git 面板和子代理管理,还支持第三方注册新 Tab 页。
- dsh-ui-whale:在会话标题栏养一只手绘像素鲸鱼,空闲时眨眼游来游去,思考时会动,回合结束喷个水。
- whale-girl:QQ 宠物形态的鲸鱼娘桌宠,浮在界面上能拖拽、能投喂、能互动。
最绝的是 Nagi-ovo/dsh-ads 这个插件,给 Web 界面加上 2005 年中文网站风格的侧栏广告、对话内信息流和角落弹窗,连关闭按钮的点击区域都故意做得比看着小——纯粹的抽象艺术。按 36氪 当晚的实测报道,目录里还紧挨着一个专门屏蔽它的插件,广告是插件、去广告也是插件,生态自己先完成了一轮攻防(这个我没亲测,大家可以自己去翻)。
当然也不全是玩具。远程渠道有 qqbot、dsh-weixin-bot、dsh-feishu-bot、dsh-wecom-bot、telegram 这一批(都在 dsh-external 组织下),装上之后 DSH 就能变成一个在 QQ 群、飞书里被 @ 的机器人;沙箱也有多种社区隔离方案可选,从轻量容器到内核级强制访问控制都有人在做。
装插件这事儿本身也很 DSH——不用自己翻文档拼命令,把仓库地址丢给对话框里的 Agent,用大白话说「帮我装这个」,它自己读完 README 就把活干了,遇到要改配置或重启的时候会停下来等你批权限。嫌审批烦可以把操作权限暂时放开,跑完再收回来;想稳一点就让它每步都问你。不想要了也是一句话卸载。
六、小 Demo:给自己写了只喷水鲸鱼,顺便看了眼缓存命中率
光说不练假把式,我照着 DSH 的插件 API 撸了个小玩具:一只趴在网页右下角的 DeepSeek 鲸鱼桌宠,专门用来盯着 Agent 的思考进度。
逻辑很简单:你一发消息,鲸鱼就开始喷水,水柱下面挂一条进度条,根据当前回合已经吐出的 token 数实时往前跑;等 DSH 返回最终结果、这一轮结束,鲸鱼立刻闭嘴收水,回到空闲状态摆尾巴。整个插件就挂在 Web UI 的 DOM 上,不改 DSH 源码,纯靠 Cordis 的事件总线监听回合开始和结束——这也是「一切皆插件」最直观的好处:想加个什么东西,不用等官方,自己挂一个就行。
效果是这样的,思考中喷水 + 进度条走动:

跑完之后 DSH 自己的 Trajectory 状态栏把账算得明明白白,不用我去后台翻:
6 轮 · 115 步 | LLM 16m20s · 工具调用 2m33s | 首 token 平均 1.6s · 145 tok/s | 缓存命中 99% | 输入 15.4M tok · 输出 1.16M tok
说几个值得品的数字。这 6 轮里其实有 2 轮是我自己试错发的废消息,真正干活的就 4 轮,结果 DSH 跑了 115 步、LLM 累计思考了 16 分 20 秒——Agent 场景下 token 消耗和你聊多少句话基本没关系,全看它在背后调了多少轮工具、读了多少文件。
最扎眼的是缓存命中 99%。1540 万输入 token 里只有不到 1% 是真正新发给模型的,剩下 99% 全是前缀缓存兜住的。DeepSeek 的缓存命中输入价比未命中价低一到两个数量级——涨价前 V4 Pro 是 0.025 元 vs 3 元(百分之一这个量级),8 月 17 日涨价后高峰时段也才 0.3 元 vs 9 元(三十分之一)。99% 命中意味着实际输入成本只有全 miss 的零头,Agent 这种长会话,缓存就是省钱的命根子。
99% 这个数字不是我调出来的,是 DSH 的架构天然喂出来的。每一回合请求,系统提示词、工具定义、已注入的 Skill、会话历史这些内容全部排在消息序列最前面,并且只要你不在中途切模型、切模式,它们字节级不变——这就是前缀缓存最理想的命中对象。DSH 的 Trajectory(轨迹)机制把模型看到的一切按顺序写进只增不改的事件日志,前缀天然不会乱序,也就不会出现「内容一样但顺序变了导致缓存失效」这种糟心事。
可能有人会问:那我自己写插件、改 UI,会不会把前缀搞乱导致命中率掉下来?
不会。你挂在前端的插件(比如我这只鲸鱼)走的是浏览器侧的 DOM 和 Cordis 事件,根本不进请求体;只有那些往系统提示词或工具列表里塞内容的插件才会影响前缀。装这类插件时装一次就别动了,别在会话中途反复启停,命中率就稳。
说回这只鲸鱼。写完最大的感受是:DSH 把「改界面」和「改 Agent 行为」放到了同一个难度层级上。以前用 Claude Code 想在界面上加个活物,门都没有;在这里就是注册一个 Cordis 插件、监听两个事件、画一段 CSS 动画的事。你甚至可以让鲸鱼的颜色跟着当前选中的模型变,或者在子 Agent 被派出去时让它背着小书包出门——反正都是插件,想怎么折腾怎么折腾。
七、几个必须说清楚的坑
体验归体验,这东西现在是 v0.1 开发者预览版,官方 README 用全大写字母写了一句话:THERE WILL BE COMPATIBILITY-BREAKING CHANGES。一定会有破坏兼容性的变更。别现在就把它接到生产关键路径上。
具体说几个我踩到的点:
- Node 版本要够新。 官方要求 Node.js v22.19 以上或 v24+,低版本 npx 会报一堆看不懂的错,先
node --version确认,别拿 v18/v20 硬怼。 - Bash noop 空转是已知 bug。 某些情况下 Agent 会反复执行空的 Bash 命令不推进任务,遇到就手动中断重新发起,别干等。
- 安全攻击面比一般工具大。 插件能碰你的 shell 和文件系统,第三方插件装之前看一眼源码。已经有第三方团队做了防御性安全审计,发布了 13 个可复现的攻击链 demo 和实时验证产物,这不是开玩笑的。
- Windows 上优先用 Web UI。 Python SDK 在 Windows 原生环境下的兼容性我没全部验证过,Windows 用户想省事就直接走
npx @deepseek-ai/dsh web,需要脚本化再考虑 WSL。

最后说个我的判断。
DeepSeek 选在 API 调价的同一个晚上开源 Harness,不是巧合。Anthropic 需要 harness 这层值钱,因为它卖的是模型加外壳的整体;DeepSeek 需要 harness 不值钱,因为这层一旦被拉平成公共品,竞争就被压回模型本身的能力和价格上——而那已经是 DeepSeek 的主场了。R1 当年把闭源模型的溢价打下来,这一次 DSH 想把闭源外壳的溢价也打下来。
而且从我这一晚上的实测看,自己的模型配自己的 Harness,确实比硬套别人家的壳顺手——V4 Pro 虽然官方也提供了 Codex、Claude Code 的接入文档,但那套是适配别人的协议和交互;在 DSH 里,模型、工具、缓存、Trajectory 日志是一套一起设计的,99% 的缓存命中率也不是随便哪个第三方外壳都能喂出来的。模型和外壳本来就该一起演化,这点鱼皮那篇实测也得出了一样的结论。
8 月 17 日涨价之后账还得重新算,但至少现在,你可以零成本把 DeepSeek Harness 跑在自己机器上、随便改成自己想要的样子——模型、工具、UI,没有一样是焊死的。
我是程序员天天困,持续分享编程干货。觉得有用的话记得点赞收藏和关注~也欢迎在评论区聊聊:你装上 DeepSeek Harness 之后第一个想装的插件是哪个?