12 小时 50k Star:DeepSeek Harness(dsh)到底是什么,凭什么?

8 月 13 日,DeepSeek 和 V4 Pro 正式版同一天开源了一个项目:DeepSeek Harness,简称 dsh。12 小时 50k star,两天约 95k。star 数说明热度,但不说明它是什么、值不值得看。这篇文章把三个问题讲清楚:dsh 是什么,能做什么,和过去的 harness 比新在哪。

一、dsh 是什么

一句话:DeepSeek 官方开源的插件化 Agent 运行时框架 ,MIT 协议,TypeScript 编写,可以理解为"开源、可插拔、可深度定制的 Claude Code"。它能读写文件、执行命令、搜网页、调度子 Agent------这些能力 Claude Code 都有,区别在于 dsh 把这些能力全部做成了插件

它的核心理念写在门口:Everything is a Plugin(一切皆插件)。模型是插件、工具是插件、会话是插件、沙箱是插件、权限审批是插件------连 Agent 的主循环本身都是插件。官方原话很直白:"不存在需要打补丁的特权内核:扩展 dsh 的方式是把插件挂到其他插件旁边。"

几个基本盘:

内容
发布 2026-08-13,与 V4 Pro 同日
版本 0.1.0-rc.x,官方明确警告会有破坏性变更
协议 MIT,可商用
语言 TypeScript(全 ESM)+ Python SDK,pnpm monorepo 60+ 包、约 20 万行
底座 Cordis 插件元框架(北大与 DeepSeek 合著论文,源自 Koishi 生态)

先泼半盆冷水:rc 版别拿来上生产。官方自己都说 API 会 breaking。现在看它,看的是设计。

二、核心设计:三个关键词

1. 可逆插件(Cordis 底座)

dsh 不用常规的"插件 = 一个带约定的 npm 包"模式,而是建立在 Cordis 上:插件向共享上下文贡献服务、类型化事件、可逆副作用 ,彼此通过 ctx.llmctx.tools 这类服务键引用,不 import 具体实现。

最关键的性质是注册即副作用,卸载自动撤销------插件被卸载后,运行时不留任何残余。传统框架里你换个插件,旧插件留下的半截状态、监听器、注册项全得自己打扫;Cordis 把这件事做成了机制保证。

2. Seam 三段式

每个可替换能力被拆成三个角色:

复制代码
Service Definition(定义协议)→ Provider(提供实现)→ Consumer(消费使用)

这不是新鲜的依赖注入,但用在 Agent 运行时上效果很实在。实测过的两个例子:

  • 本机 llama.cpp 和云端 DeepSeek API 走同一条配置路径,模型选择器一点即切换,零适配代码。Ollama、vLLM 等任何 OpenAI 兼容端点都能挂。
  • ctx.fs 指到 E2B 远程沙箱,Bash、PTY、LSP 整组能力一起搬家------换一个 Provider,等于迁移一整套执行环境。

3. 事件溯源会话日志

设计铁律:"模型可见即已记录"------凡是抵达模型请求的内容,必须能从会话日志重建,运行时用不变量断言强制执行。append-only 事件流是唯一真相源,fork、恢复、回放、遥测、UI 状态全部从它派生。

这一条是 dsh 和多数框架拉开差距的地方,下文细说。

另外还有一套 Profile / Bundle / Patch 配置叠加体系:运行中的 dsh 是一棵多层配置叠出来的插件树,Patch 可以按 id 定位替换任意条目,越晚叠加的层权力越大------团队不改源码就能覆盖行为。

三、能做什么

四种运行模式

模式 定位 说明
Standard 通用编码 文件、shell、搜索、规划、子 Agent、工作流全开
PTC(Code) 代码组合 模型直接写 TypeScript 调 SDK,一次调度多轮工具调用
Minimal 跑分环境 只有 bash + str_replace_editor 两个工具,系统提示词一句话
Creator(cordis) 自指入口 Agent 运行时里检查插件树、动态挂卸临时插件,默认不开

