DeepSeek Harness 开源解读:一切皆插件,连 Agent 主循环都能拔下来

仓库:github.com/deepseek-ai/deepseek-harness | 协议:MIT | 语言:TypeScript | 状态:开发者预览版
开源时间:2026 年 8 月 13 日(北京时间当晚) | 官方主页:deepseek.com/harness
一条没有描述的仓库,破纪录的曲线
2026 年 8 月 13 日晚间,deepseek-ai 组织下一个新仓库悄然公开:deepseek-harness。仓库描述只有一句话------"Everything is a Plugin."(一切皆插件)。没有发布会,没有长文宣传,README 里甚至明确警告"未来将出现破坏兼容性的变更"。
但曲线说明了一切。上线约一个半小时,Star 突破 2.4 万,刷新了 GitHub 史上最快涨星纪录;作为参照,原纪录保持者 xAI 的 Grok-1 用了约 1.2 天才破 2 万星,DeepSeek 自家的 R1 则用了 5.7 天。截至本文撰写时(8 月 14 日),该仓库 Star 已接近 8 万,Fork 约 7000,而它公开还不到一天。
这个纪录背后有一个容易被忽略的细节:仓库带有超过 1.2 万次 commit,230 多个 workspace 成员。这不是一次"从零开源",而是把一个在 DeepSeek 内部打磨已久、跑过 V4 Flash-0731 那批超高性能测试的 Agent 运行时,整体搬到了公开仓库里。
先讲清楚:Harness 到底是什么
理解这个项目,需要先接受一个公式:Agent = Model + Harness。
模型是"灵魂":它生成 token、做推理、决定下一步调用哪个工具,但模型本身既不能读写文件,也记不住上一轮对话。真正让模型能在真实环境里干活的那一层------工作区管理、工具注册表、沙箱与审批策略、会话日志、驱动循环------就是 harness(执行脚手架/运行时)。Claude Code、OpenAI Codex 这类产品的核心壁垒,很大程度上不在模型,而在这一层。
过去,这一层是各家闭源产品的"黑盒"。DeepSeek 这次做的事,是把黑盒拆开、摊平,然后告诉你:每一个零件都可以换。
"一切皆插件"不是营销话术,是架构事实
大多数 Agent 框架的"可扩展",指的是在外围加工具、接 MCP------模型、循环、上下文管理这些核心件你是动不了的。DeepSeek Harness 走的是另一个极端:整套系统从头到尾都能被替换。
在它的架构里,九类核心能力全部以插件形式存在:模型适配器、工具、技能(skills)、会话、沙箱、存储、Agent 循环本身、任务调度、以及 UI------是的,连驱动模型一轮轮干活的那个主循环、连浏览器界面,都是可以卸载重装的插件。有媒体打了个精准的比方:普通 Agent 项目像一台装好的整机,而它像一块尺寸惊人的洞洞板,模型、工具、界面、存储、安全策略、上下文管理全部可插拔。
技术上,它构建在 Cordis 微内核之上。Cordis 是一套 TypeScript 编写的插件化元框架,配套论文《A Programming Paradigm for Spatiotemporal Composability》,运行中的 Harness 本质上就是一个 Cordis Context,由内核负责插件的挂载卸载、依赖追踪和类型化事件分发。DeepSeek 没有从零造轮子,而是站在一个已有约 550 次 commit 的插件框架上------这本身也说明,"整体可替换"对插件内核的要求远高于"外围可扩展"。

