8 月 13 日晚,DeepSeek 开源了 DeepSeek Harness(命令行叫 dsh)。上线数小时 GitHub 星标破 3.3 万,几天冲过 14 万。
很多人第一反应是:DeepSeek 版 Claude Code 来了。
看完源码结构和架构文档之后,我的结论是:它不是 Claude Code,甚至不是一个「产品」。它赌的是另一个东西——Agent 时代的底座。
公式就写在门脸上:
Model + Harness = Agent
模型负责想,Harness 负责把想法放进受控环境里跑起来。DeepSeek 开源的是后半个等式。
一、先看它不是什么
dsh 不带模型、不带 API key、不带任何厂商绑定。装完之后你需要自己配置模型路由——DeepSeek 官方 API、Anthropic、OpenAI、Bedrock、Azure、Gemini,或者任何兼容端点都行。
它也不是一个开箱即用的编码助手。文档里用大写字母写着:开发者预览版,会有破坏性变更。
那它是什么?一个运行时框架。模型适配器、工具注册表、会话日志、沙箱、调度、Web UI——这些让模型「能干活」的东西,全部由插件提供。
二、「一切皆插件」是字面意思
大多数框架说「插件化」,意思是核心之外留了扩展点。dsh 的做法激进得多:
连 Agent 循环本身都是插件。
文档里最锋利的一刀是:agent 是一个接口缝(seam),agent-loop 只是它的一个具体实现。插件只依赖 agent 这套词汇表,从不依赖某个具体实现——换掉整个编排循环,改一份 Cordis 配置文件就够了。
底层是一个叫 Cordis 的微内核(北大和 DeepSeek 的研究者为它发过一篇论文,讲「时空可组合性编程范式」)。这个内核自己不带任何 Agent 能力,只做三件事:加载插件、卸载插件、管理插件依赖。像一块乐高底板,只提供卡槽。
能力从哪来?从你插上去的插件来:
┌────────┬────────┬───────────┬────────────┬──────────────┐
│ 模型 │ 工具 │ 会话/存储 │ 沙箱/调度 │ Web UI │
│ 适配器 │ 注册表 │ 日志 │ │ │
└────────┴────────┴───────────┴────────────┴──────────────┘
└────── 全部插在 Cordis 内核上 ──────┘
拔掉一个插件就少一种能力,插上一个就多一种。想给 Agent 断网?不挂 web-search 插件就行。想把 shell 从本地切到远程沙箱?换一个 Provider 实现,模型看到的工具接口一个字都不用变——因为在架构上,一个「缝」拆成了三个解耦的角色:服务定义(接口)、服务提供者(实现)、消费者(模型看到的工具)。
这套设计带来的一个有点魔幻的结果:由于 Claude Code、Codex 这类东西也可以被当作插件接进来,dsh 可以编排自己的竞争对手——让 Claude Code 作为子代理在 DeepSeek 编排的工作流里干活。「编排者」和「被编排者」的边界,在一切皆插件的世界里变得很模糊。
三、一周三更,都在改什么
发布一周内,dsh 从 v0.1.0-rc.6 连续更到 v0.1.1-rc.1,主线非常清晰:
- 多模态。8 月 21 日视觉模型 V4-Flash-Vision-Exp 上线当天,模型适配器就新增了这个选项,并支持原生图片请求。模型和框架同一天更新——多模态 Agent 是作为整体在推进的。
- 子代理协作。多 Agent 编排能力增强。
- 跨平台兼容与体验打磨。
预置了四种运行模式(一份 cordis.yml 就能切换):标准模式是完整编码智能体;极简模式只留 bash 和文件编辑器两个工具,适合做受控评测;代码模式最有意思——不再把工具一个个暴露成函数调用,而是生成一个 TypeScript SDK 让模型直接写程序,五次工具往返压缩成一次调用,token 和延迟都省;创作模式面向插件实验和自定义组合。
社区侧,带 dsh-plugin 标签的插件已经接近 300 个。
四、免费送框架,涨价卖推理
有一个时间点值得玩味:dsh 以 MIT 协议开源的同一天,DeepSeek 上调了 V4-Pro 的 API 价格(峰值输入 1.32 美元/百万 token,输出 3.96 美元)。
这两件事是一枚硬币的两面:编排层免费开放,推理层按量收费。
Harness 白送给你改,跑起来烧的每一个 token 都记在账上。项目负责人的说法更直白:「闭源提供现在,开源让用户掌握未来。」
这背后还有一个务实的判断:模型和 Agent 的能力远未收敛,今天正确的循环设计、工具协议,明天可能整个被推翻。与其押注「现在选对」,不如保证「随时能换」。而记忆、调度、沙箱、多 Agent 这些方向,DeepSeek 一个小团队也探索不完——把 Harness 开源变成插件市场,等于把探索问题分包给了全世界。
五、泼三瓢冷水
热闹归热闹,几个事实还是要摆出来:
第一,主循环没有革命。 想一步、调工具、看结果、再想——还是那个熟悉的 ReAct 模式,和 Claude Code、Codex 并无本质不同。dsh 的差异不在循环长什么样,而在循环周围的一切怎么组装。Claude Code 把它们焊死成成品(换来稳定),dsh 什么都不焊(换来永远可替换)。焊接给你稳定,拼装给你退路。
第二,它还很糙。 开发者预览版,破坏性变更明码标价,UX 粗粝,生态年轻。别急着上生产。
第三,「可组合」是有税的。 配置层的自由对应配置层的心智负担,当一切皆插件,理解一个 Agent 环境的实际能力边界,本身就是一项工程。
结尾:竞争正在换楼层
如果说过去两年大家在比谁的模型更聪明,dsh 参与的是另一场比赛:Agent 应该用什么标准件来搭建。
Node 之于 JavaScript 有 npm,容器编排有 Kubernetes,Agent 时代的标准件还在竞争中——MCP 在争工具接入层的标准,而 Harness 们(Claude Code、Codex、WorkBuddy、dsh)在争运行时的组织方式。dsh 的答案是最激进的那个:不选边、不焊接、一切可替换,把「底座」本身做成开源的公共品。
这条路如果走通,Agent 基础设施的分工会长得非常像今天的云原生栈。如果走不通,它至少证明了一件事:在 Agent 竞争从模型层迁移到框架层的这一局,开源仍然是最高效的攻击姿态。
我会继续追这个项目的迭代。下周多模态子代理协作的实际体验,值得单独再写一篇。

评论(0)
暂无评论,来抢沙发~
请 登录 后发表评论