Back

DeepSeek Harness深度解析:一切皆插件的Agent运行底座,与Codex/Claude Code的本质区别

2026年8月13日深夜,DeepSeek在发布V4 Pro正式版、宣布V4系列API改为峰谷分时计价几个小时后,悄悄抛出了一个开发者预览版项目:DeepSeek Harness(命令行叫 dsh)。

它用MIT协议开源,仓库挂在 github.com/deepseek-ai/deepseek-harness。发布后29小时突破9万星标,内测期间社区已经开发出约300个插件。

但真正值得玩味的,不是它又做了一个"类Claude Code"的编码助手。而是它把那句业内共识 "Agent = Model + Harness" 当成了产品哲学,用一套"一切皆插件"的架构,把过去被厂商封死在壳子里的每一个组件都拆成了可以热插拔的插件。

一、Harness到底是什么

1.1 从一个比喻说起

Harness直译是"挽具""马具"——套在马身上那套缰绳和挽具。这个比喻其实特别准:

  • 模型是一匹马力很强的马,它能跑、能思考,但你没法直接控制它往哪跑、跑多稳
  • Harness就是那套缰绳和车厢,负责把马(模型)和组织文件、执行命令、调用工具、管理上下文、做任务规划这些"让马真正拉车干活"的组件绑在一起

DeepSeek官网给出的等式很直白:

Agent = Model + Harness

模型负责思考和生成,Harness负责把模型接入现实世界——文件系统、终端、网页、API、权限、计划、上下文。这两样合起来,才是能自主行动、把任务真正干完的Agent。

1.2 容易踩的坑:它不是DeepSeek Code

这里有个关键区分:

  • DeepSeek V4 是模型
  • DeepSeek Harness 是让模型干活的"操作系统层"

它俩不是一回事。这也是为什么DeepSeek自家这个东西不叫"DeepSeek Code"。叫Code的(Claude Code、Codex、Kimi Code)定位是AI编程助手;而Harness的定位是更底层的"Agent执行底座"——编码只是它官方预置的一套组合,你完全可以用它拼出跟编程毫无关系的Agent

回过头看,Claude Code、Codex这类产品本质上是把Harness那一层做成了闭源成品:工具、Skill、会话管理、沙箱、调度、工作流全被厂商封装进一个壳里,你用的是精装房,墙不能拆、格局不能动。DeepSeek这次干的事,等于把这套房子的施工图和所有预制件都开源了,还告诉你"墙随便拆,零件随便换"。

1.3 基本信息

  • 发布时间:2026年8月13日
  • 版本:v0.1.0-rc.7(开发者预览版,快速迭代中)
  • 开源协议:MIT
  • 团队负责人:崔添翼(浙江大学毕业,曾在Jane Street工作九年)
  • 安装方式npm install -g dshnpx @deepseek-ai/dsh web
  • 技术栈:TypeScript + Node.js,基于Cordis插件元框架,pnpm workspace(约50个包)
  • Python SDKpip install deepseek-harness-sdk
  • 模型兼容:内置38条模型接入路由,其中国产模型占15条,兼容DeepSeek、OpenAI、Anthropic、Google、Kimi等近40家模型提供方

二、核心架构:一切皆插件

"一切皆插件"不是一句营销口号,而是Harness最根本的设计决策。

2.1 所有Agent能力都是插件

Harness基于Cordis元框架构建,以下所有组件全部被拆成独立插件:

组件 是否可替换 说明
模型接入 可替换 38条路由,近40家模型提供商
工具集 可替换 文件、Shell、Git、搜索、MCP等
技能(Skill) 可扩展 社区已开发约300个插件
会话管理 可替换 对话历史、状态持久化
沙箱/权限 可替换 安全隔离、审批流程
存储 可替换 本地/云端/数据库
Agent循环 可替换 ReAct/Plan-Execute/自定义
调度器 可替换 串行/并行/定时
UI 可替换 Web、Headless、终端

这意味着什么?你可以:

  • 把底层模型从DeepSeek换成Claude,循环逻辑不用改
  • 把工具执行从串行换成并行,消息格式不变
  • 把本地运行换成远端Agent会话,核心循环照常推进
  • 甚至让Agent在运行时检查自己缺什么工具,现场造一个新插件装上

2.2 插件机制的工程实现

Harness的插件配置通过两个YAML文件定义:

  • preset.yml:存放预设名称和描述
  • agent.cordis.yml:定义Agent能用哪些工具、遵守什么系统提示词、以什么方式工作