三层接缝:换掉 Bash,不需要重写模型工具
插件系统里最值得细看的设计是"能力接缝"(seam)。每个能力被拆成三个角色:接口定义(Service Definition)、实现(Provider)、消费者(Consumer)。
拿最常用的 Bash 工具举例:模型看到的"执行一条命令"是接口;这个命令在本地 Shell、远程容器还是云端沙箱里执行,是实现层的 choice;而工具管线是消费者。三层齐备才构成接缝------这意味着你可以把本地 Shell 换成远程沙箱,模型侧的工具定义一行都不用改,Bash、PTY、LSP 会随着文件系统和子进程两个 provider 的替换整体迁移。
组合方式上,它用 bundle(发行单元,在 package.json 的 dsh.bundle 字段声明)和 profile(命名组合)两层机制拼装出不同形态。官方提供了三个 bundle:dsh-base(模型适配、工具、持久化、沙箱、审批、凭证等基础件)、dsh-web-app(浏览器应用)、dsh-headless(无界面一次性 runner)。加载顺序是 bundle 补丁 → profile 补丁 → 机器级补丁 → 命令行 overlay,后层按行覆盖。需要注意的一个工程细节:补丁是整行替换,不做深度合并------踩过配置合并坑的开发者会明白这个设计是"简单但诚实"的。
会话日志:模型看见的一切,都必须留痕
这是整个项目里最"价值观"的一条设计规则:"model-visible means logged"------凡是到达模型请求的内容(系统提示、推理、工具调用与结果、子代理调度、上下文注入),必须能从 append-only 的会话日志中完整重建。想新增一种模型可见的输入?必须新增一种会话事件,不允许走旁路通道。
模型历史不是另存一份"聊天记录",而是直接从事件日志投影出来;原始的 assistant chunk 事件被保留,保证忠实回放。会话的 Fork、Resume、transcript 导出、遥测、持久化,全部派生自同一条事件流,存储后端支持 JSONL 和 SQLite。
这个设计呼应了项目的一个核心哲学:会话应该是"运行事实"的记录,而不是一份聊天记录 。对于需要审计、回溯、复现 Agent 行为的企业场景,这一条比任何功能列表都有分量。