Minimal 模式值得单独说:V4 Pro 模型卡上的 Terminal Bench 87.9,就是在这个模式下跑出来的。这意味着模型跑分第一次从"黑箱数字"变成"开源权重 + 开源评测环境"的组合------理论上人人可复现。对做评测、选型的人来说,这是基础设施级的好消息。

Creator 模式是最激进的一个:Agent 干活干到一半,发现缺个工具,自己挂一个插件上去,用完自己卸载,重启即消失。官方对它的信任等级设定等同 shell 访问,默认关闭------激进但克制。

内置能力

  • 工具 24 族:read/write/edit、glob/grep(内置 ripgrep)、bash/pwsh、持久 PTY、LSP、后台任务、web_search(deepseek/exa/perplexity 三个 Provider)、todo、目标管理等
  • 子 Agent 六种 Provider :进程内 spawn、从父历史 fork、ACP 协议、Codex app-serverClaude Code(官方 Agent SDK)、dsh SDK------也就是说 dsh 的 Agent 可以把 Claude Code 和 Codex 当子 Agent 调度,多智能体编排退化成"选一个 Provider"
  • 沙箱三档:Linux Landlock / Windows ACL / E2B 远程
  • 四种接入方式 :Web UI(npx @deepseek-ai/dsh web)、headless CLI、ACP 协议服务器、Python SDK(内置运行时二进制,适合批量评测脚本)
  • 兼容 Claude Code / Codex 的 hooks 协议

安全护栏(第三方实测验证过的,不是 PPT)

  1. fail-closed:没有沙箱后端时,Bash 直接拒绝执行,错误信息会精确告诉你原因和出路
  2. 审批必须给理由:模型请求权限升级必须写 justification,不写直接被拒
  3. 三档权限:Read Only / Workspace Write / Full access,切 Full 要过风险确认
  4. 防循环:连续重复调用同一工具后系统自动注入提醒(实测对弱模型约束力一般,12B 模型烧了 25 步才被人工救回------护栏不能替代模型能力)

四、和过去的 harness 比,新在哪

先明确"harness"指什么:包裹 LLM 的运行时脚手架------工具调用循环、上下文管理、会话持久化、权限控制这套东西。大家这几年多少都用过几代:LangChain 的 AgentExecutor、pydantic-ai、各种自研循环,以及 Claude Code / Codex 这类成品。

dsh 的改进可以分成两档:两个质变,三个显著,一个倒退。

质变一:可逆插件化------不只是"能换",是"换回来不留痕"

LangChain 里模型和工具是参数,但主循环、会话、沙箱是焊死的;换工具就是把对象换掉,旧工具留下的状态没人管。LangChain 接口 0.1→0.2→1.0 三次破坏性变更,很多使用者的迁移痛苦都来自"组件表面是可换的,接缝处其实是焊死的"。

dsh 把接缝本身做成了显式契约(seam 三段式),并且卸载插件自动撤销全部副作用。Creator 模式更进一步:Agent 改装自己,且改装保证可逆。此前没有任何主流 harness 做到这一点。

质变二:事件溯源是状态模型,不是外挂观测

传统 harness 的会话状态是内存里的 messages 列表或数据库 blob;tracing(如 LangSmith)本质是旁路记录------主状态崩了,旁路日志只能帮你验尸。

dsh 反过来:append-only 事件日志就是会话状态本身。断了从日志恢复,跑挂了逐帧回放,谁审批的、为什么批、模型当时看到什么上下文,全部可查。这是从"可观测"到"可重放"的差别------类比数据库从"打日志排查问题"进化到 event sourcing。对调试 Agent 行为、审计、复现评测,这是杀手级能力。

三个显著改进

  • 护栏体系化:fail-closed 沙箱、带理由审批、循环检测内置。pydantic-ai 在这点上几乎裸奔,LangChain 靠你自己拼回调------dsh 省的是自己写安全代码的那几周
  • 评测即模式:Minimal 模式让"官方跑分复现环境"和"生产运行时"是同一个内核。以前 eval 代码(包括 DeepSeek 自己的评测仓库)都是单独一套,跑分环境和真实环境永远有差距
  • 跨 harness 编排:把 Claude Code / Codex 当 Provider 调,官方支持。以前要在自己的编排里调 Claude Code,得自己包一层 CLI 进程管理

