APIMODELSAPIMODELS

DSH 插件目录:DeepSeek Harness 里真正有人在用的插件

最后更新 2026-11-04 · 数据抓取于 2026-08-16

TL;DR DeepSeek Harness 把「一切皆插件」做到了底 —— 它自己的模型适配、凭据、设置、界面都是插件,所以第三方能做的事和官方一样多。代价是生态在五天里长出 795 个包,而有人真正在用的只有 56 个。下面这 44 个满足「有公开仓库 + 周下载量不少于 100」,按解决的问题分类。安装一条命令:dsh plugin --profile web add <包名>。注意:插件在 harness 进程内以全部权限运行,没有沙箱。

DeepSeek Harness(DSH)是一个 agent 框架,它的插件模型不是「宿主留几个扩展点给你」,而是宿主自己就由插件组成。一个插件是一个在 package.json 里声明了 dsh.bundle 的 npm 包,里面导出 apply(ctx, config);它能注册模型可调用的工具、注册一个由 schema 直接渲染出来的设置页、往界面的插槽里挂组件,也能整个替换掉某项内置能力。正因为没有二等公民,社区在几天内就把它铺满了。

这份目录的价值不在于全 —— 全量镜像既维护不动也帮不到人。它的价值在于有一条你能自己复算的收录规则,以及按「解决什么问题」而不是按名字排列。想接入模型而不是装插件,看 在 DeepSeek Harness 里跑任意模型 —— 那条路不需要写插件。

这个生态有多大,又有多空

全部数字抓于 2026-08-16,来源是 npm 的公开搜索接口(text=keywords:dsh-plugin,分页取满 795 条),每一行都可以自己跑一遍复算。

指标数值
带 dsh-plugin 关键词的 npm 包795
其中声明了公开仓库608
其中有任何周下载记录56
周下载量 ≥ 10052
周下载量 ≥ 100016
全部包的最近发布日区间2026-08-13 — 2026-08-16
本页收录44

换句话说:每 14 个挂着这个关键词的包里,大约只有 1 个有人下载过。这不是在批评谁 —— 一个五天大的生态本来就该是这个形状。它只是说明,面对 795 这个数字时,「有没有人用」比「有没有」更值得先看一眼。npm 的下载统计有约一天延迟,所以抓取当天新发布的包会被低估。

收录规则

取 npm 上带 dsh-plugin 关键词的全部 795 个包,筛出「有公开仓库地址」且「周下载量不少于 100」的,命中 45 个;其中一个实际上是给另一个 harness 写的、关键词挂错了,人工剔除,剩 44 个。条目描述由我们依据各包自己的 npm manifest 重写,中英各写各的。我们没有逐个跑过这些插件 —— 这是目录,不是评测,收录不等于推荐。

给纯文本模型加眼睛

DeepSeek 系列模型不吃图,所以 DSH 开箱状态下看不了截图、设计稿、报错弹窗。这是整个生态里被重复实现最多的一类 —— 每一个都在解同一个缺失能力:把图转给另一个有视觉的模型。

@dttxorg/deepseekeyes

575 次/周 · MIT仓库

视觉 + computer use 运行时,保留可审计的原图,能回头核对模型当时到底看到了什么。

dsh-tool-vision

355 次/周 · MIT仓库

加一个 inspect_image 工具:把本地图片或图片 URL 发给任意 OpenAI 兼容的视觉端点,把看图结果带回当前回合。

dsh-vision-mix

255 次/周 · MIT仓库

把图片路由给视觉模型,同一个插件里还带图片生成和编辑。

接入别家模型

DSH 自带的模型来源只有两个:DeepSeek 自己,和一个通用的 OpenAI 兼容适配器。其余一切 —— Claude、GPT、Gemini、你已经在付的订阅 —— 都得靠插件或那个适配器接进来。

dsh-codex-oauth

1,158 次/周 · MIT仓库

走独立 OAuth 流程,把已有的 ChatGPT Codex 订阅用在 DSH 里,而不是另外按量买 key。

dsh-codex-connect

196 次/周 · Apache-2.0仓库

同一个问题的另一种做法:ChatGPT OAuth 加 Codex 模型路由。

找插件、管插件

795 个包挂着同一个关键词,却没有官方注册表 —— 于是"找插件"本身在几天内长成了一个插件品类。下面有几个能直接在界面里替你装别的插件。

dshmarket

11,862 次/周 · MIT仓库

生态里下载量最高的一个:在 DSH 界面内的可视化市场,能搜索、一键安装。

dsh-find-plugin

1,198 次/周 · MIT仓库

