3 天 127k star!DeepSeek Harness 把整个 agent 拆成了 133 个 plugin,确实够彻底!

8 月 13 日,DeepSeek 开源了一个新东西:deepseek-harness。

文档更新 · 2026-08-178 min read
大家好!我是瓜哥。前互联网技术副总裁,现在带队死磕 AI 编程。

8 月 13 日,DeepSeek 开源了一个新东西:deepseek-harness。仅 3 天的时间,Github 上的 star 已冲到 127k

这是个什么东东?又凭什么这么火爆?

一句话解释:它是 DeepSeek 官网最新开源的智能体,一个让大模型在真实场景里能调用工具、跑多步任务、写代码的那种智能体。

千呼万唤,终于等来了 deepseek 自家的 agent。话不多说,我花了一个晚上把它装上、跑起来、拆开看了一圈。

下面是我看到的所有东西,全部带截图、带耗时数据、带产物文件,值不值得你装上,一次拆开给你看。


01 | 三个真实任务

我自己跑通了 3 个任务,每一个都从 0 到能跑能看。这是实测结果。

① 橘猫名片

橘猫名片首屏
橘猫名片首屏

一句话告诉 dsh「做一张橘猫程序员名片,要会眨眼、要能点按钮投喂」。它花了 2 分钟,吐出一个 449 行的 HTML 文件,单文件、零依赖。

底下这张 GIF 是按投喂按钮之后的效果:

投喂按钮动态
投喂按钮动态

尾巴会摇一下,屏幕上飘过 5 条小鱼干。按钮文字会变成「投喂成功」。

这些彩蛋我没要求,是它自己加的

② 午餐投票小站

投票小站首屏
投票小站首屏

难度上来了:Node.js 后端 + Express + 文件存数据 + 前端 + 启动说明,全套。

dsh 自己列了任务清单,5 个文件一个个写完,然后装依赖、启动服务、自己跑了一遍冒烟测试 —— 下面是它给的执行总结:

agent 完成总结
agent 完成总结

跑通之后我用浏览器真的投了一次票,麻辣烫拿了 1 票:

真实投票反馈
真实投票反馈

这是整个过程的 GIF:

投票流程动态
投票流程动态

功能和逻辑一把过,挑不出什么毛病。

③ 3D 立方体

3D 立方体渲染
3D 立方体渲染

要求是纯 CSS 3D、不要 WebGL、不要 Three.js。6 个面分别代表 DeepSeek Harness 的 6 个核心概念。

它 1 分 33 秒就搞完了。旋转的动效:

立方体旋转
立方体旋转

④ 三个任务的耗时

任务步骤数LLM 耗时输出速度缓存复用
橘猫名片1 轮 4 步2 分 01 秒163 tok/s89%
投票小站2 轮 15 步3 分 14 秒169 tok/s97%
3D 立方体1 轮 4 步1 分 33 秒177 tok/s89%

缓存复用最高跑到 97% —— dsh 把每次对话的 system prompt 和工具清单都缓存了,第二轮直接复用,不用重新发给模型,这个缓存命中率真是相当可以。

我还看到有人执行的任务,缓存命中率能高达 99%,这意味着你只需要极低的成本就可以完成一个任务。


02 | dsh 如何安装?

① npx 启动

装它其实就一行:

code
npx @deepseek-ai/dsh web

打开浏览器访问 http://127.0.0.1:3080,UI 长这样:

UI 全景
UI 全景

打开之后它第一件事是拦住你,让你配 API Key:

API Key 引导
API Key 引导

配上 API Key之后,才露出真实样子:

空会话主界面
空会话主界面

写个 prompt,回车,它就开始干活。顺手查了下这个包:

code
$ npm view @deepseek-ai/dsh version0.1.0-rc.6$ npm view @deepseek-ai/dsh licenseMIT

包名是 @deepseek-ai/dsh,命令叫 dsh,最新版本 0.1.0-rc.6,MIT 协议。

看 dependencies 是一长串:@deepseek-ai/cordis-plugin-*@deepseek-ai/dsh-base@deepseek-ai/dsh-headless 等等。

真相是:dsh CLI 自己只是个调度器。真正干活的是这些子包,按需要拼起来用。


03 | 拆开看内部

① dump-default-config 把插件树摊开

启动一个 dsh 进程,里面到底加载了啥?官方给了一条命令:

code
npx @deepseek-ai/dsh --profile web --dump-default-config

输出是一份 490 行 的 cordis.yml 树,里头有 129 个插件

换 headless profile 跑一次:

code
npx @deepseek-ai/dsh --profile headless --dump-default-config

只剩 333 行81 个插件

对比一下:

维度web 模式headless 模式
插件总数12981
ui-* 客户端插件540
cordis.yml 行数490333
bundle 层数33

注意 ui-* 那一行:从 54 变成 0。同一套 base,换个 profile,整个客户端就没了

换句话说,UI 不是 dsh 的「壳」,UI 是另一个插件包。这个设计思路挺有意思 —— 它没有「核心代码 vs 插件」之分,全是插件,连 agent loop 自己都是插件。


04 |UI 长这样

① 设置面板把 cordis.yml 摊成 UI

点左下角的齿轮,会弹出一个设置面板:

