玩了一夜DeepSeek Harness,我发现它在用《我的世界》的方式干掉Claude Code
8月13日晚上,DeepSeek干了两件事。
先宣布API调价,几个小时后,甩出了DeepSeek Harness v0.1开发者预览版,MIT协议,代码全开。
我们当晚就装上了。一行命令的事:
- npx @deepseek-ai/dsh web
浏览器打开你自己的本地网址就进去了。
在这里可能要先说说Harness是什么,因为预感接下来这词要爆。
它的原义是马具,缰绳。在agent语境里,它指模型之外的那一整套工程外壳——让模型能读文件、调工具、管上下文、失败了重试、连续干活几个小时的系统。
DeepSeek官方的说法是,模型是agent的灵魂,harness让agent在真实环境里理解处境、使用工具、持续工作。Claude Code商业上跑通之后,这一层成了所有模型公司的必争之地,DeepSeek今年3月挖来前Jane Street工程师崔添翼,专门组了个团队干这个。
当时,所有人都以为DeepSeek要做的是自己版本的Claude Code。
直到DeepSeek Harness上线。
1
一个骨骼轻奇的产品
打开DSH,是一个网页版的coding agent。
左边是会话列表,按工作区组织,一个工作区对应你本地的一个项目目录;中间是对话区,你说需求,它读文件、写代码、跑命令,每一步的工具调用都摊开在时间线上。整体观感介于Claude Code和一个网页IDE之间,只是它跑在你自己的机器上,界面开在浏览器里。
它自带四种模式。
标准模式是全套:文件编辑、shell、文件和网页搜索、技能、规划、目标管理、子agent、工作流,一个完整的编程agent。
PTC模式换了一种干活方式——工具通过一个Code Mode SDK暴露给模型,模型直接写一段TypeScript程序,把本来要一来一回调十次的工具操作合并成一次执行。
极简模式做减法,只留一个持久bash和一个文件编辑器,两个工具。官方说这是给模型做基准测试用的——外壳的花活全部拆掉,看模型的裸实力。
创造模式最特别,它是用来造新模式的,这个后面是我最想细说的。
除了模式,DSH还有一个我们认为被低估的设计,叫Trajectory(轨迹)。模型看到的一切——系统提示词、推理过程、工具调用和结果、子agent的调度、每一次上下文注入——全部记录在一份只增不改的会话日志里。你可以在Trajectory视图里按来源逐条检查这些记录,而恢复会话、分叉会话、搜索、回放,全在同一条事件流上操作。相当于agent的每次运行都自带一个黑匣子,出了问题可以完整复盘它到底看到了什么、为什么这么做。
到这里为止,它似乎就是一个设计得相当扎实的Claude Code平替:免费,开源,本地跑,可追溯。
然后我们点开了它的插件页面。
这一夜就没睡成。
2
288个插件仓库,和一只鲸鱼娘
DeepSeek给Harness的口号就是:一切皆插件。
DSH的插件生态入口很朴素,GitHub上一个叫dsh-plugin的topic,谁的仓库打上这个标签,就能被发现。社区已经建了目录站,其中一个叫awesome-dsh-plugins的仓库做了每日兼容性追踪,我们看的时候,它收录了288个插件仓库。
注意,这是一个发布还不到24小时的产品。
288个仓库不是一夜冒出来的。翻一下dsh-external这个社区组织就明白,里面有"DSH内测群聊日记归档"、"内测用户排行榜"这样的仓库——这个生态在内测期已经建设了一个多月。
我们从目录里开始挑着装。
先体验了几个:
dsh-plan-execute,一个双模型路由插件。plan模式用推理型模型做规划,用户批准后自动切换到执行模型干活。两个模型各干各的擅长的事,账单立省一截。
dsh-vision,给纯文本的DeepSeek模型装一双眼睛。它加一个view_image工具,桥接任意OpenAI兼容的视觉模型,DeepSeek负责思考,另一个模型负责看图。
装完这两个插件,我突然发现,这里面一个改的是"用哪个模型",一个改的是"模型有什么能力"。
而在Claude Code里,这两件事根本轮不到用户碰的——模型是Anthropic定的,能力是Anthropic给的。
但在DSH里,它们和换个主题皮肤是同一个操作。
就这么简单。DeepSeek认为,这就是个皮肤。
接下来我发现, 甚至模型,在这个系统里同样没有特殊地位。
DeepSeek自己家的模型也没有。它也就是又一个插件而已。
这种思路下,其他插件就开始显得更加放飞。
dsh-qq2006,把整个界面换成2006年QQ的皮肤。dsh-ui-whale,标题栏常驻一只手绘像素鲸鱼,平时眨眼,偶尔摆尾。还有whale-girl,QQ宠物形态的鲸鱼娘桌宠,可以拖拽、投喂。
dsh-ads,一个我们看到简介就笑出声的插件——"是兄弟就来蹬我!",给DSH的Web界面加上2005年中文站点风格的侧栏广告。然后目录里紧挨着就有一个dsh-anti-ads,专门屏蔽上面那个插件的广告。
广告是插件,去广告也是插件。这个生态自己已经完成了一轮攻防。
dsh-stock-market,简介原话:"有效解决了写代码的时候账户不能同时亏钱的BUG。"
dsh-lazyfish,右侧摸鱼面板,内嵌B站播放器。dsh-gomoku,和AI下五子棋,也可以让两个AI对下,看哪个棋力强。
这,谁不都得玩上瘾?
3
这不就是《我的世界》吗
装了一些玩的不亦乐乎后,一种熟悉感越来越强。
皮肤、桌宠、小游戏、能改掉一切的mod、民间目录站、整合包——这套东西太熟悉了。
这不就是《我的世界》。
DSH本体是原版生存模式,功能齐全但朴素克制;插件是mod;awesome-dsh-plugins这类目录站是CurseForge和MC百科;社区里那些打包发布的仓库——dsh-mega直接自称"dsh整合包"。
甚至,deepseek-harness-distro干脆就叫自定义发行版——是整合包作者;教育版dsh-edu,对应MC教育版。
连mod加载器都有对应物:dsh-external组织里真有一个插件叫fabric,简介是"一种类似MC Fabric的hook处理器"。Fabric是《我的世界》最主流的mod加载器之一,很显然,起这个名字的开发者,把玩了一阵DSH后,想的和我是同一件事。
这个类比有意思的地方在于《我的世界》的商业史。
原版MC从来不是这个游戏的全部,恰恰因为原版足够朴素、足够可改造,mod社区才替它长出了无穷多个版本的MC,这个游戏才活了十几年还在长大。Mojang卖的从来不是一个封装好的游戏,是一块可以被无限改造的地基。
DSH被社区当成的,也是这样一块地基。
4
不新鲜的热插拔被玩出花
然后我开始看他们官方发的技术细节的介绍。其实,这些mod能像MC那样随装随卸,靠的是一个很硬核的技术底座。
DSH的内核叫Cordis。它出自Koishi社区——国内做QQ机器人的开发者几乎人人知道的聊天机器人框架,作者是GitHub上的Shigma。
Cordis是从Koishi里抽出来的微内核:依赖注入,插件之间靠服务和事件通信,最关键的一个特性叫"可逆副作用"——每个插件注册时产生的所有副作用都被追踪,卸载时自动回收,不留垃圾,不漏内存。
这个特性翻译成使用体验,就是热插拔。
装一个插件、卸一个插件、换一套UI,都不用重启,系统跑着跑着就把自己的一部分换掉了。我们装卸那二十几个插件的过程里,DSH一次都没重启过。
而模型、工具、技能、会话、沙箱、存储、循环、调度、UI——官方文档明确列出来,这几个明明最核心的功能,全部都是插件。连你打开自己网址看到那个界面本身,也只是一个默认挂载的插件。
沙箱方面,社区里有sandbox-micro、sandbox-mxc、sandbox-nono三个沙箱插件,对应三种隔离方案,挑一个换上就行,也就是说,agent在什么样的笼子里跑代码,也是配置项。
另外,DSH生态里还有一整排"远程渠道"插件:qqbot、dsh-weixin-bot、dsh-feishu-bot、dsh-wecom-bot、telegram。装上之后,DSH就有可能变成一个能在QQ群、微信、飞书里被@的机器人。
所以,Cordis从聊天机器人框架里被抽出来,去给DeepSeek当agent内核,然后社区用它做的第一批事情里,就包括把这个agent接回QQ和微信。
转了一圈,Koishi的魂回来了。
5
不是又一个Claude Code,而是要干死Claude Code
后半夜我去装的第三批插件,全是冲着别人家产品去的。
dsh-cc-tui,把DSH的交互换成Claude Code风格的全屏终端,像素鲸鱼顶栏,流光大字,双击Esc回退。dsh-opencode-server,给DSH实现了opencode的API,直接拿opencode的TUI当DSH的前端用。dsh-pi-adapter,让pi这个编码agent的扩展直接跑在DSH里。official-plugins-port,把Claude Code和Codex的官方插件移植成DSH插件。
dsh-session-hub和cross-harness-cite更进一步,前者把opencode、Claude Code、Antigravity的会话历史导进DSH变成可续写的会话,后者让你在DSH的对话里直接引用Claude Code的历史对话。
我试着导入了自己Claude Code的会话记录,接着聊,居然是通的。
盯着屏幕上这个长得像Claude Code、连着聊天软件、用着别家会话历史的东西,一时说不清自己在用什么。
你发现tmd它可以长成任何一个竞品的样子,因为它自己没有样子——它是一个挂载点系统,上面恰好挂了这么一堆东西而已。
软件史上把"一切皆插件"当口号的最著名产品是Eclipse。2004年前后它把整个系统重构到OSGi内核上,提法和今天DSH几乎一字不差,everything is a plug-in。那之后Eclipse就不再是一个IDE了,它变成一个平台,Java IDE只是跑在上面的一个官方发行版,后来从NASA的火星车操控界面到银行柜台系统都构建在它上面。
DSH可以说是在重演这个过程。
它的四个官方模式,说白了就是四份插件配置清单,四个官方发行版,和社区那些整合包没有地位差别。DSH的“本体”在这些东西下面沉下去了,已经是一个内核加一套协议的味道了,再拿原版MC比喻,它已经沉在几万个mod下面。
然后就是因为此,我的世界把其他同类游戏给干掉了,活下来活得最久。
再回头看官方发布公告里的用词,DSH说的是,自己"面向全球harness开发者开放"——欢迎的不是用户,是同行,是那些自己也在造harness的人。
用了一晚上,我感觉认为它是一个DeepSeek版的Claude Code的想法完全错了。
Claude Code是一个意见极其强烈的产品。工具集定死,权限模型定死,上下文怎么压缩、子agent怎么调度,全是Anthropic单方面决定的。更关键的是这些决定和模型一起演化——Anthropic用自己的harness训自己的模型,模型行为和外壳设计互相咬合。
然后用户的订阅费买的就是这套咬合,别人拆不开,也抄不走。Harness在Anthropic手里是产品,是收入,是壁垒。
如果DSH想做的是一个思路相同但更好的竞品,它的路径应该是功能对齐、体验打磨、然后推一个订阅。
但它一样都没做。
它从第一天选的路径就是把这个品类本身开源掉。
不跟你比谁的缰绳编得好,直接宣布缰绳这个东西不该收钱。看你有啥辙。
这套打法很容易就让人想到R1开放权重的时候,OpenAI藏在API后面高价出售的推理能力,一夜之间变成了人人可以下载的东西,o1的稀缺性没了,OpenAI被迫降价、调整整个产品节奏。
当时它对准的是闭源模型的溢价。这一次,DSH对准的是闭源外壳的溢价:Anthropic靠Claude Code把harness做成壁垒,DSH想要从第一天的设计上,就直接让它标价为零。
这些当然不是做公益,DeepSeek有自己清晰的算盘。
Anthropic需要harness值钱,因为它卖的是模型加外壳的整体;DeepSeek需要harness不值钱,因为这一层一旦被拉平成公共品,竞争就被压回模型本身的能力和价格上,那现在已经是DeepSeek的主场了。
这也是为何API调价和开源DSH,会发生在同一个晚上。DeepSeek需要价格和产品配合起来,开始打仗。
当然,从目前的反馈看,人们对DSH的感受是两极分化的,批评它故弄玄虚的也开始涌现。
这一晚上的体验里,也不全是正向体验。做每日兼容性追踪的目录仓库里,就出现了不稳定性,静态判定41个兼容、31个关注、9个需适配、188个待调研。运行级实测写着测了5个,可用0个,失败5个。
官方README倒是也把丑话直接用全大写字母标出:
THERE WILL BE COMPATIBILITY-BREAKING CHANGES,一定会有破坏兼容性的变更。
以及,安全这块可能会带来更大隐患和变数,dsh-external组织里有一个叫dsh-security的仓库,简介是"DSH现有的可行的攻击链demo"。
一个人人可以往里挂插件、插件能碰你的shell和文件系统的架构,攻击面有多大,不用我多说了。
现在,一切都刚刚开始,接下来我们会继续密切使用DSH,看看它带着一整个生态能走到多远。
本文来自微信公众号“硅星人Pro”,作者:王兆洋,36氪经授权发布。