DeepSeek 同周发布免费开源 agent 运行框架 DeepSeek Harness(MIT 许可,对标 Claude Code),搭配收费更高的 DeepSeek V4-Pro 模型。框架基于插件哲学,上线 72 小时狂揽 16.7 万星。
同一周内,DeepSeek 推出了通常不会搭配在一起的两样东西:一款更贵的新旗舰模型,以及一个完全开源的 Agent 运行时,且免费提供。模型是 DeepSeek V4-Pro,被定位为该公司新的 Agent 工作负载旗舰。运行时是 DeepSeek Harness——CLI 名为 dsh——一款采用 MIT 许可的 Agent 框架,DeepSeek 正在将其定位为 Claude Code 的真正替代品。公开后几小时内,该仓库获得了约 33,000 颗星。两天内已攀升至 95,000 颗以上。到我为本文获取实时数据时,已达到 167,100 颗星和 17,900 个分支——这种增长曲线是大多数基础设施项目穷其一生都无法看到的,更别说在其最初的 72 小时内。
这种组合——一个免费的、高度可扩展的 Agent 工具包,搭配一个更贵的模型来在其中运行——才是真正的故事所在,比单独看任何一个半部分都更有意义。本周很多报道把 Harness 描述为"DeepSeek 的 Claude Code 克隆",把 V4-Pro 描述为"DeepSeek 涨价,但仍比所有人便宜"。两种表述都低估了正在发生的事情。Harness 在架构上不是任何东西的克隆——它是建立在大多数 Agent CLI 都不会尝试的插件哲学之上的。而且定价举措并非事后想法;它读起来像是 DeepSeek 最终采纳了每个开源基础设施公司最终都会采用的策略:免费提供工具,对底层计算资源收费。
用 Harness 自述文档的话来说,剥开"Claude Code 竞争对手"的外壳,Harness 就是处于语言模型和开发者工作环境之间的工程层——规划、工具使用、文件读写、终端执行、测试反馈。DeepSeek 自己对此的简写很直白:Agent = Model + Harness。模型负责推理;Harness 是将推理转化为磁盘上的文件变更、命令运行、测试通过或失败的一切。
启动本地实例只需一条命令:
npx @deepseek-ai/dsh web
这会在 http://127.0.0.1:3080 启动一个 Web UI。从源码检出运行则是 git clone、pnpm install、pnpm run build、pnpm dsh web——标准的 Node.js 工具链,没有特殊的东西。该项目明确表示这是开发者预览版:自述文档以粗体警告,会有破坏兼容性的变更。在任何人将其放入生产流水线之前,这一点值得记住。
真正让 Harness 区别于大多数 Agent CLI 的部分是其基础:Cordis,一个插件框架,其设计源自一篇关于"时空可组合性"的论文。根据 Harness 自己的架构文档,实际结果是产品的每个部分都是一个插件——模型适配器、工具注册表、会话日志,以及 Agent 循环本身。没有特权核心需要打补丁。你通过将一个插件挂载到其他插件旁边来扩展 dsh,每个注册都是可逆的效果,在其插件卸载时干净地展开。
具体来说,一个运行的 dsh 实例是一个在启动时从有序层组装的插件树:
**配置文件(profile)**是一个命名组合(web 和 headless 作为内置模板提供),它列出它堆叠哪些包,以及任何用户安装的插件和一个个人的 cordis.patch.yml 覆盖文件。
**包(bundle)**是一个可分发的 Cordis 配置单元,加上它挂载的代码。dsh-base 是每个配置文件首先加载的基础——模型适配器、工具注册表、持久化、沙箱和审批策略、设置、凭证、遥测。dsh-web-app 在其上叠加一个浏览器 UI;dsh-headless 则用一个一次性运行器替换它,完全没有服务器。
层按固定顺序应用——先包,再配置文件的 patch 文件,再主目录级别的 patch,最后是命令行传入的任何 --patch 覆盖——你可以用 dsh --profile web --dump-config 检查你的机器启动的确切树。这个命令打印的任何东西,你都可以覆盖。
插件树之下是一个由轮次(turn)和步骤(step)构建的执行模型。一个步骤是一次模型请求加上从中产生的任何工具调用;一轮是零个或多个步骤,在输入被认领时开启,在没有任何欠款时关闭。单个步骤的事件管道是明确的,并按函数调用级别记录:agent/pre-step 可以重写或拒绝模型即将看到的消息,agent/request 和 llm/stream 处理实际的模型调用,每个工具调用都经过 tools/pre-execute → tools/execute → tools/post-execute。其中几个——agent/pre-step、agent/request、llm/stream、tools/* 三元组——是"瀑布"事件,意味着每个监听器必须显式调用 next() 才能传递控制权,因此没有任何东西会静默吞掉请求。
贯穿所有内容的一个不变量是:模型可见的意味着被记录的。任何到达模型请求的东西都必须可以从持久的会话事件日志中重建,运行时对此进行断言而不是信任惯例。正是这一条规则使得会话分叉、恢复、完整记录和遥测都从一个只追加的流中派生,而不是从四个可能失去同步的独立子系统中派生——这对于审计和合规来说比初读时重要得多。
最后值得指出的一部分是能力接缝(capability seams)——一个具有三个角色的可交换接口:服务定义、服务提供者和服务消费者。文档中的例子很好地说明了这一点:文件系统和子进程提供者共享一个执行世界,因此将它们指向远程沙箱会同时移动 Bash 执行、PTY 会话和 LSP 集成,而不需要为每个单独分叉。还有一个明确是实验性的、opt-in 的 Agent Teams 功能——一个持久的花名册、任务板和邮箱,叠加在可延续的子代理之上——这是 DeepSeek 在工具包中直接构建的第一方多代理编排,而不是留给第三方包装器。
Claude Code、Cursor 和大多数商业 Agent CLI 暴露一个插件或扩展 API,但核心 Agent 循环本身是封闭的,作为产品交付。Harness 反转了这一点:循环只是另一个插件,与工具注册表和模型适配器坐在同一个 Cordis 树中,无需分叉运行时即可替换。在开源方面,Aider 和 OpenHands 等项目已经证明了"开放 Agent CLI"这个类别可以运作,但两者都不是围绕一个如此深思熟虑的组合框架构建的——Harness 的 profile/bundle 系统和 --dump-config 透明度在精神上更接近 VS Code 的扩展主机或 Emacs 处理可扩展性的方式,而不是大多数终端编码代理的构建方式。
DeepSeek 也在可见地为插件生态系统进行工程设计,而不只是接受一个可能会出现:该仓库要求第三方插件作者用 dsh-plugin GitHub 主题标记他们的仓库以提高可发现性,还有一个活跃的 Discord 和 GitHub Discussions 提供支持。这是浏览器扩展商店和 VS Code 的 marketplace 早期采用的同一种引导策略——在生态系统存在之前就将发现作为一等公民,这样一旦它存在就有地方落脚。它已经在起作用:一个独立的社区维护的 awesome-deepseek-agent 列表在同一个发布窗口内出现在 GitHub 上,这是生态系统正在围绕一个版本形成的通常信号,而不是被推到一个安静的版本上。
Cordis 本身有一个二阶信号很容易错过。大多数 Agent-CLI 供应商编写自己的专用插件系统就到此为止了。DeepSeek 反而采用了一个独立的、有维护的组合框架,有自己的已发表设计论文,并将 Harness 作为它的消费者而不是反过来。这是一个真正的赌注:这意味着 Harness 的核心可扩展性模型不是 DeepSeek 可以单方面重新设计的东西,除非也与 Cordis 自己的维护者和 DeepSeek 组织之外的现有插件作者重新协商。一年后这种约束在商业压力下是否能维持,正是开发者预览标签方便地推迟了今天必须回答的那种问题。
这里是容易被跳过的一部分:V4-Pro 发布的 API 定价高于 DeepSeek 观察者基于该公司此前 V3 和 R1 时代将自己定位为 frontier labs 的激进廉价替代品所预期的。DeepSeek 没有在本文可用的来源中公布每百万 token 的细粒度价格,因此对你在其他地方看到的任何具体数字持保留态度,在你将其纳入预算之前要验证 DeepSeek 自己的定价页面——但据多家报道此次发布的媒体一致报道,变动方向是一致的:DeepSeek 最新旗舰的调用成本比其前身更高。
将其与一个不仅是开源而且被工程设计为尽可能免费、高度可扩展的工具包配对,战略的轮廓就更容易解读了。为你的 Agent 运行时引导插件生态系统最快的方法是让免费层尽可能强大,并在其下收费的计量层变现——这是驱动数据库和云基础设施商业模式十年的相同开放核心逻辑,被压缩到一周内而不是多年的逐步重新定位。
**成本:**工具包本身运行成本为零,且设计上与模型无关——ctx.llm 适配器接缝意味着你在合同上不会被锁定使用 DeepSeek 的模型。但如果你确实将其与 V4-Pro 一起使用,要预算好 DeepSeek 的廉价推理声誉不再适用于其旗舰层这一事实。
**锁定:**在模型层真正比封闭 CLI 低——交换适配器,保留你的工作流。在框架层真正不低——构建真正的 bundle 和插件意味着学习 Cordis 的 turn/step 词汇和瀑布事件约定,这是你离开时无法收回的独立投资。
开发者体验:--dump-config 给你literal的启动树,以及一个被断言(而不只是记录)包含模型曾经看到的一切的会话日志,是真正的调试优势,胜过黑盒 Agent 产品——那些产品你只能猜测什么上下文实际到达了模型。
**安全:**沙箱和审批策略是可插拔的能力接缝而不是硬编码的,这是好的架构——但可访问的文档没有详细说明默认沙箱实际在默认情况下限制了什么,而大多数团队实际运行的就是这个默认值。
可维护性:"没有特权核心,卸载时效果展开"对于你期望持续扩展多年的代码库是一个真正好的属性,而不是那些插件 API 被螺栓连接到 monolith 上的 Agent 工具——维护者仍然可以改变它而你无能为力。
构建内部开发者平台工具的团队是最明显的适用场景:一个想要将 Agent CLI 接入自己 CI 系统、自己远程沙箱和自己模型路由(DeepSeek 的模型、自托管开源模型或混合)的公司,每个需求都有一个文档化的扩展点,而不是与封闭产品的 API 表面对抗。具体来说,ctx.llm 适配器接缝意味着一个团队可以将常规重构路由到廉价的自托管开源模型,并将 V4-Pro 专门保留给它调优的 Agent 任务——所有这些都在一个 bundle 内,不需要维护两个独立的 CLI。远程沙箱能力接缝是"我希望我的编码代理的 shell 和文件系统访问运行在开发者的笔记本电脑以外的其他地方"这一需求的真正答案,而不需要分叉三个独立的子系统来实现。实验性的 Agent Teams 原语值得一看,适用于任何目前在单代理 CLI 之上手动构建多代理协调(共享任务板、邮箱、花名册)的人——DeepSeek 将其作为第一方功能而不是第三方层提出,与 Cline 的 SDK 用于构建自定义代理等可比的生态系统努力并列。
开发者预览标签不是装饰——"破坏兼容性的变更"是自述文档中的一个明确粗体警告,而在这个标签下如此快速增长的项目的 API 表面上会积累大量插件。有待公开的是,没有已发布的基准将 Agent 编码性能与 SWE-bench 等方面的 Claude Code 或 Cursor 进行比较,因此"竞争对手"目前是架构和许可声明,而不是经过演示的性能声明。可访问的文档中没有详细说明沙箱的默认安全态势——团队不进行任何配置的情况下实际被限制的是什么。对于以这个速度增长的项目,目前还没有信号表明 Harness 是否无限期保持完全免费,或者是否最终会在其上构建托管/托管服务并对其进行付费,这是这类项目的通常下一章。
如果你已经在构建自定义内部代理工具,或者你对无法检查或覆盖编码代理行为的多少感到不满,Harness 现在值得花一个下午——插件架构是真实的,不是营销,npx @deepseek-ai/dsh web 是低成本的方式来找出 turn/step 模型是否适合你的团队对代理工作流的思考。如果你今天需要生产稳定性,该项目直接告诉你等待:带有承诺的破坏性变更的开发者预览版不是你想让你的 CI 管道依赖特定插件 API 形态的地方。如果你对 Claude Code 或 Cursor 的完善程度完全满意,并且对编写自己的 bundle 或工具集成没有兴趣,Harness 销售的可扩展性不会出现在你的日常中——一个无限可插拔的核心只有在 你真正插入东西时才能收回成本。
本周真正新的不是"又一个开放的 Agent CLI"。这是一个主要的模型实验室第一次如此明确地将其 Agent 运行时作为损失领先者,架构足够严谨,以至于这个赌注可能凭借其自身的技术实力发挥作用,独立于 DeepSeek 为其背后的模型收取的费用。
**讨论:**如果一个工具包使其每个部分都可替换——包括它附带的模型适配器——开源它实际上是否减少了供应商锁定,还是只是将锁定从模型层转移到了运行时的组合范式?在将团队的代理工具承诺给它之前,你会在哪里划定那条线?
DeepSeek Harness 与 V4-Pro API 更高定价一同发布,作为 Claude Code 的开源竞争对手
DeepSeek Harness(GitHub 仓库、自述文档和架构文档)
DeepSeek V4 Pro 发布,伴随主要 Agent 升级和开源 Harness
DeepSeek Harness:为什么 2 天内获得 95,000 GitHub 星值得关注
Cordis——时空可组合性的编程范式