执行模型与安全边界
执行层面采用严格的 Turn/Step 生命周期:一个 step 是一次模型请求加上它引发的工具执行;一个 turn 从认领输入开始,到"无欠账"时关闭。工具调用要走完前置策略 → 安全守卫 → 执行 → 后置处理的完整管线;只读任务可以并行执行,写操作则作为屏障独占执行------这是在性能与一致性之间取的平衡点。用户的输入还区分了排队消息与 Steering 转向指令,后者能即时影响正在进行的循环。
安全模型遵循 fail-closed(失败关闭)原则:默认 workspace-write 模式加逐项审批,沙箱分 read-only、workspace-write、danger-full-access 三档,全权限需要显式选择。沙箱后端按平台实现了原生隔离------Linux 用 bubblewrap/Landlock,macOS 用 Seatbelt,Windows 用 ACL 受限令牌。一个有意思的细节:CLI 故意不支持 --host 0.0.0.0,直接报用法错误退出,想暴露给局域网得用 --trusted-host 显式声明------这类"不便利的安全"在同类工具里并不多见。
四种运行模式:从基准测试到"自我改装"
同一套插件内核,通过不同 profile 拼出四种形态。Standard 模式是完整工具集:文件编辑、Shell、网页搜索、skills、规划、目标、子代理、工作流。Code 模式在此基础上提供 Code Mode SDK,让模型直接用 TypeScript 代码编排多步工具调用------代码即行动计划。Minimal 模式砍到只剩持久 Bash 和 str_replace_editor 两个工具,专门用于模型基准测试(V4 Flash 那批"刷屏级"性能测试就是这样跑出来的)。Creator 模式最有想象力:Agent 可以在运行时检查自己的插件树、做内存中的插件实验------一个能"改装自己"的 Agent。
十分钟上手
环境要求 Node.js 22.19+ 或 24+。一行命令即可启动:
bash
npx @deepseek-ai/dsh web
# 默认拉起本地 Web UI:http://127.0.0.1:3080
模型接入相当开放:填一个 DeepSeek API key 即可使用默认模型;也可以走 Anthropic、OpenAI 的目录式 provider;任意 OpenAI 兼容端点(自定义 base URL + 模型列表)、Bedrock、Vertex、Azure 都有对应通道。模型发现走 GET /models 端点,不支持该端点的服务需要手动填模型名。
需要如实说明的是,开发者预览阶段的粗糙处同样存在:依赖的 Cordis 框架 API 尚不稳定;pnpm 10+ 默认阻止依赖包的 prepare 脚本,Git 插件首次安装会失败,需要手动把提示的 allowBuilds key 写进 profile 的 pnpm-workspace.yaml;Issues 通道关闭,反馈走 Discussions。用一位内测开发者的话说:"还远没有到安装完成、一切丝滑的阶段。"
它不是"DeepSeek 版 Claude Code"
只看界面,很容易把它误读成又一个编码 Agent 产品。但它的定位明显更底层------这是一个 SDK 和框架,对标的是"Agent 运行时"这个层本身。
不过底层归底层,实际效果并不含糊。内测团队的实测里,V4-Flash 版用一个提示词就大体还原了"华强买瓜"3D 动画的剧情,而配置 GPT-5.6 sol-xhigh 的 Codex 表现明显逊色(且 V4-Flash 参数规模远低于 GPT-5.6);另一个案例中,它 30 多分钟无人干预完成了一个可玩的丧尸射击游戏------3 个 turn、127 个 step、5 个并行子代理。V4 Pro 正式版与 Harness 同日上线,配合意图相当明显。
生态端的热度同样罕见:发布一天内,GitHub 上 dsh-plugin 主题下已经出现 400 多个社区插件仓库。一个刚公开的插件体系能立刻长出生态,说明社区对"接缝在哪"的理解成本并不高------三层接缝的抽象是立得住的。
为什么这件事重要:护城河正在搬家
跳出项目本身,这次开源对应着一个正在发生的行业判断:模型正在趋于同质、变得可替换,护城河正从模型本身转移到"跑模型的那层基础设施"上。 Harness 作为独立品类正在成形------此前已有 Vercel 的 deepsec、GitHub 的 spec-kit 等信号,而一家以模型闻名的团队亲自下场做执行层并彻底开源,是其中分量最重的一个信号。
对开发者的意义可以概括成一句话:模型决定智能上限,Harness 决定这些智能如何进入真实环境。 过去这句话里的后半句是买不到的,现在 MIT 协议摆在仓库里------你可以把 DeepSeek 的 Agent 工程答案拆开来看、fork 来改、跑在自己的模型上。
当然,冷静的判断也要有:开发者预览、明确的破坏性变更警告、不小的学习成本、与 Claude Code/Codex 截然不同的使用心智,决定了它今天还轮不到"装机必备"。但对任何一个在构建 Agent 产品的团队来说,这份代码此刻就值得读------不是因为要用它,而是因为它把"一个顶级实验室认为 Agent 运行时应该长什么样"这个问题,用 230 多个包的源码回答了。
一切皆插件,是架构;敢把主循环做成插件,是态度。
参考资料
- GitHub 官方仓库 deepseek-ai/deepseek-harness(含 README、bundle 文档与 Discussions)
- GitHub 史上最快涨星项目 DeepSeek Harness 发布 1 个多小时破 2 万星 - 快科技
- DeepSeek Harness 开源当天狂揽近 3 万 Star - 掘金
- What Is DeepSeek Harness (dsh)? Agent Runtime - SpringBrand
- GitHub 趋势洞察 2026-08-14:harness 成军 - wangruofeng007
- 刚刚,DeepSeek Harness 震撼开源:一切皆插件 - 投资界
- "一切皆插件":DeepSeek Harness 有何玄机 - 同花顺财经
- DeepSeek Harness 能对标 OpenAI Codex 和 Claude Code 吗 - 新浪科技
数据核对说明:Star 数据以 GitHub API 实时查询为准(截至 2026-08-14),发布首小时数据引自快科技报道,架构与命令行细节引自官方仓库文档及 SpringBrand 技术解读,实测案例引自投资界内测报道。
