DeepSeek Harness 通常简称为 DSH,是 DeepSeek AI 开源的智能体框架。它不是一个模型,也不是一个聊天客户端。它负责把模型、工具、界面与技能编排成一个智能体循环,你可以在本地运行它,并从任意方向扩展它。它的核心主张说起来很简单,落地却并不常见:一切皆插件。
核心思路:一切皆插件
在多数智能体工具里,外壳是固定的,扩展只能挂在少数几个预设的钩子上。而在 DSH 中,外壳本身也是由插件组装起来的。模型适配器是插件,工具注册表是插件,会话日志是插件,你输入文字的那个界面也是插件。这意味着插件不仅可以新增一项能力,还能替换一项能力。正因如此,社区生态里既有桌面客户端、终端前端和整套替换式侧边栏,也有小巧的实用工具。
对你的实际影响是:一旦缺了什么,答案通常是“装个插件”,而不是“等官方更新”。
底层运行着什么:Cordis
DSH 由 Cordis 驱动,后者是一个轻量级插件运行时。插件导出一个 apply(ctx) 函数,并通过上下文对象注册能力、监听事件、清理自己留下的痕迹。运行时负责加载、排序与销毁,因此插件之间保持相互独立,可以在 harness 运行期间随时加装或移除。
如果你打算动手做点什么,这一段值得读两遍,因为它决定了当另一个插件被卸载、或者 harness 重新加载时,你的插件会如何表现。
你可以改动的地方
生态按能力领域而不是按代码仓库来组织插件。实践中,人们扩展最多的接入面是:
| 接入面 | 插件在这里做什么 |
|---|---|
| 界面 | 主题、侧边栏、终端前端、桌面外壳 |
| 会话 | 输入框增强、历史记录、归档、文件提及 |
| 记忆与上下文 | 上下文查看、压缩控制、跨会话召回 |
| 工具 | 网页搜索、视觉与 OCR、办公文档、Shell 访问 |
| 智能体 | 技能包、子智能体编排、评估循环 |
| 集成 | MCP 桥接、浏览器控制、远程访问、通知 |
| 模型 | 适配器、路由、降级链、成本追踪 |
每个领域的完整说明见分类索引。
运行它
DeepSeek Harness 以 CLI 形式发布,无需全局安装即可启动:
npx @deepseek-ai/dsh web
Web UI 会在 http://127.0.0.1:3080 打开。之后,插件会被安装进 web profile:
dsh plugin --profile web add <package>
该命令会在 profile 目录内转发给 pnpm,所以安装好的插件就是一个普通的 npm 包,harness 在启动时加载并注册它。
开发者预览的代价
DSH 明确处于开发者预览阶段。各版本之间出现破坏性变更是预期之内的事,这也是插件需要声明 dshTarget 版本(例如 rc.6)的原因。当你升级 harness 后,针对旧目标版本编写的插件可能不再加载。这不是生态崩坏的信号,而是快速演进的插件运行时所要付出的成本;也正因如此,一个记录兼容性信息的目录站点,比一份纯仓库清单更有价值。
插件从哪来
官方团队构建核心与 Cordis 运行时。它不运营插件注册表,也不接受外部 pull request。社区插件托管在 GitHub 的 dsh-plugin 话题下,目录站点正是通过这个话题发现它们。本站是社区项目,与 DeepSeek AI 没有隶属关系。
FAQ
DeepSeek Harness 和 DeepSeek 的聊天应用是同一个东西吗?
不是。聊天应用是一个托管产品。DSH 是一个你自行运行、用插件扩展的本地智能体框架。
使用它需要写代码吗?
不需要。你可以用一条命令安装社区插件。自己写插件是可选项。
DSH 免费吗?
免费,它是开源的。各个插件属于社区项目,遵循各自的许可证。
除了 DeepSeek,我可以用其他模型吗?
可以。模型适配器本身就是插件,因此可以接入其他厂商,具体取决于适配器的支持情况。