DeepSeek 发布DeepSeek-V4-Pro正式版和自家的 Harness 同时大幅提高API价格
219 个包、MIT 协议,你现有的 hooks 和技能能直接搬过去用
- DeepSeek 把自己的 Agent 外壳程序整个开源了,装了 Node 之后一句
npx就能跑起来。 - 别家写死在核心里的计划模式、子 Agent、权限审批、MCP,它全做成了能拆能换的插件,连主循环也是。
- V4-Pro 的公开 Agent 成绩就是拿它跑的,而跑分那份配置只给了模型两个工具。
- 同一天宣布 8 月 17 日涨价,缓存命中这一档的高峰价是现在的 12 倍。
DeepSeek 一天公布三件大事
8 月 13 日,DeepSeek 一天里公布了三件事。
一、开源 DeepSeek Harness(dsh)。一套 Agent 外壳程序,跟 Claude Code、Codex 同类。它把计划模式、子 Agent、权限审批、MCP 接入这些别家写死在核心里的功能,全做成了能拆能换的插件,连 Agent 的主循环本身也是。你现有的家当它也认:Claude Code 的 hooks 和技能直接能用,还能把子任务派给你机器上真正的 Claude Code 去做。
二、DeepSeek-V4-Pro 正式版。升级集中在动手干活的能力上,改仓库、跑命令、把一件事从头做完,这类任务的分数普遍翻倍(DeepSWE 12.8 涨到 62.7)。这块能力现在超过 Opus-4.8,贴着 Kimi-K3 和 Fable 5;考知识和推理还差一截,HLE 只有 42.7,Fable 5 是 53.3。
三、API 全面涨价。8 月 17 日零点起改成峰谷两个价。缓存命中的输入价涨到 12 倍,输出涨到 4.5 倍。
前两件是一件事的两面:V4-Pro 跑分表底下有一行脚注,写明公开的 Code Agent 任务用的就是「DeepSeek Harness(minimal 模式)」。
也就是说,今天开源的这套壳,就是 DeepSeek 跑这些分时用的那套。它跑分时开了哪些功能、关了哪些,配置文件在仓库里能一行行看。
harness 就是模型外面的一层壳
大模型本身只会一件事:读进一段文字,吐出一段文字。它不能自己打开你的文件,不能自己敲命令,不能自己记住昨天聊过什么。这些事全是外面那层程序在做,把你项目里的文件读出来递给模型看;模型说「我要执行 npm test」,是这层程序真的去执行,再把满屏的输出塞回给模型;模型想改文件,是这层程序判断该不该让它改、要不要先问你一句。
这层程序就叫 harness。Claude Code 是一个 harness,Codex 是一个,Cursor 里的 Agent 模式也是。同一个模型套在不同的壳里,干活水平能差出一大截,因为壳决定了模型能看到什么、能碰到什么、卡住的时候怎么办。
模型是发动机,harness 是车的其余部分,方向盘、油门、刹车、仪表盘。发动机再好,没有车的其余部分也开不动;同一台发动机装进不同的车,开起来完全是两回事。
计划模式、子 Agent、权限、MCP 全在核心之外
市面上的 Agent 工具,功能大多长在核心里:计划模式、子 Agent、权限审批、MCP 接入、上下文压缩,都是产品自带的固定件。你能调参数、能开关,但换不掉,不满意只能 fork 整个项目,或者等厂商加个选项。
dsh 反过来做。它的 core 目录只有八个包:会话日志、系统提示词组装、工具注册表、Agent 接口、默认驱动器、作用域原语。上面那些功能,一个都不在里面。
计划模式是一个插件,子 Agent 是十一个包、七种提供方,权限审批是两个包,MCP 接入是一个客户端插件,上下文压缩是四个包,待办清单、定时任务、后台作业各自独立。界面也一样:网页界面是 apps/web,命令行是 apps/cli,终端界面得自己装一个 profile,不随发行版交付。
这条原则一直贯到 Agent 的主循环。仓库给贡献者的规矩写得很硬:新行为一律挂在文档写明的扩展点上;真要改主循环本身,必须在同一个改动里更新架构文档。
不存在需要打补丁的特权内核:扩展 dsh 的方式是把插件挂载到其他插件旁边,而各项注册都是副作用,会在其插件卸载时撤销。
docs/architecture.zh.md
别家的 Agent 工具像一台封死的机器,厂商在外壳上留几个接口给你插扩展;dsh 是整台机器(包括发动机)都由乐高块拼的,你想换哪块拆哪块,拆下来的那块留下的痕迹也会自动清干净。
代价也是实打实的:它还在开发者预览阶段,README 第一句就写着未来会有破坏兼容性的变更;插件配置的覆盖是整行替换,没有深度合并层。
连主循环都是可以换掉的插件
撑起这套拆法的是一个叫 Cordis 的框架(源码被整个搬进了仓库的 vendor/ 目录里)。它干的事是:让每个插件往一个共享的上下文里塞东西,服务、事件、副作用;插件被卸载时,它塞进去的东西会自动撤销。
在这个底子上,产品的每一部分都做成了插件:模型适配器是插件,工具注册表是插件,会话记录是插件,Agent loop 本身也是插件。
具体怎么运作:跑起来的 dsh 是一棵插件树,由几层配置按顺序叠出来。最底下一层是 dsh-base,装的是模型适配器、工具、持久化、沙箱与审批策略、设置、凭据、遥测;往上叠 dsh-web-app 就多出浏览器界面,叠 dsh-headless 就变成跑完一个任务打印结果就退出、完全不带服务器;最上面才是你自己的改动。
dsh --profile web --dump-config 会把实际启动的整棵树打印出来,打印出的任何一行都能被你自己一行盖掉。前面说的整行替换就发生在这一层:只想改一行里的一个字段,也得把这行其他要保留的字段全部重抄一遍。
模型看见的必须进日志,能力必须成套换
拆得这么碎,靠两条规矩兜住不散架。
一、模型看到的每个字,都必须能从日志重建
会话日志是只追加的事件流,模型每一次请求看到的上下文,都从这条流里投影出来。规矩是反过来定的:凡是能到达模型请求的东西,都必须能从日志重建,而且有一条运行时断言在盯着。所以想给模型加一样它能看到的新东西,就得同时加一个会话事件,不能偷偷塞。
这条规矩换来的是:会话能暂停、能恢复、能从任意一点分叉出一条新的,重放出来的内容跟当时一模一样,没有任何模型看得见的状态藏在日志之外。
二、一项能力必须凑齐三个角色才算数
dsh 把「一项能力」定义成三个角色:声明接口的、实现接口的、使用接口的(通常是给模型用的工具)。三个一起设计,缺一个就不算一项能力。
换掉最下面那层,上面全跟着走:文件系统和进程共享同一个执行环境,所以把它们指向远程沙箱,Bash、持久终端、语言服务器就一起搬过去了,不用为每个工具单独做一个远程版本。子 Agent 也是同一个道理,接口就是「接一个自包含的任务、返回一个最终答案」,背后是同进程 fork 一个,还是启动一个别家的产品,对上层没区别。
Code Mode、ralph 和自己装插件
既然每一块都能换,那出厂时默认装了哪些块?常规的那些都在,三十来个:bash、读写和编辑文件、glob 和 grep、网页搜索与抓取、待办清单、计划模式、语言服务器、持久终端(开着一个终端会话反复发命令,不是每次起一个新的)、后台任务、定时任务、子 Agent 派活与互相发消息、翻自己历史会话的 session_search。也能接 MCP 服务器,接进来的工具在模型眼里和原生工具没区别。
另外三个工具,在别的壳里不常见。
一、Code Mode:模型写一段程序批量调工具
常规做法是模型每次说「我要调这个工具」,外壳执行完把结果塞回去,再问下一步。搜一批文件再挑几个来读,这一来一回就是好几趟,而且每一轮的中间结果都要原样堆进模型的上下文。
run_code 换了个路子:模型写一小段 TypeScript 程序,在程序里用 await tools.grep(...)、await tools.read(...) 这样的写法把一连串调用串起来,一口气跑完,只把最后要看的那点结果返回。
以前是每办一件小事就打一个电话确认一下,办十件打十个;现在是写一张清单让人一次性办完,回来只汇报最后的结果。
二、ralph:每一轮都换一个全新的 Agent 来干
给它一个不许改的目标,它每一轮都开一个全新的子 Agent,这个新 Agent 看不到上一轮的任何对话。轮与轮之间只传两样东西:工作区里那些真实的文件(这是它的长期记忆),和一份短的结构化报告。直到有一轮报告说做完了、或者报告说卡在哪儿了、或者轮数用完。
三、cordis:Agent 给正在运行的自己装插件
这一组是四个动作加一份只读报告。它们操作的对象是当前正在跑的这个进程,不是磁盘上的配置文件。
cordis_define 登记一个新插件,此时什么都不运行,你在会话里看到的是一张卡片和一个启动控件。cordis_run 在沙箱里求值它的主机那一半,同时把浏览器那一半投递给每个打开着的网页。cordis_stop 把它拆到完全停稳并从页面撤回,但定义还留着,随时能再启动。cordis_undefine 连定义一起删,卡片作为一条已卸载记录留在会话里。注意第 2 步里的「浏览器那一半」,Agent 可以现写一段界面,直接投到你正开着的那个网页里。配套还有一个 cordis_inspect,让 Agent 读自己进程里的实时状态:有哪些服务、哪些插件还活着、注册了哪些工具。
你的 hooks 和技能直接能搬过去
所以对已经在用 Claude Code 的人来说,搬家成本有多高?大部分家当不用动。
现有的 hooks 直接能跑(hooks 就是在某个固定时机自动触发的小脚本,比如每次改文件前先跑一遍格式检查)。dsh 里有两个桥接插件,一个吃 Claude Code 的 hooks.json,连 ${CLAUDE_PLUGIN_ROOT} 和 ${CLAUDE_PROJECT_DIR} 两个变量替换都照做;另一个吃 Codex 的 hook 配置。退出码的约定也照搬:退出码 2 表示拦下这次操作、把 stderr 的内容当理由。多个 hook 同时命中时按最严的算,deny 压过 ask,ask 压过 allow。
技能直接能读。它扫 SKILL.md 格式的技能文件,扫两个地方:自己的 ~/.dsh/skills,还有一个 ~/.agents,配置字段里管这个叫「为兼容 skill 扫描的共享 Agent 配置根目录」。
它还能反过来把活派给真正的 Claude Code。子 Agent 这个能力下面挂了七种提供方,其中两种是外部产品:一种调官方 Claude Agent SDK,会去找你机器上那个 claude 命令;一种启动官方的 codex app-server --stdio。派过去一个自包含的任务,只把最终答案拿回来。派过去的那个 Claude Code 用的是你本机原来的账号和配置,文档特意说明,它既不复制也不过滤这些文件,也不会创建或修改你的登录状态。
能做到这些,靠的还是前面那条三件套规矩:子 Agent 的接口就是「接一个自包含的任务、返回一个最终答案」,谁满足这个接口谁就能当提供方,别家的成品产品也算。
hook 桥接本身也有边界:原生插件能做到这个桥接的所有事,功能更强、有类型、没有序列化的损耗。桥接只是让现有配置能直接用的兼容路径,真要定制还是得写原生插件。
反过来的方向也通:DeepSeek 的 API 可以直接当 Claude Code、GitHub Copilot、OpenCode 这些工具的后端模型,不用改代码。换壳和换模型这两件事,现在可以分开做。
沙箱起不来就直接拒绝干活
但把这些工具交给 AI,它敲错命令怎么办?这层壳给了三档权限,默认最紧的那档。
每个平台用各自的原生机制:Linux 优先用 bwrap,不行就用 Landlock(为此他们自己写了一个 C 扩展);macOS 用 Seatbelt;Windows 用 ACL 受限令牌。
SANDBOX_UNAVAILABLE 拒绝执行,绝不会静默地退回成「那就不限制了吧」。宁可让你干不了活,也不在你不知道的情况下把权限放开。
当前是哪一档,还会作为一条消息告诉模型,而且只在第一次和策略变化时说一遍,不重复刷屏。
DeepSeek 跑分时只开了两个工具
那么 DeepSeek 自己用这套东西时,到底开了多少功能?
跑分脚注里的 minimal 模式,配置文件就在仓库里(examples/jsonrpc-agent/minimal.cordis.yml),能一行行看。它给模型的东西只有两样。
minimal.cordis.yml。权限那档开的是 danger-full-access,跑分环境不设防。上一节列的三十来个内置工具,在这里只留下两个:一个能保持状态的 bash,一个字符串替换编辑器。技能系统关了,运行时上下文注入关了,工作区上下文关了,上下文压缩没装,连普通的 bash 工具和后台任务工具都关了。系统提示词是那句最平常不过的「You are a helpful software engineer assistant.」。
Terminal Bench 2.1 的 87.9 分、DeepSWE 的 62.7 分,就是在这套配置下拿的。
这些分数主要来自模型本身,外壳里没有提示词技巧在下面兜底。而这套 harness 出厂时功能都在,开哪些由使用者自己决定。
V4-Pro 涨的主要是动手干活的分
既然分数主要来自模型,那 V4-Pro 这次到底涨了什么?先说清楚,下面这张表是厂商自己发的。
跟自家的预览版比,涨得最多的几项都是「让模型自己动手把一件事做完」类型的题。
DeepSWE 从 12.8 涨到 62.7,翻了将近五倍。之前的预览版在这类题上基本是不及格的水平。
跟别人比就各有胜负了。Terminal Bench 2.1 的 87.9 排在 Kimi-K3(88.3)和 Fable 5(88.0)之后,压过 Opus-4.8 的 85.0;AutomationBench 的 31.8 是这张表里最高的。但考知识和推理的 HLE,不带工具时 42.7 分,明显落后 Fable 5 的 53.3 和 Opus-4.8 的 49.8;DeepSWE 的 62.7 也还落后 Fable 5 的 70.0 和 Kimi-K3 的 67.5。
涨幅集中在动手干活类的题上;考知识和推理的题,这一版没什么变化。
官方推文里还有两条:V4-Pro 和 V4-Flash 都能调推理力度,分 low、high、max 三档,官方给的用法是简单任务用 low、日常 Agent 工作流用 high、复杂任务用 max(跑分用的是 max);另外原生支持了 OpenAI 的 Responses API,官方文档里给了 Codex 的一键配置脚本,跑一行命令就会备份你原来的 ~/.codex/config.toml、写入模型元数据、只改必要字段,保留你原有的 MCP 服务器配置。
8 月 17 日起,缓存命中价涨 12 倍
同一天官方还宣布了第三件事:北京时间 8 月 17 日零点起,API 改成峰谷两个价。高峰时段是 9:00–12:00 和 14:00–18:00,一天加起来 7 小时,其余 17 小时算空闲;空闲价正好是高峰价的一半。
拿 deepseek-v4-pro 算:现在输出是 6 元一百万 tokens,新价空闲时段 13.5 元、高峰 27 元,高峰是现在的 4.5 倍。输入(没命中缓存)现在 3 元,新价 4.5 元和 9 元。
涨幅最大的是缓存命中的输入价。
| 元 / 百万 tokens | 现价 | 新价 · 空闲 | 新价 · 高峰 |
|---|---|---|---|
| pro 输入(缓存命中) | 0.025 | 0.15(6 倍) | 0.30(12 倍) |
| pro 输入(未命中) | 3 | 4.5(1.5 倍) | 9(3 倍) |
| pro 输出 | 6 | 13.5(2.25 倍) | 27(4.5 倍) |
| flash 输入(缓存命中) | 0.02 | 0.05(2.5 倍) | 0.10(5 倍) |
| flash 输入(未命中) | 1 | 1.5(1.5 倍) | 3(3 倍) |
| flash 输出 | 2 | 4.5(2.25 倍) | 9(4.5 倍) |
倍数由本站按官方新旧价目表计算,价目本身来自 DeepSeek API 定价页。
缓存命中这一档为什么要紧?因为 Agent 干活的方式就是一轮一轮来,每一轮都要把前面的对话和读过的文件重新发一遍给模型,这部分绝大多数是命中缓存的。涨幅最大的那一档,正好是长时间跑 Agent 时用量最大的那一档。
缓存命中就像每天走同一条路,收费站给了熟客价。现在熟客价涨了 12 倍,偶尔路过的人感觉不大,天天跑的人先受不了。
并发限制上,deepseek-v4-pro 是 500,deepseek-v4-flash 是 2500。官方没有给出涨价理由。
218 个包必须写清自己哪儿不行
所以现在到底能不能上手?
装是能装了:npm 上 8 月 10 日发的第一个候选版本,13 日一天连发三版,最新是 0.1.0-rc.6。仓库是当天 19:56 建的,到 22:02 已经涨到 1.7 万 star、1182 个 fork。填完 API 密钥、选一个工作区目录,就能开始用了。
但 README 第一句就是警告:处于开发者预览阶段,正在快速迭代,未来将出现破坏兼容性的变更。内部规范写得更直白,因为还没有外部使用者,宁可要正确的地基也不要兼容层,会话文件的格式版本号停在 0,不作任何兼容承诺。
约束这件事的是一道 CI 闸门:219 个包里,218 个的 README 都必须有一节「已知限制与延期工作」,写漏了直接不给过;唯一豁免的是一个纯类型定义的包,而且豁免名单里还必须写明为什么它没有限制可写。
抽几条看:
--host 0.0.0.0,不让你把服务绑到所有网卡上。想自己动手要装什么、跑什么
只是想用:装个 Node(22.19+ 或 24+),跑 npx @deepseek-ai/dsh web,浏览器打开它打印的地址,在设置里填 DeepSeek API 密钥保存(不用重启),再点「选择工作区」把项目目录加进来选中,选中之前输入框是不能用的。需要审批的操作,界面会先问你。
想改它:除了 Node,还要 Corepack 启用的 pnpm(仓库锁死 11.7.0)和 Git 2.26 以上。克隆下来 pnpm install,然后跑一次 pnpm run typecheck,能过就算环境搭好了。安装时会顺带装上 Git 钩子:提交前自动跑代码检查并修一部分,推送前自动跑一遍类型检查。
代码里的待办标记分三档,看到时按这个读:FIXME 是发版阻断项,正式版之前必须解决;TODO 是有空就该做;XXX 是想起来再说、不作承诺。
npx @deepseek-ai/dsh web,在设置里填 DeepSeek API 密钥DeepSeek 把自己刷榜用的 Agent 壳全开源了,账单也跟着涨
219 个包、MIT 协议(几乎没有限制的开源许可证),你的 hooks 和技能能直接搬过去用,一页带图讲完
↓ 一页读完 · 有一张会动的图
DeepSeek 今天一次性甩出三件事,而且是一条线:开源自己的 Agent(能自己动手操作电脑干活的 AI)外壳、发布 V4-Pro 正式版、通知 8 月 17 日起涨价。
开源的这套叫 DeepSeek Harness,命令行叫 dsh。以前 DeepSeek 只开源模型本身,这次把「怎么让模型真的动手干活」那层也给了。
计划模式、子 Agent、权限审批、MCP 接入,别的 Agent 工具把这些焊在核心里;dsh 的 core 目录只有 8 个包,这些功能全在外面当插件,连 Agent 主循环本身也换得掉。
已经在用 Claude Code 或 Codex 的人不用重新攒一套:写过的 hooks.json 直接能跑,攒的 SKILL.md 技能直接能读,还能反过来把子任务派给机器上真正的 Claude Code。
V4-Pro 跑分表脚注写着,公开的 Code Agent 成绩用的是 dsh 的 minimal 模式,配置文件就在仓库里,这份数据是 DeepSeek 自己发布的,没有第三方复现过。
✔ 字符串替换编辑器(输出上限 16000 字符)
✘ 技能系统、上下文压缩、普通 bash 工具、后台任务 ,平时开着,跑分时全关了
系统提示词也只有一句「你是一个乐于助人的软件工程师助手」。分数基本来自模型本身。
同一天官方通知,8 月 17 日零点起 API 改成峰谷两个价。Agent 干活时每一轮都要把前面的对话和文件重发一遍,这部分大多命中缓存(同一段内容重复发给模型时,按更低价格计费),涨得最多的正好是这一档。
0.025 元 / 百万 tokens
0.30 元 / 百万 tokens
这是 v4-pro 缓存命中输入价的涨幅,12 倍;输出价涨到 4.5 倍。并发限制 v4-pro 是 500,v4-flash 是 2500。
全开源了!
没点开……
都能换掉!
压缩没装
后台任务关了
2 个工具?!
免费用!
悄悄涨了