让 agent 在对话里直接搜 GitHub 的 dsh-plugin topic 并排序,把"找插件"这件事留在会话内。

在设置页浏览同一个 GitHub topic,按 star 排序,每个仓库都给出安装方式。

dsh-plug-manager

111 次/周 · MIT仓库

替你调 dsh plugin 命令,在 profile 里装、删、更新插件。

体检与护栏

DSH 插件在 harness 进程内运行,拿得到 harness 拿得到的一切 —— 没有沙箱。这一类之所以存在,是因为"装一个陌生人的 npm 包"是真实的风险面,它们把盲装变成知情安装。

dsh-plugin-vetting

819 次/周 · MIT仓库

装之前先做静态体检:标出可疑模式、越权的文件路径、没检查过的依赖。

给"自我修改后重启"上硬闸:只有在该 git HEAD 上构建通过,harness 才允许起回来。

dsh-auto-review

156 次/周 · Apache-2.0仓库

在审批请求前放一个只读的第二模型当审查员,风险动作在你点确认前先被过一遍。

远程与移动访问

DSH 默认只绑本机回环。想用手机、另一台机器、或 SSH 进远端工作区来指挥 agent,都得靠插件。

dsh-pocket

4,381 次/周 · GPL-2.0仓库

扫码就能用手机操作电脑上正在跑的 DSH,局域网和公网都行。

dsh-remote

691 次/周 · MIT仓库

用密码或密钥走 SSH 连上去,再在远端机器上选工作区。

dsh-full-remote

422 次/周 · MIT仓库

重写 Host 和 Origin,让 DSH 不在 localhost 上提供服务时设置页仍然可用。

dsh-remote-plugin

389 次/周 · MIT仓库

侧边栏入口加内嵌管理控制台,网关作为独立 systemd 单元随 DSH 自动启停。

dsh-chrome

266 次/周 · MIT仓库

把整个 DSH 网页界面塞进 Chrome 侧边栏,agent 就贴在你正在看的页面旁边。

Windows 与桌面外壳

DSH 本体是一个从终端启动的网页界面。早期插件里有很大一批在把它包成"双击就能用"的东西,或者补上只有 Windows 才会踩的终端问题。

dsh-win32

1,535 次/周 · MIT仓库

Windows 生存包:沙箱内真的能跑的持久 shell、前台命令识别、旧编码文件读取。

dsh-desktop-windows

1,238 次/周 · MIT仓库

Windows 上的 Electron 桌面外壳,双击启动,不用记命令。

原生 Windows computer use 工具,agent 直接在真实桌面上动鼠标键盘。

dsh-mini-tui

145 次/周 · MIT仓库

极简终端界面,不开浏览器也能用 DSH。

dsh-dafeiyu

137 次/周 · Asset licence仓库

跟着会话事件动的桌面伙伴 —— 这个生态第一周就长出了桌宠。

dsh-cockpit

134 次/周 · MIT仓库

桌面式的项目与 AI 工作台布局,适合想要多窗口而不是一条聊天流的人。

编辑与代码工具

内置文件工具是刻意做薄的。这一类在替换或扩展它:哈希锚定的编辑(不会静默改错行)、死代码分析,以及给插件作者用的真实测试框架。

dsh-better-edit

1,404 次/周 · MIT仓库

哈希锚定的读、改、批量改和撤销:每一行带哈希,编辑不会静默落到错误的行上。

dsh-testkit

1,027 次/周 · MIT仓库

给插件作者的真实宿主生命周期测试:让插件跑在真的 harness 上,而不是 mock 一个 context。

dsh-graphlint

167 次/周 · MIT仓库

把死代码检测做成 agent 工具,模型可以直接问"哪些代码不可达",不用猜。

本机回环的 WebSocket 桥,把某个应用前端自己的工具映射给 agent。

上面那座桥的客户端 SDK:应用把自己的工具注册给 DSH。

联网与浏览器

DSH 没有内置联网能力。搜索 provider 和真实浏览器驱动,是 agent 看见互联网的方式。

@liustack/modsearch

4,097 次/周 · MIT仓库

给没有原生联网能力的模型补上网页搜索、X 搜索和页面抓取 —— 生态里下载量第三。

dsh-builtin-browser

1,808 次/周 · MIT仓库

agent 驱动的、看得见的真实浏览器,跨会话共用,装上即用,不用另配驱动。

记忆与人设

每个会话都是干净的。这一类把 agent 学到的东西跨会话留下来,也让你按工作区固定一套人设。

dsh-soul-md

399 次/周 · MIT仓库

人设卡加长期记忆:在设置页写好人设,可按工作区固定,也可给单个会话单独切换。

dsh-tdai-memory

