DeepSeek Harness 全调研:一切皆插件,DeepSeek 要把 Agent 的「身体」做成开源基础设施
本文完全由 WorkBuddy 独立收集资料、调试代码并完成文章写作。
我是 Alex Xiang,前百度/微博工程师,现在专注于 AI 工程与工具产品。更多文章欢迎关注微信公众号「字与码」。
2026 年 8 月 13 日,DeepSeek 把自己的 Agent 运行框架开源了,项目叫 DeepSeek Harness,缩写 dsh。它不是又一个「AI 编程工具」,而是一个想把 Agent 的每一块能力都拆成插件、再重新组合的开放运行时。
一个多月过去,版本号从 v0.1.0 冲到 v0.1.5-rc.1,GitHub Star 涨到约 16.8 万,发布节奏几乎每两天一次,破坏兼容性的变更已经来了好几轮。
这篇文章把 dsh 最近的代码改动、社区讨论、官方目标和我自己的判断串一遍。
01先看结论
一句话定位:dsh 是 Agent 的「身体」,不是 Agent 本身。它要让模型灵魂住进一个可替换、可观察、可重组的运行框架里。
当前状态:Developer Preview,接口和存储格式还在快速重构,不适合直接押生产。
核心赌注:用 Cordis 插件系统把模型、工具、会话、沙箱、存储、UI 全部插件化,最终让「Agent = Model + Harness」。
最大看点:它同时是 DeepSeek V4 系列官方 Agent 基准测试的框架——极简模式(Minimal Mode)就是用来跑 Terminal Bench、NL2Repo 这些榜单的。
02它不是又一个 AI 编程工具
DeepSeek 官方把这件事讲得很清楚:
模型是 Agent 的灵魂。Harness 让 Agent 理解环境、使用工具,并在现实场景中持续工作。
换句话说,DSH 并不在乎你用的是 DeepSeek 模型还是 Claude、GPT、Qwen,它负责的是怎么把模型接进一个能干活的身体里。
这个身体由 Cordis 插件内核驱动。Cordis 本身有一套「时空可组合」的插件系统论文,dsh 把它当成底座:模型适配器、工具、Skills、会话、沙箱、存储、运行循环、调度、甚至 UI,都是插件。想换模型?换模型插件。想换文件编辑器?换工具插件。想自定义界面?写 UI 插件。