设置面板
设置面板

四个 tab:通用设置、模型、插件、Agent 预设。右上角有个「打开配置文件」按钮 —— 点开就是 cordis.yml 本身。

切到「插件」tab:

插件配置
插件配置

每个 capability 都有「打开设置」折叠项。

再切到「插件列表」:

插件列表
插件列表

注意顶部那个数字:133 个插件。这是这个部署实际加载的插件数。

所有插件只有两种状态:已启用 / 已停用。没有「这个是核心」「那个是边缘」的区分 —— 这就是 README 里反复说的 Everything is a Plugin。

任务跑完之后,还可以切到「轨迹」tab:

Trajectory 视图
Trajectory 视图

顶上是一张彩色甘特图,三条轨道:Input / Model / Tools 并行跑。下面是 SYSTEM、Turn 1、USER、CONTEXT、ASSISTANT、TOOL 的完整调用链。

每一次工具调用、每一次思考、每一条上下文注入,都摆在这里。

「会话日志作为唯一事实源」这句话,在 trajectory 视图里变成了一张可视化的图。


05 | 我的判断

① 现状:开发者预览版,不是稳定版

README 自己警告:「THERE WILL BE COMPATIBILITY-BREAKING CHANGES」。

GitHub 的 releases 数组是空的,npm 上最新是 0.1.0-rc.6,release candidate,不是 stable。

写生产代码不建议。

写 demo / 学习 / 自己 fork 一个改造,倒是正好

② 它押的是什么

DeepSeek 把 Agent 拆成「Model + Harness」两层,把 Harness 当 npm 包发出来,把 Cordis 上游化(还给上游写了一篇论文)。

这不是 LangChain 那种 SDK 抽象的复刻路径,是新范式。

赌的是:未来 12 个月,「agent = model + harness」会被大多数开发者接受,而 harness 必须可替换、可组合、可本地化。

DeepSeek 把 harness 开源、协议 MIT、还给 Cordis 上游写论文。

这个赌注是来真的,不是营销

③ 和 Pi 是同一个物种,但不是同一个实现

写到这,我顺手查了下另一个 harness:Pi(仓库 earendil-works/pi,91k star)。它的官网第一句话是:

Pi is a minimal terminal coding harness.

>

Designed to stay small at the core, extended through TypeScript extensions, skills, themes, and pi packages.

和 dsh 说的是同一件事 —— 把 agent 拆成 model + harness,把 harness 做小、把扩展做活。

但实现路径不一样:

维度DeepSeek HarnessPi
定位Open Agent Harnessminimal terminal coding harness
拆 agentmodel + harnessmodel + harness
扩展机制Cordis plugin 系统(一切皆 plugin)TypeScript extensions + skills + themes + packages(多种扩展形式并存)
默认 UIWeb UI(浏览器)TUI(终端)
模型选择DeepSeek 官方模型为主Anthropic / OpenAI / Google / Azure 等多 provider

两者押的是同一个赛道(harness 标准化、可替换),但实现路径不一样

dsh 走得更极端。它把 Everything is a Plugin 这件事贯彻到底,连 agent loop、模型适配、会话日志都是 plugin。

Pi 走得更稳。它承认一个最小核心,然后让 extensions / skills / packages 在外围生长。

这就像 npm vs yarn:解决的是同一个问题,但做法不一样。现在还看不出谁会是最优解。

④ 它跟谁对位

和 LangChain / LlamaIndex 的 SDK 抽象:不是一个物种。

和 Claude Code / Codex CLI 的「完整产品」:也不是一个物种。

它对位的是 npm 之于 Node:把「agent 需要的各种能力」标准化成可安装、可替换、可组合的小包。


06 | 写在最后

3 天 127k star 不是刷出来的。

是因为「npx 一行命令 + 133 个真插件 + 真能跑通 3 个不同类型的任务」这三件事同时发生,这种稀缺性本身就是流量。

但也别上头:它是开发者预览版,releases 数组空着,README 自己说会有破坏性变更。

怎么理解这句话?

  1. deepseek-harness 当前还在快速迭代阶段,内部代码结构、API签名、数据格式这些都还没稳定;
  1. 别把它当稳定版本用,不要拿这个版本去搭生产系统、上线给真用户;
  1. 升级有风险,不要盲目追新版本号,看 changelog 再升;
  1. 自己 fork 是 OK 的,你下载源码研究、自己玩,没问题

结论:它当前的状态是「开发者预览版」,能用,但每天都在变。

想跟上玩一玩的话,三步走:

  1. 先 npx @deepseek-ai/dsh web,花 5 分钟看一眼 133 个插件
  1. 再 --dump-default-config,看 cordis.yml 是怎么拼出来的
  1. 有 API key 之后回头跑标准模式,看 trajectory 是怎么记录每一步的

扩展阅读:

  • 仓库:https://github.com/deepseek-ai/deepseek-harness
  • 落地页:https://deepseek.com/harness
  • API 文档:https://api-docs.deepseek.com/
  • Cordis 论文:https://github.com/cordiverse/paper

提交反馈

图文3 天 127k star!DeepSeek Harness 把整个 agent 拆成了 133 个 plugin,确实够彻底!

0 / 2000