这使得自定义一个Agent预设变得非常简单。社区有人演示了如何让Harness自己去读取Cursor官方Debug模式文档,然后自动生成一个完整的"Debug模式"预设——AI给自己造工具、给自己写SOP。

2.3 与传统Agent框架的架构差异

传统的Agent框架(包括LangChain、CrewAI等)虽然也支持工具扩展,但核心的循环逻辑、消息协议、上下文管理通常是写死的。Harness的激进之处在于:它把"循环本身"也插件化了

你不喜欢ReAct那种"每步都要想一下"的延迟?可以换成Plan-then-Execute(先出完整计划再批量执行)。你需要确定性流程?用PTC模式写TypeScript脚本。你想试验全新的Agent范式?直接替换循环插件,不用fork整个项目。

三、四种内置预设模式

Harness内置了四种预设,对应四种运行模式。你可以在对话框上方的模式选择器里直接切换。

3.1 标准模式(Standard)

完整的编程助手,能理解需求、修改代码、运行命令并检查结果。

  • 工具范围:全工具链——文件读写、Shell执行、Git操作、联网搜索、计划管理、子Agent委派
  • 循环方式:标准ReAct循环(推理→工具调用→观察→再推理)
  • 适用场景:日常开发、需求实现、Bug修复、代码重构

这是最接近Codex/Claude Code默认体验的模式。

3.2 PTC模式(Programmable Tool Calling)

支持用TypeScript编写小程序,将多步操作组合成自动化流程。

  • 核心能力:不再让LLM一步步决策每个工具调用,而是允许你用代码编写确定性的工具调用序列
  • 适用场景:批量处理、CI/CD自动化、重复性工作流、需要精确控制的场景
  • 独特价值:LLM负责"做什么",TypeScript负责"怎么做",兼顾灵活性和确定性

这个模式在Codex和Claude Code中没有直接对应物。它更接近把Agent能力和传统脚本编程融合在一起。

3.3 极简模式(Minimal)

仅保留终端和基础文本替换工具。

  • 工具范围:Shell + 基础文件编辑
  • 特点:最低延迟、最少Token消耗、最可控
  • 适用场景:简单明确的改动、模型基准测试
  • 背景:DeepSeek官方此前就用这个模式测试V4模型的Agent能力

3.4 创造模式(Creative)

额外支持运行时检查、尝试插件,适合创作类任务和探索性工作。

  • 核心能力:Agent可以在运行时动态发现、安装甚至创建新插件
  • 特点:最大灵活性,但行为最不可预测
  • 适用场景:探索新工作流、创作类任务、开发新插件本身
  • 隐喻:如果说标准模式是"一个熟练的程序员",创造模式更像"一个会给自己造工具的发明家"

3.5 模式对比速查

模式 工具范围 自主性 确定性 典型用途
标准 全工具链 日常开发
PTC 可编程 自动化流程
极简 Shell+编辑 简单改动/基准测试
创造 动态扩展 最高 探索/创作

四、与Codex、Claude Code的全方位对比

4.1 本质定位差异

这是三者最根本的区别:

维度 Codex Claude Code DeepSeek Harness
定位 AI编程产品 AI编程产品 Agent运行底座/框架
类比 精装房,拎包入住 精装房,拎包入住 乐高积木,自己拼
开源 CLI部分开源(Apache 2.0) 闭源 MIT完全开源
模型绑定 绑定OpenAI模型 绑定Anthropic模型 不绑定,兼容近40家
目标用户 想要开箱即用的开发者 想要可靠编程助手的开发者 想要自定义Agent工作流的开发者/团队

Codex和Claude Code在做"最好用的编程Agent",Harness在做"造Agent的Agent工厂"。

4.2 Agent循环对比

三者底层都是ReAct循环(Thought → Action → Observation),这是2022年Yao等人提出的范式,也是现代Agent的基石。但控制方式有显著差异:

Codex的循环

OpenAI在2026年1月专门发博客拆解了Codex的Agent Loop:

用户输入 → 构建Prompt → LLM推理 →
  ├─ 生成最终回复 → 返回用户(结束)
  └─ 发起Tool Call → 执行工具 → 结果追加到Prompt → 再次推理(循环)
  • 单轮对话内循环,一个turn可能包含数百次tool call
  • 上下文窗口管理是核心职责
  • 通过Responses API驱动,支持本地Ollama/LM Studio(--oss模式)
  • 每次发送新消息,完整对话历史(包括之前所有tool call)都会纳入新提示

