8月13号晚上,DeepSeek Harness v0.1突然开源了。我一开始没太当回事——市面上"类Claude Code"的东西太多了,换汤不换药。但看到GitHub上12小时冲到5万Star的数据,还是没忍住,熬夜测了一整晚。
测完之后我的结论是:Harness根本不是"又一个Claude Code",它俩甚至不在同一个赛道上。
这篇文章不讲虚的,直接说实操体验和对比结论。
先搞清楚Harness到底是什么
很多人第一眼看到"Harness"这个词容易懵。官方的定义很直接:
Agent = Model + Harness
模型是大脑,只管思考和推理。Harness是手脚和神经系统——工具调用、任务规划、执行调度、沙箱、存储、循环,所有让模型"能干活"的工程活儿,全包了。
DeepSeek官方定位很明确:直接对标Claude Code。但区别在于,Claude Code是"成品工具",Harness是"开发者底层工具"——给你一套能自己搭Agent技术栈的底座,而不是一个开箱即用的终端助手。
我实测的几个核心体验
- 安装体验:比想象中简单
官方提供NPX方式运行,需要先装Node.js。我用的是一台16GB的Mac mini,npx -v确认版本后,复制官方启动命令直接跑,第一次运行NPX会提示安装相关包,确认就行。
不过需要先去DeepSeek开放平台买Token、配置API Key才能正式对话。
目前只有网页版,界面风格从蓝色变成了黑色,LOGO也从蓝鲸换成了黑鲸——据说这是要把Harness当独立生态经营的信号。
- 四种运行模式,各有各的用途
点击对话框的模式选择,能看到四种预设:
标准模式:功能完整的编码Agent,支持文件编辑、Shell、Skills、子Agent等
PTC模式:先让模型生成脚本再执行,适合批量操作
极简模式:只有bash和文件编辑两个工具,主要用于基准测试
创造模式:可以创建自定义Agent预设
我主要用的标准模式和创造模式。标准模式应付日常开发够用了,创造模式确实有点意思——你可以让Agent帮你生成一个新的Agent预设,相当于"用Agent造Agent"。
- 插件机制:这才是重头戏
Harness最大的卖点是"一切皆插件"。我刚开始以为就是普通的外挂插件系统,结果发现它狠到什么程度——
连模型适配器、工具注册表、会话日志、Agent循环本身,全都是插件。
也就是说,在Claude Code里你只能走Skill、MCP Hooks这些外围扩展,核心动不了。而在Harness里,你可以直接在配置层把任何一个组件替换掉,一行源码都不用改。
更夸张的是,Harness内置了把Claude Code和Codex作为子Agent调用的Provider——通过解析PATH里的对应二进制文件实现委托执行。这意味着你可以用Harness做上层编排,把Claude Code和Codex纳入更大的工作流,而不是取代它们。
我测了一下,确实能把Claude Code当子Agent调,上层由Harness做任务分解和调度。这个能力在Claude Code里根本做不到。
和Claude Code的核心对比
- 架构层面:封闭成品 vs 开放底座
Claude Code是Anthropic对着自家模型深度调优出来的产品,模型和工具链长在一起。好处是开箱即用、体验顺滑;坏处是——模型迭代太快了,框架跟着模型一起过时。
Harness反过来,大模型只是技术栈里一个可随时换掉的零件。官方文档写得清楚:"不存在需要打补丁的特权内核,扩展dsh的方式是把插件挂载到其他插件旁边"。
说白了,Claude Code是精装房,墙不能拆、格局不能动。Harness把施工图和所有预制件都开源了,墙随便拆、零件随便换。
- 成本层面:差距巨大
有第三方团队用同一批30个Agent任务做了横评,把DeepSeek V4 Flash接进8套不同的Harness测试。结果:
Pi Agent每个成功任务成本约0.028美元,Claude Code是0.195美元,差了将近7倍。
速度上Claude Code最快,中位耗时122.7秒。但考虑到成本差距,Harness方案在批量任务场景下的性价比优势非常明显。
- 批量运行:Harness的杀手锏
这是我觉得Harness比Claude Code强最多的地方。
Claude Code和Codex都是交互式会话工具,批量无人值守任务需要大量人工干预,而且无法程序化循环控制每个子任务。
Harness提供了Headless模式,可以逐文件或逐模块批量运行。官方Python SDK支持程序化循环:
from deepseek_harness import DeepSeekHarness
modules = ["src/api/users", "src/api/orders", "src/api/billing"]
with DeepSeekHarness(
provider="deepseek-official",
model="deepseek-v4-flash",
cwd="/path/to/repo",
) as harness:
for module in modules:
result = harness.run(
f"Migrate fetch() calls in {module}/ to HttpClient.",
session_id=f"migrate-{module.replace('/', '-')}",
)
跨仓库大规模代码迁移、批量跑测试、无人值守流水线——这些场景下Harness的Headless模式完胜Claude Code。
- 调试和可观测性
Harness所有模型可见的内容都写入追加式Session日志,原则是"Model-visible means logged"。在Trajectory视图里可以按来源查看:
哪些系统提示词段落被激活
每次工具调用的输入参数和返回结果
模型原始响应
Claude Code也有会话记录,但颗粒度和可审计性差了一个量级。Harness这套对需要做Agent行为取证调试的团队来说,几乎是刚需。
- 生态和社区
截至我写这篇文章时,Harness GitHub Star已经突破13.5万。发布当天,标着dsh-plugin标签的第三方插件仓库就冒出了288个。
MIT协议开源,社区活跃度肉眼可见地高。相比之下Claude Code的闭源生态,扩展能力完全受限于Anthropic开放的接口。
谁该选谁?
我个人的判断和社区一些分析一致:
选DeepSeek Harness,如果你:
重视开源、插件重组与自定义执行环境
需要批量无人值守任务(Headless模式)
想把多个AI工具(包括Claude Code/Codex)统一编排进一个工作流
需要完整的可审计执行轨迹
对成本敏感,尤其批量场景
选Claude Code,如果你:
要成熟的终端体验和现成工作流
需要快速团队落地,不想折腾配置
日常交互式编码为主,没有批量需求
对预览版风险容忍度低
一些槽点
说完了优点,也吐槽几个实际体验中碰到的问题:
目前只有网页版,没有CLI。官方确实没提供命令行工具,对习惯终端操作的开发者不太友好。虽然可以用Headless模式跑,但日常交互还是得开浏览器。
v0.1开发者预览版,稳定性一般。官方自己都说了"核心插件与基础接口后续还会继续迭代"。我实测过程中偶尔会遇到会话卡死,需要刷新页面。
配置有一定学习成本。Harness的灵活性是有代价的——你得先理解Cordis的插件机制、Profile和组合包的概念,不像Claude Code那样装上就能用。
API Key和Token管理。Harness本身不提供模型,需要自己配置DeepSeek或其他厂商的API Key。对只想"开箱即用"的用户来说多了一道门槛。
总结
花了一整夜测下来,我的感受是:
Claude Code是"更好的终端编程助手",Harness是"更开放的Agent底座"。
两者的关系不是替代,是分层。Harness可以把Claude Code当成一个子Agent来调用——你能想象Claude Code反过来把Harness当子Agent调吗?不能,因为架构决定了它做不到。
Harness真正强的地方,在于它把Agent的每一个组件都拆成了可插拔的零件,然后把这些零件还给了开发者。你不再被任何一个厂商的闭源实现锁死——模型可以换、工具可以换、会话管理可以换、连Agent循环本身都可以换。
对于有定制需求、要做批量自动化、或者想把多个AI工具整合进一个工作流的团队来说,Harness的价值是Claude Code给不了的。
当然,如果你只是想找个好用的编码助手、不想折腾配置,Claude Code依然是最稳的选择。
Harness才v0.1,后面怎么演化还不好说。但"一切皆插件"这条路,方向是对的。