它提供了四种运行模式:
| 模式 | 定位 | 默认能力 |
|---|---|---|
| Standard | 完整编程 Agent | 文件编辑、Shell、文件/网页搜索、Skills、规划、目标、子代理、工作流 |
| Code | 模型写代码编排工具 | 在 Standard 基础上把工具暴露成 TypeScript SDK,让模型一次性组合多步操作 |
| Minimal | 最小化基准环境 | 只保留持久 Bash 和文件编辑器,常用于模型评测 |
| Creator | 自定义 Preset | 在 Standard 基础上增加运行时检查、插件实验和 Preset 创作向导 |
另一个不太一样的地方是 Trajectory。每次运行中模型看到的所有东西——系统提示、推理过程、工具调用结果、子代理调度、上下文注入——都会被写入追加式会话日志。你可以在 Trajectory 视图里按来源检查、搜索、分叉、重放。
这解决了 Agent 调试里最痛苦的问题:不是「它答错了」,而是「它当时到底看到了什么」。
03一个多月的版本演进
从 8 月 13 日开源到 9 月 10 日,dsh 的版本号变化大致如下:
| 版本 | 时间 | 关键变化 |
|---|---|---|
| v0.1.0-rc.7 | 8 月 17 日 | 持久图片附件、Job Panel 子代理任务管理、可配置思考强度 |
| v0.1.0-rc.8 | 8 月 19 日 | 多模态原生图片请求;Claude Code / Codex 子代理作为 Profile Bundle 安装;Windows PTY 持久 PowerShell |
| v0.1.1-rc.2 | 8 月 21 日 | DeepSeek 适配器改用 Files API 处理图片上传,降低成本 |
| v0.1.2-alpha.2 | 8 月 30 日 | 连接失败重试、Agent Preset 切换、Token 用量与耗时显示 |
| v0.1.3-alpha.1 | 9 月 4 日 | Web 任意文件上传、代理环境统一、代理发现增强;Session 格式升级到 v2 |
| v0.1.5-alpha.1 | 9 月 8 日 | 动态系统提示不破坏 KV Cache、右侧 Sidebar 多标签/分栏/预览、Agent API 重构 |
| v0.1.5-alpha.2 / rc.1 | 9 月 10 日 | 文件交付、Agent Teams 实验包;Session 格式升级到 V3 |
注意中间没有 v0.1.4 线——官方从 0.1.2 直接跳到了 0.1.5,说明功能合流很快,版本号本身还没稳定到「语义化」的节奏。
几个值得细看的代码层改动:
1. 文件上传从「图片专用」变成「任意类型」
0.1.3-alpha.1 之前,dsh 的附件能力明显偏科:图片链路很完整,但 PDF、CSV、JSON、Markdown 这类工作文件进不来。新版本里,文件和图片可以混排在同一个预览区,后台上传带进度和取消,切换会话后上传状态还能续显。模型可以通过已有文件工具按保存路径按需读取。
这个改动会直接改变以后给 Agent 喂资料的方式。
2. 子代理从「发出去就完事」变成可继续对话
0.1.5-rc.1 里,可继续对话的子代理支持消息排队、编辑、删除、单条或全部 Steer 与停止。父任务能更细地控制子代理的推进节奏,这对多 Agent 协作很重要。
3. Session 格式从 v1 到 v2 再到 V3
0.1.3-alpha.1 改了 Session persistence API,改成 SessionHandle 持有、agentLoop.create() 异步、新增 Session 锁。0.1.5-rc.1 又把数据格式升到 V3,旧日志会迁移保留原文件,但升级后不支持降级读取。
这意味着什么?dsh 还在架构快速迭代期,你今天写的插件或外部工具,下个月可能就对接不上。
4. 默认模型切换到 DeepSeek-V41-Flash
0.1.5-rc.1 起,新会话默认使用 deepseek-flash。配置文件显式指定模型时仍以配置为准。这是 DeepSeek 把自家模型和 Harness 深度绑定的又一信号。
04为什么 DeepSeek 要自己做 Harness?
最现实的答案是:模型评测需要统一、可复现、可对比的 Agent 框架。
在 DeepSeek API 更新日志里,你会反复看到这样一句话:
对于公开基准测试集中的 Code Agent 文本任务,DeepSeek 系列模型使用 DeepSeek Harness 极简模式作为框架进行测试。
也就是说,dsh 的 Minimal Mode 同时承担了「公平跑分器」的角色。DeepSeek-V4-Flash、V4-Pro、V4-Flash-Vision-Exp 的 Agent 榜单成绩,都是拿 dsh 的极简模式跑出来的。
但这件事的战略意义不止于评测。如果 dsh 能成为业界默认的开放 Harness,那么 DeepSeek 模型就会获得一种「原生优势」——新模型发布时,配套 Harness 已经调好、插件已经适配、评测已经对齐。别人想接入其他模型当然可以,但 DeepSeek 自己的组合一定最先跑顺。
这其实是把「模型战争」往上打了一层:从「谁的模型更强」变成「谁的模型 + 运行时 + 生态更顺」。
05社区真实反馈
开源首日就冲上 5 万 Star,一周后约 11 万,现在约 16.8 万。关注度高,但真实体验比较分化。
肯定的声音集中在三点:
- 「一切皆插件」是真的可换:模型适配器、工具、会话日志、主循环都能插件化,换模型不用重建系统。
- Trajectory 是复盘神器:Agent 失败的排查从「猜」变成「看录像」。
- 一条命令就能跑:
npx @deepseek-ai/dsh web启动 Web UI,开箱可用。
谨慎的声音也很一致:
- Developer Preview 不是口号:0.1.3-alpha.1 明确出现性能回退,Release Note 直接写「本次发布存在已知的性能回退」。同步 API 变异步、Session 格式升级,都说明接口还没定型。
- 生态早期:插件数量增长很快(有作者称已看到 1000+),但质量和筛选机制还不成熟,很多能力要自己配。
- 上手有门槛:「一切皆插件」对开发者是优点,对普通用户是复杂度。理解 Cordis 插件体系需要时间。
一句话总结社区态度:值得研究,不适合无脑押生产。
06趋势判断
从最近的代码改动和社区讨论里,我看出几条比较明确的趋势。
第一,从「基础设施演示」快速转向「产品化细节」。
最早的开源版本更像一个 Agent Runtime 的技术 demo。但 0.1.2 之后,Web UI 的优化明显变多:连接失败重试、Token 统计、侧栏搜索焦点、反馈界面、文件卡片排版、自动打开浏览器。0.1.5 的右侧 Sidebar 支持 Markdown / 代码 / HTML / PDF / 图片预览,几乎是往 IDE 方向靠。这说明 dsh 不只想当底层框架,也在试图直接成为日常开发界面。
第二,多 Agent 协作是下一个主战场。
Agent Teams 已经作为实验性 npm 包发布;子代理支持双向消息、Steer、继续对话;0.1.5-rc.1 把 Agent API 改成显式传递 Agent,避免子代理被误当成根会话参与调度。这些改动都在为多 Agent 场景铺路。
第三,「模型无关」和「DeepSeek 原生」会长期并行。
dsh 的插件架构理论上支持任意模型,但默认会话已经切换到 deepseek-flash,模型探测支持自定义 OpenAI 兼容网关和 Anthropic 列表,却也越来越像围绕 DeepSeek 模型做深度优化。这个张力会持续:太封闭会失掉生态,太开放又会弱化自家模型的优势。
第四,极简模式会成为一个事实上的 Agent 评测标准。
只要 DeepSeek 继续用 dsh Minimal Mode 发布模型成绩,其他模型厂商和研究者就会被迫对齐这个环境,否则无法横向比较。久而久之,dsh 可能成为 Agent 评测的默认 harness。
07风险与冷思考
热度归热度,有几个风险必须单独拎出来。
1. 接口稳定性还没有承诺
从 v1 到 v2 到 V3 的 Session 格式变化、Agent API 重构、Inbox API 调整,都在短短几周内发生。官方也明说会有破坏性变更。
2. 插件多不等于生态成熟
1000+ 插件里有多少能稳定运行、有没有安全审核、权限边界怎么管,都是空白。给 Agent 装插件本质上是在给本机放权限。
3. 产品定位还在摇摆
它到底是「大家的开放 Harness」,还是「DeepSeek 模型的最佳搭档」?两个方向对产品决策的影响完全不同。
4. 与现有工具的竞争关系还不清晰
Claude Code、Codex、Cline、OpenCode 已经占了终端和编辑器场景。dsh 的差异化必须建立在「插件化基础设施」上,而不是又多一个聊天窗口。
08现在可以怎么用
如果你现在就想动手,建议这样:
# 快速体验 Web UI(默认打开 127.0.0.1:3080)
npx @deepseek-ai/dsh web
# 想锁定版本就用 @版本号
npx @deepseek-ai/dsh@0.1.5-rc.1 web
# 源码安装
git clone https://github.com/deepseek-ai/deepseek-harness
适合的场景:
- 研究 Agent 架构:看 Cordis 怎么把运行时拆成插件,学习 Trajectory 的设计。
- 写插件:给 dsh 写模型适配器、工具或 UI 插件,提前占生态位。
- 跑模型评测:用 Minimal Mode 跑自己的 Agent 任务,和 DeepSeek 官方成绩对齐。
不建议的场景:
- 直接替代现有生产工具:接口和格式还会变,迁移成本不可控。
- 让非技术团队日常依赖:插件权限、报错诊断、稳定性都还没准备好。
09写在最后
DeepSeek Harness 最有意思的地方,不是它现在有多好用,而是它试图定义一种 Agent 的组装方式:模型是灵魂,Harness 是身体,插件是器官。谁能把这个「身体」做成标准,谁就能在模型层之外再建一层生态壁垒。
但这一步还早。开发者预览的标签、频繁的破坏性变更、早期插件生态的混乱,都说明它还在找形态。
我会继续跟踪 dsh 的 releases 和社区讨论。如果你已经拿它跑过真实项目,欢迎在留言区聊聊稳定性、插件和踩坑。
本文同步发布于 zicode.com(字与码)。
微信公众号
欢迎关注「字与码」
如果这篇文章对你有用,也欢迎在微信里继续关注后续更新。
X / Twitter
关注 @ax2_zicode
更即时的技术观察、新文章提醒和一些短想法会发在 X 上。