367 次/周 · MIT仓库

分层记忆流水线:捕获、结构化提取、画像,再把召回结果自动注入上下文。

产出文档与幻灯片

把一次 agent 输出变成能交给别人的东西:幻灯片、PPTX、公众号草稿、设计规格、阅读摘要。

dsh-deepread

1,130 次/周 · MIT仓库

从长文档里抽核心论点、论证结构和关键证据,而不是给一段平铺的摘要。

plaindeck

1,073 次/周 · MIT仓库

git 原生的幻灯片格式,带 agent API、CLI 和渲染器 —— 幻灯片终于能好好做 diff。

design-playbook

900 次/周 · MIT仓库

用声明而不是提示词措辞来驱动 UI 生成,同一份规格得到同一套布局。

@liustack/pptfast

647 次/周 · MIT仓库

经语义中间层生成可编辑的 PPTX,打开是原生形状而不是一张张图。

dsh-wechat-mp

278 次/周 · MIT仓库

把 markdown 转成排好版的微信公众号草稿,样式一并处理。

确定性的学术写作护栏,防止模型把数字和引文一起改掉。

协议、通知与桥接

把 DSH 和外部连起来的接缝 —— 别的 agent 生态、ACP 客户端、你的音箱、某个应用的前端。

@microi.net/cli

1,966 次/周 · MIT仓库

一个多宿主插件加 CLI,覆盖服务器连接、技能、MCP 和低代码交付,DSH 是它支持的宿主之一。

pi2dsh

1,482 次/周 · MIT仓库

实现一层 Pi 宿主 ABI,让未经修改的 Pi 扩展直接在 DSH 里跑,把两个 agent 生态接起来。

@michengai/dsh-skills-manager

905 次/周 · Apache-2.0仓库

管理本地技能,并且能在共享的 agent 技能生效前先看清楚它是什么。

dsh-acp-enhanced

390 次/周 · MIT仓库

增强版 ACP 服务端,支持块级流式,并带上用量遥测(含缓存命中数据)。

dsh-speak

315 次/周 · MIT仓库

跑完出声播报,长时间的 agent 循环不用一直盯着。

dsh-ui-notify

149 次/周 · MIT仓库

会话结束时播一段内置提示音 —— 本表里最小的一个,适合当作读源码入门的第一个例子。

怎么装一个

  1. 1. 选一个 profile插件是按 profile 装的,不是全局。网页界面跑在名为 web 的 profile 里,所以带界面的插件都装到它上面。
  2. 2. 安装执行 dsh plugin --profile web add <包名>。这条命令会在 profile 目录里转发给 pnpm,所以 pnpm 的参数都能用,本地路径和 git 地址也行。
  3. 3. 让它自己登记只要依赖的 package.json 里声明了 dsh.bundle 字段,就会被自动登记进 profile 的 bundle 列表。不需要手改 profile 的 package.json。
  4. 4. 重启并确认重启 DSH。想先看合成后的插件树而不启动,用 dsh --profile web --dump-config —— 这是判断某个插件层到底有没有生效最快的办法。
# install into the profile behind the browser UI
dsh plugin --profile web add dsh-better-edit

# see the composed plugin tree without booting DSH
dsh --profile web --dump-config

装之前该知道的一件事

静态安装的插件在 harness 进程内运行,harness 够得到的它全都够得到:你的文件系统、你的 shell、你配在设置里的 API key。没有沙箱。这不是 DSH 做得不好,而是「插件能力和内置能力完全对等」这个设计的必然代价 —— 换来的是第三方能做的事和官方一样多。会话中现写的动态插件走的是另一条路:审批门控,一次确认只授权当前这版代码,双重确认才授权该插件的后续版本。上面「体检与护栏」那一类读的是打包结构和静态特征,能筛掉一装就废的包,但请不要当成安全背书。

很多插件底下缺的是模型

目录里最大的两类 —— 视觉和接入别家模型 —— 存在的原因是同一个:DeepSeek 系列模型只吃文本,而 DSH 自带的模型来源只有 DeepSeek 自己和一个通用 OpenAI 兼容适配器。所以视觉路由、第二模型审查、记忆抽取、搜索摘要这些插件,几乎都要你另外给一个端点和一把 key。

它们大多接受任意 OpenAI 兼容的 base URL,这意味着一把网关 key 就能同时喂全部,不必给每家厂商单开账号、各充一笔预付款。APIMODELS 就是这样一个网关:一个端点后面挂着 Claude、GPT、Gemini、Grok、DeepSeek 等 60 多个模型,共用一份余额按量结算。

想自己写一个

