摘要:2026 年 8 月,DeepSeek 开源了第一款 Agent 产品 DeepSeek Harness(dsh)——“Model + Harness = Agent”的运行框架,核心口号是 Everything is a Plugin(一切皆插件)。这篇聊聊 dsh 是什么、为什么 Agent 需要一层 Harness、插件化意味着什么,以及它还只是开发者预览版这件事。
8 月中旬,DeepSeek 开源了自己的第一款 Agent 产品:DeepSeek Harness,简称 dsh。v0.1,MIT 协议,发布当天 GitHub 就冲了好几万 star。
整个项目最显眼的一句话是 Everything is a Plugin——一切皆插件。
我看了官方发布页,翻了仓库结构,也读了不少社区讨论。这篇不写安装教程,只讲四件事:dsh 是什么、为什么 Agent 需要一层 Harness、”一切皆插件”到底意味着什么,以及开发者预览版这个身份提醒我们什么。
模型是马,Harness 是挽具
Harness 这个词原意是马具、挽具,引申义是”把马套上车的那套装置”。
用在 Agent 上很贴切:模型是那匹马,Harness 是把马的力气真正转化成”干活”的整套装置。
dsh 的官方定位可以用一句话概括:Model + Harness = Agent。模型负责推理和生成,Harness 负责模型之外的一切——agent loop、工具调度、上下文管理、会话状态、权限链路。它提供的形态包括:Python 库和 dsh CLI、浏览器里的 Web UI、无界面的 headless 模式,以及 MCP 服务,底层跑在一个叫 Cordis 的插件内核上。
一句话:dsh 不是又一个”聊天窗口”,而是让你在上面搭建、运行、甚至改装 Agent 的运行时。
为什么 Harness 对 Agent 很重要
先说一个容易被忽略的事实:模型权重里不包含”干活”的能力。
一个能真正完成任务的 Agent,至少需要五件事:感知(读文件、查状态)、决策(拆任务、定计划)、行动(调工具、执行命令)、记忆(记住上下文和中间结果)、恢复(出错后读日志、换路径、重试)。这五件事没有一件长在模型参数里,全靠外面的那层壳实现。
这层壳就是 Harness。它承载 agent loop,编排工具调用,管理上下文预算,维护多步任务的状态。这也是 DeepSeek 强调 Model + Harness = Agent 的原因——模型负责推理,Harness 负责把推理变成行动。
顺着这个思路往下想,会发现一个更重要的判断:当头部模型能力越来越接近,Agent 的差距正在从”模型”转移到”壳”上。谁的运行时更稳、上下文治理更聪明、工具调度更可靠,谁的 Agent 就更好用。我拆 Claude Code 源码的时候就有这个体感——真正影响好不好用的,往往不是模型多强,而是 runtime、会话管理、工具调度这些工程细节。dsh 是模型厂商第一次把这一层当作核心产品来认真做。
“一切皆插件”不是口号,是架构
dsh 最核心的设计理念,就是 Everything is a Plugin。
这不是营销话术,而是架构事实:在 dsh 里,几乎每个组成部分都是插件——
- 模型是插件:模型提供商可以插拔,今天用 DeepSeek,明天可以换别的
- 工具是插件:文件读写、代码执行、搜索,都以插件形式注册
- 上下文和记忆是插件:上下文怎么管理、记忆怎么存,可以换成自己的实现
- 连 agent loop 本身都是插件:循环不是写死在内核里的,可以被替换、被改写
内核只保留最小的一层”壳”,负责加载插件、按事件把插件串起来,其余全部交给插件。这个设计有三层意义:
可替换。 想换模型、加工具,不用动框架本身,换插件就行。
可组合。 功能以插件为粒度组装,像搭乐高,也像 Android 的应用生态——官方提供基础件,剩下交给社区。社区里已经冒出了插件市场、Web 端插件管理器这些周边项目,说明这个思路正在被验证。
可自修改。 既然一切皆插件,Agent 理论上可以在运行时管理自己的插件——加插件、换插件、改自己的行为。很多报道把它称为”自进化软件”的雏形。听起来有点科幻,但”Agent 能改装自己”确实是这个架构最自然的结果。
对普通开发者来说,这意味着扩展 dsh 的成本,从”改框架”降到了”写插件”。
Web UI 和 headless,两种打开方式
dsh 提供了两种典型的使用形态,对应两类场景。
Web UI:人机协作的工作台。 安装后拉起 Web UI,在浏览器里和 Agent 对话、查看会话、管理插件。适合你坐在电脑前,和 Agent 一起调试代码、边看边改的场景。官方仓库里提供了独立的 Web 应用包(npm 上的 @deepseek-ai/dsh-web-app),可以本地自托管;社区也有人做了 Electron 桌面壳,想当普通 App 用可以关注。
headless:无人值守的自动化。 不需要界面,通过 CLI 或 Python SDK 以程序化方式驱动 agent 循环,适合写脚本、接 CI、跑批量任务,或者把 dsh 嵌进自己的产品里当”干活引擎”。官方部署指南里也给了两条接入路径:一条是 npx 一键拉起 Web 端,另一条是直接用 Python SDK 做完整接入。
两种形态共用同一套插件体系,切换成本很低。建议先开 Web UI 把交互玩明白,再把重复性任务脚本化、挪到 headless 里去跑。
别忘了:它还是开发者预览版
最后说点冷静的。dsh 目前的身份是 v0.1 开发者预览版(developer preview)——虽然已经 MIT 开源,代码可读可改,但官方定位很明确:还不是稳定版。
这意味着几件事:
- 迭代会很快:功能、接口都在快速演进
- 兼容性可能变化:API、插件接口、配置格式都可能调整,甚至出现破坏性变更,不保证向后兼容
- 别在关键生产链路上深度绑定:拿它学习架构、写插件、跑实验完全没问题,但生产环境建议锁好版本、关注 changelog、给插件做版本管理
这类项目资料更新极快,本文基于 2026 年 8 月中旬的公开信息写成,具体以官方仓库和发布页为准。
结尾
dsh 的发布,在我看来是一个信号:模型厂商终于开始认真做”模型外面那层壳”了,而且选了最开放的方式——MIT 开源 + 一切皆插件。
无论 dsh 最终能不能成为主流,**”Agent 的差异在 Harness,而 Harness 应该是可拼装的”**这个判断,很可能会成为接下来一两年 agent 开发的共识。
如果你也感兴趣,建议做三件事:去官方发布页读一遍介绍,去 GitHub 仓库翻翻架构,然后动手写自己的第一个插件——毕竟一切皆插件,动手才是最快的理解方式。
延伸阅读
- 深度揭秘 Claude Code:为什么它是最强大的 AI 编程助手?:如果你想看 Agent runtime、tool 调度、compact 和 permissions 这些工程细节,可以继续读这篇。
- Mac 上的 AI 编码利器:打造高效命令行工作流:如果你关心 AI coding 落到日常开发时,终端工作流怎么配,可以看这篇。
说明:本文由 DeepSeek V4-Flash 模型撰写,内容基于 DeepSeek 官方发布页、GitHub 仓库(deepseek-ai/DeepSeek-Harness)与公开报道整理,文中观点为个人判断,不代表官方立场。dsh 仍处于开发者预览阶段,接口与兼容性可能变化,具体以官方文档为准。