Claude Code的循环

Anthropic称之为"Agentic Loop",官方将循环分为四类:

  1. 轮次制循环(Turn-based):用户发一条消息,Agent收集上下文→执行动作→验证结果,直到完成
  2. 目标制循环(Goal-based):通过/goal设定目标,Agent自主多轮工作直到达成
  3. 时间制循环(Time-based):通过/loop 5m设定时间间隔,周期性执行(如每5分钟检查PR状态)
  4. 主动式循环(Proactive):通过/schedule创建常驻排程任务,事件触发,无人值守

核心三阶段:收集上下文 → 执行动作 → 验证结果。有续轮恢复机制——模型不调工具时不立即结束,系统会先尝试几条恢复路径,只有恢复都失败了才真正结束。

Harness的循环

  • 标准模式下同样是ReAct循环
  • 但循环本身是插件,可以替换
  • PTC模式允许用TypeScript编写确定性流程,不完全依赖LLM决策每一步
  • 多Agent编排内置支持,可将复杂任务拆解给子Agent并行或串行执行
  • 你可以换成Plan-then-Execute、ReWOO或完全自定义的循环逻辑

4.3 工具与扩展能力

维度 Codex Claude Code Harness
工具来源 内置 + MCP 内置 + MCP + Skill 一切皆插件
运行时扩展 不支持 有限 Agent可运行时创建新插件
自定义模式 通过Skill Agent预设完全可定制
非编程场景 不支持 有限支持 完全支持(编码只是预设之一)
社区插件 MCP生态 Skill生态 内测期已约300个插件

4.4 模型生态与成本

维度 Codex Claude Code Harness
主力模型 GPT-5系列 Claude系列 不限
第三方模型 支持本地Ollama/LM Studio 支持Bedrock/GCP 近40家提供商
多模型路由 不支持 不支持 支持(规划用Pro、代码用Claude、简单任务用Flash)
典型成本 GPT-5.5输出约30美元/百万Token Claude定价 DeepSeek V4 Flash输出约2元/百万Token(约1/100)

Harness的一个独特优势是可以按任务复杂度做模型路由:复杂规划用DeepSeek V4 Pro,代码生成用Claude,简单文件操作用Flash模型省钱。这种细粒度的成本控制在Codex和Claude Code中很难实现。

4.5 安全与沙箱

维度 Codex Claude Code Harness
沙箱机制 内置沙箱,危险操作需审批 权限系统,操作前确认 沙箱是插件,可替换
审批流程 固定 固定 可自定义审批策略
网络访问 可控 可控 插件化控制
审计日志 可定制存储后端

4.6 长任务与多Agent协作

Codex

  • 支持Codex Cloud异步任务(在云端跑长时间任务)
  • 上下文窗口管理是核心挑战(单轮可能数百次tool call)
  • 子Agent能力相对有限

Claude Code

  • /goal支持目标驱动的长任务
  • /loop/schedule支持周期性任务(本地最小间隔1分钟,云端最小1小时)
  • 子Agent调度:大任务拆给子Agent,避免主上下文塞满
  • 计划常驻上下文,防止"上下文腐烂"(执行中忘记原始目标)
  • Skills系统编码工作流程和约束

Harness

  • 内置项目管理、超长任务协作、多智能体协同编排
  • 上下文管理、联网搜索、Skill功能
  • 因为插件化,可以接入任意后端做任务持久化和状态管理
  • PTC模式可以把复杂流程固化为可复用的TypeScript程序

五、Harness的战略意义

5.1 从模型层延伸到执行层

过去DeepSeek以"便宜好用的模型供应商"闻名。Harness的发布意味着其竞争力从模型层延伸到了Agent执行层。

这很关键,因为行业逐渐形成一个共识:模型能力的边际差异在缩小,而Harness(执行层)的质量直接决定了模型能力能否落地。一个顶级模型配上糟糕的Harness,表现可能不如一个中等模型配上优秀的Harness。

5.2 模型与Harness互相优化的闭环

有了自己的Agent产品,DeepSeek可以获得真实的编码任务反馈:

  • 模型在哪些类型的tool call上容易出错?
  • 上下文多长时性能开始下降?
  • 什么样的提示词模式最有效?

