DeepSeek Harness 硬核全解析:DeepSeek 官方首款 Agent 框架,一切皆插件的开源运行时_deepseekharness csdn-CSDN博客
北京时间 2026 年 8 月 13 日晚,DeepSeek 同时放出两颗炸弹:
- DeepSeek V4 Pro 正式版全量上线,Agent 能力大幅提升,支持 Responses API 和 Codex 接入;
- **DeepSeek Harness 开发者预览版(v0.1)**以 MIT 协议开源,这是 DeepSeek 官方首款 Agent 运行框架。
如果说 V4 Pro 是 DeepSeek 给 Agent 装了更强的大脑,那 Harness 就是 DeepSeek 给 Agent 造了一副可插拔、可组装、可替换的 “躯壳”。
本文不讲虚的,直接拆解 Harness 的底层架构、插件体系、四种运行模式、可观测设计、与 Claude Code/Codex 的本质差异,以及安装实操。
一、先搞懂:Harness 到底是什么
DeepSeek 给出的公式极其清晰:
Agent = Model(模型 / 灵魂)+ Harness(躯壳 / 执行引擎)
Harness(命令行简称 dsh)是一个开源 Agent 运行时(Agent Runtime),由 DeepSeek AI 开发,MIT 协议开源。它的作用是把一个语言模型包裹起来,让模型能够:
- 感知环境(文件系统、终端、网页)
- 调用工具(编辑文件、执行命令、搜索)
- 维持状态(会话、记忆、子 Agent 调度)
- 持续执行多步真实任务
没有 Harness,再强的模型也只是一个 “昂贵的自动补全”—— 它能回答问题,但不能动手干活。
这填补了 DeepSeek 之前最明显的短板:V4 系列模型性能强、价格低、权重开源,但 Agent 任务的可靠性一直偏弱。而 Agent 可靠性本质上不是模型问题,是运行框架(Harness)问题—— 工具调用 协议、循环控制、错误重试、状态管理、沙箱隔离,这些都得靠框架层解决。
Harness 就是 DeepSeek 对标 Anthropic Claude Code 的开源答案。
二、核心设计:一切皆插件(Everything is a Plugin)
Harness 最颠覆性的设计决策是完全插件化,基于 Cordis 元框架构建。
2.1 Cordis 是什么
Cordis 是一个插件系统元框架,只负责三件事:
- 插件的挂载(mount)与卸载(unmount)
- 插件之间的依赖关系管理
- 通过服务(Service)和事件(Event)让插件互相通信
Cordis 内核本身不包含任何 Agent 能力。所有能力全部住在插件里。
2.2 哪些东西是插件
几乎一切:
表格
| 插件层 | 具体能力 |
|---|---|
| Models | 大模型后端本身,可换任意 OpenAI 兼容模型 |
| Tools | 文件编辑、Shell 执行、文件搜索、网页搜索 |
| Skills | 可复用的技能包,Agent 可按需调用 |
| Sessions | 会话状态、运行历史管理 |
| Sandboxes | 隔离执行环境(Docker / 本地进程等) |
| Storage / Filesystems | 状态存储、文件系统抽象 |
| Loops & Scheduling | Agent 控制循环、子 Agent 调度、任务编排 |
| UI | 连用户界面都是插件,可换 Web UI / CLI / 其他 |
2.3 插件化的实际意义
- 想换沙箱? 挂载一个新的 sandbox 插件,不用改源码;
- 想加自定义工具? 写一个 tool 插件,配置里启用就行;
- 想换模型后端? 换 model 插件,其他全部不动;
- 想做自己的 Agent 产品? 基于 Harness 薄内核组装插件,不用从零造运行时。
这和 Claude Code、Codex 那种**“控制循环 + 工具集 + UI 焊死在一起” 的单体架构**形成本质区别。Harness 是一个薄内核 + 一堆可组合零件,你可以像搭乐高一样组装自己的 Agent。
三、四种运行模式:同一套插件,四种拼装方式
Harness 内置四种预设模式,用同一套插件拼装出不同用途的 Agent,这是理解 Harness 设计哲学的关键。
3.1 Standard 模式(标准模式)
完整编码 Agent,工具最全:
- 文件编辑、Shell 执行
- 文件搜索、网页搜索
- Skills 调用
- 规划(Planning)、目标管理(Goals)
- 子 Agent(Subagents)
- 工作流(Workflows)
适合日常编码任务、多步复杂项目开发。
3.2 Code 模式(代码模式)
Standard 的全部能力,但工具通过 Code Mode SDK 暴露给模型。模型可以把多步操作写进一个 TypeScript 程序里一次性执行,而不是反复单独调用工具。
类比:Standard 模式像 “说一句话做一个动作”,Code 模式像 “写一段脚本批量执行”。对于需要连续操作大量文件的任务,Code 模式效率更高、token 消耗更少。
3.3 Minimal 模式(极简模式)
只有两个工具:持久化 Bash + str_replace_editor。
这是 DeepSeek 官方发布 Code Agent 基准测试时使用的模式。重要含义:
- 你在模型发布会上看到的 Agent 跑分,是在极简双工具环境下测的;
- 实际生产用 Standard/Code 模式,工具更多、环境更复杂,表现和跑分会有差距;
- Minimal 模式也适合做干净的模型评估环境,排除脚手架干扰。
3.4 Creator 模式(创造者模式)
用来构建你自己的预设模式:
- 实时检查运行时状态
- 在内存中测试 Cordis 插件
- 把插件组合成新的自定义模式
适合 Agent 框架开发者、想做垂直领域 Agent 的团队。
硬核提醒:以后看任何大模型的 Agent 跑分,先问一句 “在什么 Harness 模式下测的?“Minimal 模式分数高,不代表复杂生产任务表现好。
四、可观测性:每一次运行都可追溯、可重放
Harness 的第二大设计原则是可观测性,这是很多 Agent 框架严重缺失的部分。
4.1 只追加的事件日志
模型看到的一切全部记录在只追加(append-only)的会话日志中:
- 系统提示词
- 模型推理过程
- 每一次工具调用及返回结果
- 子 Agent 调度记录
- 每一次上下文注入
4.2 Trajectory 视图
可以按来源(source)检查这些记录,清晰看到 Agent 每一步做了什么、为什么这么做。
4.3 可恢复、可分叉、可搜索、可重放
因为日志是单一事件流,所以任意一次 Agent 运行都可以:
- 恢复(Resume):中断后从断点继续
- 分叉(Fork):从某个历史节点分出一条新路径,尝试不同方案
- 搜索(Search):在历史运行中查找特定操作
- 重放(Replay):用相同历史重新运行,对比结果
调试 Agent 为什么跑偏了?有了可重放的事件日志,就不用靠猜了 —— 这是从 “玄学调试” 到 “工程化调试” 的关键一步。
五、核心插件包拆解
Harness 的能力分布在一系列 packages/ 中,理解这些包就能看懂 Harness 的能力边界:
表格
| 包路径 | 职责 |
|---|---|
packages/llm/ | 模型适配器、流式输出 |
packages/shell/ | 一次性命令执行 |
packages/subprocess/ | 进程树管理 |
packages/terminal/ | 持续终端会话 |
packages/fs/ | 文件读写、编辑、搜索、策略限制 |
packages/lsp/ | Language Server Protocol 集成(代码智能) |
packages/loop/ | Agent 控制循环 |
packages/sandbox/ | 沙箱隔离 |
packages/storage/ | 状态持久化 |
packages/ui/ | Web UI 界面 |
每一个包都是一个或多个 Cordis 插件,可以单独替换、扩展。
六、MIT 开源的战略意义
Harness 采用 MIT 协议,这是最宽松的 开源协议 之一 —— 允许商用、修改、再分发,和 React、Node.js 同一个协议。
把这件事放到大模型竞争格局里看:
- OpenAI 已远离开源;
- Anthropic 从未拥抱开源;
- Meta Llama 是自定义限制性协议(有使用量和商业限制);
- DeepSeek:V4 模型权重 MIT 开源 + Harness 运行时 MIT 开源。
这意味着一个团队理论上可以做到:端到端完全开源的 Agent 技术栈,没有任何专有厂商锁定。模型自己跑(或用 DeepSeek API ),框架自己改,数据不出内网。对于对数据主权、私有化部署有硬性要求的企业(金融、政企、涉密单位),这是目前唯一可行的全开源方案。
七、安装与快速上手
Harness 是 Node.js 项目,两种方式启动。
方式 1:npx 一键启动 Web UI(最快)
bash
| |
默认启动在 http://127.0.0.1:3080。
方式 2:源码运行
bash
| |
插件开发
DeepSeek 鼓励插件生态:插件仓库打上 dsh-plugin topic 标签即可被发现,反馈通过 GitHub Discussions 和 Discord 社区进行。
八、和 Claude Code / Codex 的本质差异
表格
| 维度 | DeepSeek Harness | Claude Code | Codex |
|---|---|---|---|
| 架构 | 插件化薄内核(Cordis) | 单体架构 | 单体架构 |
| 开源 | MIT 完全开源 | 闭源 | 闭源 |
| 模型绑定 | 模型是插件,可换任意模型 | 绑定 Anthropic 模型 | 绑定 OpenAI 模型 |
| 运行模式 | 4 种预设,可自定义 | 单一编码 Agent 模式 | 单一编码 Agent 模式 |
| 可观测性 | 只追加事件日志,可恢复 / 分叉 / 重放 | 有日志,但可重放能力弱 | 有运行记录 |
| UI | UI 是插件,可替换 | 固定 CLI/TUI | 固定 CLI/TUI |
| 沙箱 | 沙箱是插件,可换 | 内置沙箱 | 内置沙箱 |
| 当前状态 | v0.1 开发者预览 | 相对成熟 | 相对成熟 |
| 生产就绪 | 官方警告破坏性变更,不建议上生产 | 可用于生产 | 可用于生产 |
核心差异:Claude Code 和 Codex 是产品,Harness 是平台 / 内核。前者给你一个成品 Agent,后者给你一堆零件让你组装自己的 Agent。定位不同,不是直接替代关系。
九、适合谁,不适合谁
适合
- Agent 框架开发者:想基于插件化内核做自己的 Agent,不用从零造运行时;
- DeepSeek 模型重度用户:Harness 是把 V4 系列模型变成可靠自主编码 Agent 的官方推荐运行时,未来协同优化会最好;
- 私有化 / 数据主权团队:MIT 全开源栈,模型 + 框架都可控,无厂商锁定;
- 关注 Agent 基准测试的人:理解跑分在 Minimal 模式下产生,避免被数字误导;
- 想做垂直领域 Agent 的团队:基于 Harness 组装插件,快速搭建行业专属 Agent。
不适合(现阶段)
- 想直接上生产的团队:官方明确警告 v0.1 是开发者预览版,会有破坏性变更,核心插件和 API 还在快速迭代,别钉死在生产系统上;
- 纯小白 / VibeCoding 普通用户:偏开发者向,需要 Node.js、插件系统等技术基础,不像 Trae/Cursor 开箱即用;
- 只想用现成编码助手的人:直接用 Claude Code / Codex / Trae 更合适,Harness 是用来 “造 Agent” 的,不是直接 “用 Agent” 的。
十、总结
DeepSeek Harness 的发布,标志着 DeepSeek 从 “只做模型” 正式进入**“模型 + Agent 运行时” 全栈竞争**。
几个核心判断:
- 插件化架构是正确方向:Agent 领域还在快速演化,把能力拆成可替换插件,比单体架构更有生命力;
- 可观测性是 Agent 工程化的关键:可重放的事件日志让 Agent 调试从玄学变成工程;
- MIT 全开源是 DeepSeek 的护城河:在闭源为主流的市场里,全开源栈对私有化和开发者生态有极强吸引力;
- 现阶段是尝鲜期,不是生产期:v0.1 迭代会很快,适合学习、做插件、做原型,不适合直接跑生产业务;
- Agent 能力 = 模型能力 × 框架能力:模型再强,没有好的运行框架,Agent 一样跑偏、死循环、调不对工具。2026 下半年,Agent 框架的竞争才刚刚开始。
GitHub 地址:https://github.com/deepseek-ai/deepseek-harness 官方页面:https://deepseek.com/harness/
CSDN 标签 #DeepSeekHarness #AIAgent #Agent框架 #DeepSeek #开源Agent #Cordis #VibeCoding #Agent运行时
- 原文作者:知识铺
- 原文链接:https://index.zshipu.com/ai002/post/20260818/DeepSeek-Harness-%E7%A1%AC%E6%A0%B8%E5%85%A8%E8%A7%A3%E6%9E%90DeepSeek-%E5%AE%98%E6%96%B9%E9%A6%96%E6%AC%BE-Agent-%E6%A1%86%E6%9E%B6%E4%B8%80%E5%88%87%E7%9A%86%E6%8F%92%E4%BB%B6%E7%9A%84%E5%BC%80%E6%BA%90%E8%BF%90%E8%A1%8C%E6%97%B6_deepseekharness-csdn-CSDN%E5%8D%9A%E5%AE%A2/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。
- 免责声明:本页面内容均来源于站内编辑发布,部分信息来源互联网,并不意味着本站赞同其观点或者证实其内容的真实性,如涉及版权等问题,请立即联系客服进行更改或删除,保证您的合法权益。转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。也可以邮件至 sblig@126.com