三个文件就够:一个声明了 dsh.bundle 的 package.json、一个描述你贡献那一层的 cordis.patch.yml、一个导出 name / inject / apply(ctx, config) 的 ES 模块。在 apply 里用 ctx.tools.register 注册模型可调用的工具,用 ctx.settings.register 交出一份 schema 就白得一个设置页(界面由 schema 渲染,所以页面上的选项永远不会和你的代码接受的参数漂移)。一条硬规矩:每项贡献都要交回 disposer,否则停用插件时残留的监听器会慢慢把进程拖坏。

常见问题

DeepSeek Harness 插件是什么?

一个 package.json 里声明了 dsh.bundle 字段的 npm 包。DSH 建在 Cordis 插件框架上,harness 自己的功能 —— 模型适配器、凭据存储、设置存储、网页界面 —— 全都是同一种插件。所以第三方插件能做的事和内置的一样多:注册模型可调用的工具、加设置页、挂前端界面,或者整个替换掉某项能力。

怎么安装 dsh 插件?

执行 dsh plugin --profile web add <包名>。插件是按 profile 装的,不是全局;网页界面对应的是 web 这个 profile。这条命令会把参数转发给 profile 目录里的 pnpm,凡是声明了 dsh.bundle 的包都会被自动加进该 profile 的 bundle 列表。

装 dsh 插件安全吗?

把它当成"以你自己的权限运行一个陌生 npm 包"来对待,因为事实就是如此:插件在 harness 进程内运行,harness 够得到的它都够得到 —— 你的文件系统、你的 shell、你的 API key。静态安装的插件没有沙箱。会话中现写的动态插件走的是审批机制:一次确认只授权该版本代码,双重确认才授权该插件的后续版本。上面列出的体检类工具读的是打包结构和静态特征,能过滤掉一装就废的包,但不等于安全背书。

有官方的 dsh 插件市场吗?

没有。截至 2026-08-16 官方没有注册表,这正是"找插件"本身变成一个插件品类的原因 —— 社区做了好几个能在 DSH 界面内安装其他插件的市场,而事实上的索引是 npm 的 dsh-plugin 关键词加 GitHub 的 dsh-plugin topic。

为什么这么多 dsh 插件在做视觉?

因为 DeepSeek 系列模型只吃文本。DSH 开箱状态下看不了截图、设计稿、报错弹窗,所以有一整类插件的全部工作就是把图转给另一个多模态模型再把结果带回来。它们无一例外都需要一个能收图的模型,也就是在 DSH 之外还要有一个端点和一把 key。

这些插件需要自己的 API key 吗?

要调模型的都需要 —— 视觉路由、第二模型审查、记忆抽取、搜索摘要,全都要打一个外部端点。它们大多接受任意 OpenAI 兼容的 base URL 和 key,所以一把网关 key 就能同时喂它们,不必给每家厂商单开账号。APIMODELS 就是这样一个网关:一个兼容 OpenAI 的端点后面挂着 Claude、GPT、Gemini、Grok、DeepSeek 等 60 多个模型,共用一份余额结算。

怎么自己写一个 dsh 插件?

三个文件。一个 package.json,声明 dsh.bundle(指向你的 patch 文件)和 dsh.plugin 元信息;一个 cordis.patch.yml,描述你这个包贡献的那一层;一个 ES 模块,导出 name、可选的 inject(硬依赖服务列表)和 apply(ctx, config)。在 apply 里注册你要贡献的东西 —— ctx.tools.register 注册模型可调用的工具,ctx.settings.register 注册一个直接由你的 schema 渲染出来的设置页,slots 挂前端界面。每一项贡献都要交回 disposer,这样停用插件才是真的停用。

插件装了但没反应,怎么查?

先跑 dsh --profile web --dump-config:它不启动就打印合成后的插件树,能立刻看出你的插件那一层到底有没有进去。层不在,常见原因是包根本没声明 dsh.bundle、patch 行里写了安装后解析不到的名字、或者声明了 patch 文件却没打进发布的 tarball。层在但功能没有,就去看这个插件是不是用 inject 声明了某个你这个 profile 里没挂载的服务作为硬依赖。

这份榜单怎么选的?有多新?

数据抓于 2026-08-16,来源是 npm 公开搜索接口:取所有带 dsh-plugin 关键词的包,筛出有公开仓库且周下载量不少于 100 的。这条规则在 795 个里命中 45 个,其中一个其实是给另一个 harness 写的、关键词挂错了,人工剔除后剩 44 个。条目描述是我们依据各包自己的 manifest 重写的,我们没有逐个跑过,收录不等于推荐。下载量是快照,npm 统计约有一天延迟,所以抓取当天发布的包会显得偏低。