这些反馈直接回流到模型训练中,形成"模型迭代→产品验证→反馈优化"的闭环。这也是OpenAI做Codex、Anthropic做Claude Code的核心逻辑——不经过真实Agent任务打磨的模型,不知道自己缺什么

5.3 争夺Agent公共底座

Harness不强制绑定DeepSeek模型,反而兼容近40家第三方模型。这看起来是"吃亏"——帮别人做生态。但实际上是一个更深的布局:

一旦开发者开始围绕Harness做插件、工具、企业流程集成,用户迁移成本会越来越高。哪怕接入的不是DeepSeek模型,生态也运行在DeepSeek设计的框架上。这是争夺未来Agent公共底座的关键布局,类似VS Code之于编辑器、Docker之于容器。

5.4 为什么是现在

要理解Harness的发布时机,得把它和同一周的另外两件事放一起看:

  1. DeepSeek V4 Pro正式版(8月13日):1.6万亿总参数MoE,每token激活490亿,100万上下文,Terminal Bench 2.1得分87.9
  2. V4系列API峰谷分时计价:通过价格杠杆调节算力使用
  3. Harness开源:补齐模型落地的最后一环

三件事形成组合拳:模型能力够强了 → 成本够低了 → 给开发者一个能把能力用起来的框架。

六、Harness的局限与挑战

6.1 还很早期

当前是v0.1.0-rc.7开发者预览版,官方明确警告"后续快速迭代中可能出现破坏兼容性的修改,核心插件与基础接口也会持续演进"。

GitHub仓库目前不开放PR与Issue,讨论集中在Discussion区。这意味着社区贡献机制还没完全建立。

6.2 对普通用户不够友好

有开发者评价Harness"粗糙得劝退普通人"。它的目标用户是开发者,而不是终端用户。Codex和Claude Code装好就能用,Harness需要你理解插件、预设、Cordis框架这些概念。

这是有意为之的设计取舍——DeepSeek想做的不是又一个"装好就用"的Agent产品,而是让开发者一起搭建下一代Agent的底座。但这也意味着短期内它很难像Claude Code那样在普通开发者中快速普及。

6.3 生态还在早期

内测期约300个插件听起来不少,但和MCP生态(数千个服务器)、Claude Skill生态相比还有数量级差距。插件质量也参差不齐。

6.4 "一切皆插件"的代价

极度灵活的反面是极度复杂。当每个组件都可以替换时,调试和排错变得困难——问题可能出在模型、工具、循环、沙箱、存储中的任何一个插件,也可能出在插件之间的交互上。对于企业级采用,这种复杂度需要配套的可观测性、版本管理和最佳实践来消化。

七、谁该用Harness

适合的场景

  • 需要深度定制Agent工作流的团队:企业有独特的开发流程、审批机制、内部工具,Codex/Claude Code的固定流程无法满足
  • 想要模型无关的Agent框架:不希望被单一模型厂商锁定,需要按任务灵活切换模型
  • 构建非编程类Agent:客服、数据分析、运维自动化、研究助手等——编码只是Harness的一个预设
  • 需要精确控制成本:通过模型路由,不同任务用不同价位的模型
  • 想要参与Agent生态建设:插件开发者、工具厂商、系统集成商

不太适合的场景

  • 只想快速写代码:直接用Codex或Claude Code,体验更成熟
  • 非开发者:Harness的学习曲线较陡
  • 需要企业级SLA和支持:目前是社区驱动的开源项目,没有商业支持
  • 追求稳定生产环境:v0.1预览版,API可能频繁变动

八、总结

DeepSeek Harness代表了Agent领域一个重要的分化方向:

  • Codex路线:最好的模型 + tightly integrated的工具 = 最优的开箱体验
  • Claude Code路线:最安全可靠的Agent + 丰富的循环控制 = 最值得信赖的编程伙伴
  • Harness路线:所有零件都可编程 = 最灵活的Agent工厂

三者底层共享同一个ReAct范式,但在上层走向了不同的产品哲学。Codex和Claude Code在证明"Agent能做到什么",Harness在探索"Agent还能成为什么"。

对于整个行业来说,Harness的开源是一个重要事件。它把"Agent = Model + Harness"这个共识从一句口号变成了一套可运行、可修改、可扩展的开源代码。无论你是否使用DeepSeek的模型,这个框架都值得关注——因为它可能在定义下一代Agent应用的构建方式。

官方仓库:https://github.com/deepseek-ai/deepseek-harness

快速体验:npx @deepseek-ai/dsh web

评论