DSH 插件
+268 新增 · 2026-08-15

DeepSeek Harness
Plugins MarketplaceDeepSeek Harness 插件市场

719 个可安装的 dsh 插件,688 个通过全部七项结构复核。每一条都是拉取 npm 发布包逐字节核对出来的——不是收集链接。

719
可安装插件
688
通过全部结构检查
38
依赖版本已过期
1,031
已索引的包

按用途浏览

全部 719 个

什么是 DeepSeek Harness 插件?

dsh 插件是一个在 package.json 里声明 dsh.bundle 并附带 cordis.patch.yml 的 npm 包。那个 YAML 是一层配置补丁,往 harness 的插件树里插入或替换若干行。

DeepSeek Harness(dsh)是 DeepSeek 于 2026 年 8 月 10 日发布的开源 agent harness,基于 Cordis 构建,把一个想法推到了极限:一切皆插件。模型适配器、工具注册表、会话日志——连 agent loop 本身——全都是插件,因此全都能从配置里替换掉。

所以 dsh 插件不是注册在某个插件 API 上的回调,而是一个有序叠放的配置层。安装一个插件,就是把它的 patch 追加进你的 profile;patch 按 id 定位行,后叠的层胜出。这里没有需要 hook 的特权内核,因此也不需要任何逃生舱口。

插件模块导出 apply(ctx),通过 ctx 注册服务、类型化事件、工具和提示词片段——每一次注册都是可撤销的副作用,卸载插件时全部自动回滚。

为什么要用 dsh 插件?

因为替换一个提供方就能改变整个产品:把文件系统和进程提供方指向远程沙箱,Bash、PTY、LSP 会一起搬过去——不需要为每个工具做一份 fork。

dsh 把每项能力建模成一条 seam,包含三个角色:声明接口的 Service Definition、实现它的 Service Provider、以及使用它的 Consumer(通常是面向模型的工具)。扩展只依赖定义、绝不依赖具体提供方,所以换提供方对下游完全透明。

实际收益是覆盖面。目前已有 719 个可安装插件,触及的领域是单一厂商要花数年才能覆盖的:137 个 Web 界面插件、99 个模型提供方、73 个视觉与多模态插件、56 个搜索插件、51 个用量与成本计量、45 个技能包。

harness 还允许 agent 修改自己的运行时。cordis_define 工具让模型在对话过程中现写一个插件并实时挂载,之后再卸下——这只有在每次注册都可撤销的前提下才可能成立。

怎么安装 dsh 插件?

执行 dsh plugin --profile <名字> add <包名>。它把参数转发给 profile 目录里的 pnpm,如果这个包声明了 dsh.bundle,就把它追加进该 profile 的层列表。

先用 npx @deepseek-ai/dsh web 启动,Web UI 默认在 127.0.0.1:3080。dsh 要求 Node ^22.19 或 >=24。

装完先别启动,执行 dsh --profile <名字> --dump-config。它打印实际组合出来的配置树;你的插件如果没出现在里面,问题在安装这一步,不在插件代码里。

优先从 npm 装,不要从 git 装。npm 包是作者发布时构建好的产物,安装过程不执行这个包的任何代码;从 git 装拉到的是源码,需要在 profile 的 pnpm-workspace.yaml 里开 allowBuilds——那等于允许这个包在你机器上执行代码,且不在 agent 的任何沙箱内。

dsh 和 Claude Code、OpenClaw、Hermes Agent 的区别

四个都是 agent,但只有 dsh 把 agent 循环本身也做成了可替换的插件。下表每一格都能从各自的仓库里核对。

DeepSeek HarnessClaude CodeOpenClawHermes Agent
是什么一切皆插件的 agent harnessAnthropic 官方编码 agent个人 AI 助手与多渠道网关自我进化、自己长出技能的 agent
扩展模型有序配置层,按 id 定位行Skill、MCP、hooks、subagent扩展与提供方插件从经验中习得并打磨的技能
agent 循环可替换吗可以,它本身就是插件不可以不可以不可以
主要语言TypeScriptTypeScriptTypeScriptPython
最适合的场景改造 harness 本身今天就在终端里写代码从任意渠道触达一个助手让 agent 自己积累能力

适合谁用

改造 harness 的人

你想替换掉 agent 循环、工具流水线或会话存储,而不是绕过它们。没有别的 harness 允许你从配置里换掉这些。

扩展 Web 界面的人

719 个插件里有 359 个通过 dsh.client 附带浏览器半侧,所以 GUI 和后端用的是同一套扩展机制——一个包,两个半侧。

从别的 agent 迁移过来的团队

桥接已经有了:10 个包做 Claude Code 兼容,10 个做 Codex,还有专门的插件把 Claude Code、Codex、ChatGPT、Cursor、Gemini 的聊天记录导入进来。

插件作者

生态只有 4 天,每天新增约 240 个插件。719 个里只有 7 个填了展示元数据,所以一个包装得当的插件立刻就能被看见。

常见问题

DeepSeek Harness 有多少个插件?

截至 2026 年 8 月 15 日,npm 上有 719 个可安装的 dsh 插件——即声明了 dsh.bundle、因而贡献一层配置的包。另有 312 个相关包被索引为库或浏览器半侧,共计 1031 个。第一个插件发布于 2026 年 8 月 13 日,比 dsh 本身上 npm 晚三天。

dsh 插件安装安全吗?

插件运行在 dsh 进程里,权限和 dsh 一样大,所以安装它等同于运行作者的代码。结构复核能查出打包缺陷——719 个里有 688 个通过全部七项——但它读的是包装,不是行为。优先从 npm 安装,安装过程不执行包内任何代码;从 git 安装需要开启 allowBuilds,那会在你机器上执行该包的构建脚本,且不在任何沙箱内。

DeepSeek Harness 和 Claude Code 有什么区别?

Claude Code 是 Anthropic 官方的编码 agent,通过 skill、MCP、hooks 和 subagent 扩展,但它的 agent 循环是固定的。DeepSeek Harness 把循环本身也做成插件,因此可以连同模型适配器、工具注册表、会话日志一起从配置里替换。今天就要写代码,选 Claude Code;要改造 harness 本身,选 dsh。

怎么发布一个 dsh 插件?

发布一个包含三个文件的 npm 包:声明 "dsh": { "bundle": { "patch": "./cordis.patch.yml" } } 的 package.json、patch 文件本身、以及它引用的插件模块。patch 文件必须出现在包的 files 数组里——漏掉它是这份目录里最常见的失败,因为包能正常装上,而那个层根本不存在。keywords 里加上 dsh-plugin,目录就能抓到你。

这里的排序为什么不看下载量和 star?

因为生态里每个插件都不到一周,下载量和 star 编码的是发布先后而不是质量——绝大多数条目都接近 0。排序改用结构性证据:声明的 patch 是否真的打包发布、patch 行在用户机器上能否解析、声明的浏览器半侧是否存在,以及插件的 dsh 依赖区间是否还能接纳当前已发布的版本。