一个倒退:生态成熟度

rc 版本、API 会 breaking、文档还在补、Windows 原生支持有限(沙箱走 ACL,社区一致建议 WSL2)、生态和社区都还小。这是新生框架的必然代价,不丢人,但要认。

对比一览

维度 传统 harness dsh
组件可替换性 主循环/会话/沙箱硬编码,接口常 breaking 全部插件化,卸载即撤销副作用
状态模型 内存/DB blob,tracing 外挂 事件日志 = 唯一真相源,可回放
安全护栏 自己拼 fail-closed 沙箱 + 带理由审批,内置
评测能力 另建 eval 代码 Minimal 模式 = 官方跑分环境
编排 自己编排多 Agent Claude Code / Codex 当 Provider 调
接口契约 隐式约定 seam 三段式显式契约
生态成熟度 庞大、生产验证多 rc、生态新、Windows 弱

五、什么场景该关注它

说三类实际用法:

  1. 模型评测/选型:Minimal 模式 + Python SDK,挂不同模型跑同一任务矩阵,事件日志全程可回放。这是当下最实用的价值------任何需要给项目挑模型的人都能直接受益
  2. 做"代客执行"型产品:如果你的产品是用户丢一个目标进来、步骤没法预先枚举的那种(比如自动修复 App 审核被拒),dsh 这类运行时可以直接当内核,省掉自己写工具调用、会话管理、安全护栏的几个月
  3. 学架构:可逆插件、事件溯源、显式契约这三个思想,哪怕不用 dsh 也值得吸收进自己的设计。做过插件系统的项目对照 Cordis 的"注册即副作用、卸载自动撤销"看,会有明显体感

反过来,固定流程的管道别上 Agent 运行时。每天定时跑、步骤一个不差、要确定性结果的任务,每步过一次 LLM 决策意味着多付 token、多延迟、还引入随机性。确定性管道用确定性代码,LLM 只在需要"理解/判断/生成"的环节点状嵌入------这是另一个话题,此处按下不表。

六、结语

dsh 的爆火不全是技术原因------DeepSeek 的品牌势能 + V4 Pro 同日发布的流量都在加持。剥掉热度看本体:它把 Agent 运行时从"一个产品"变成了"一套可组合的协议",用可逆插件和事件溯源回答了"harness 本身该怎么造"这个问题。

至于要不要用:rc 阶段,学思想,等 1.0 再上生产。这个框架最值得追的不是 star 曲线,而是它定义的方向------当 Agent 运行时快速商品化之后,真正值钱的会是运行时之上沉淀的东西。

相关推荐
沐风___1 小时前
Agent Skills 实测:一条命令给 AI 编程工具装上工程素养
人工智能
安逸Ai1 小时前
卷积神经网络 CNN 是什么?为什么适合处理图像?
人工智能·面试
Hello-FPGA1 小时前
AI 如何自动通过 PDF 原理图生成管脚映射
人工智能·fpga开发·pdf
Jason6811 小时前
一文讲透 AI 绘画 Prompt 工程:从原理到可复用的方法论
人工智能
程序员七平1 小时前
让 AI 帮我点咖啡:瑞幸 my-coffee skill 体验
人工智能
leoZ2311 小时前
Vue3 还原一个企业级后台-14-项目总结
开发语言·人工智能·后端·opencv·计算机视觉·数据挖掘·rust
前端粉刷匠1 小时前
2025 年是 Agent 的,2026 年是 Harness 的——AI 编程 Harness 架构深度解析
前端·人工智能
小白马突突突1 小时前
零信脱敏现已支持导出适合AI 分析的 脱敏 Markdown
人工智能
skywalk81631 小时前
硬核移植实录:在 FreeBSD 15.1 上从零跑起 DeepSeek 智能体 harness(附完整踩坑手册)
人工智能·freebsd·deepseek·harness