在浏览器里搜索、安装并启停插件
27/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/30 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add imissthecat/dsh-plugin-manager该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
装得上吗[实装验证]—
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →数据截至 2026/10/02·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 搜索npm仓库
- 安装与卸载插件
- 启用或停用插件
一个能实际使用的 DeepSeek Harness WebUI 插件管理器:在浏览器里搜索 npm 仓库、安装、启用或停用、卸载配置档插件,不再依赖命令行 dsh plugin。
README
由 DeepSeek 最新模型翻译生成dsh-plugin-manager
一个可实际使用的 DeepSeek Harness WebUI 插件管理器:在浏览器里搜索 npm 仓库、安装、启用/停用、卸载 profile 插件,不再依赖命令行 dsh plugin。
界面与提示中英双语(跟随 UI 语言,中文优先;主机端报错也已中文化)。
功能
| 操作 | 说明 |
| 搜索 | 调 npm registry 搜索,只保留声明了 dsh(dsh.bundle / dsh.client)的包,标注 bundle / client 类型;无结果时自动回退到 @deepseek-ai scope 再搜一次 |
| 安装 | 在 profile 目录里执行 pnpm add ,并按 dsh plugin 的规则 reconcile dsh.profile.bundles(声明了 dsh.bundle 的依赖自动进 bundle 层)。
展开完整文档(README 剩余 1 节)
dsh-plugin-manager
一个可实际使用的 DeepSeek Harness WebUI 插件管理器:在浏览器里搜索 npm 仓库、安装、启用/停用、卸载 profile 插件,不再依赖命令行 dsh plugin。
界面与提示中英双语(跟随 UI 语言,中文优先;主机端报错也已中文化)。
功能
| 操作 | 说明 |
| 搜索 | 调 npm registry 搜索,只保留声明了 dsh(dsh.bundle / dsh.client)的包,标注 bundle / client 类型;无结果时自动回退到 @deepseek-ai scope 再搜一次 |
| 安装 | 在 profile 目录里执行 pnpm add ,并按 dsh plugin 的规则 reconcile dsh.profile.bundles(声明了 dsh.bundle 的依赖自动进 bundle 层)。bundle 层需重启 dsh 才生效,界面会明确提示 |
| 启用/停用 | 写 profile 的 cordis.patch.yml(- id: xxx, disabled: true/false),对已加载的行热重载、即时生效;disabled: false 能覆盖 base 层里的禁用 |
| 卸载 | 在 profile 目录里执行 pnpm remove 并 reconcile;被移除的 bundle 层仍会驻留到重启 |
| 清单 | 显示 profile 名/目录、bundle 层列表、已安装依赖、以及全部已加载行的 id / 模块名 / 启停状态 / 激活状态 |
安装
开发模式:link:(推荐,改代码/热更新用)
link: 把插件软链回源目录(不拷贝),改 lib/client.js 会被 dsh-client-hmr 检测到并热更新到浏览器,无需刷新:
cd /Users/imissthecat/plugin_dsh/dsh-plugin-manager
dsh plugin --profile web add .
等价写法:dsh plugin --profile web add link:$PWD。
注:早期版本因 @Remote 标记的模块私有状态必须用 file:;现已改用语义化 ctx.typert.register(...),不再有双依赖问题,link: 完全可用。
生产模式:file:(拷贝一份,脱离源目录)
dsh plugin --profile web add file:/Users/imissthecat/plugin_dsh/dsh-plugin-manager
从 npm(如果发布了)
dsh plugin --profile web add dsh-plugin-manager
无论哪种方式,装完首次都要重启 dsh web(bundle 层在启动时解析)。
使用
1. 重启后打开 WebUI → 设置 → 插件(Plugins),会多出一个 Plugin manager 标签页。
2. 顶部:输入 npm 包名/版本/git 地址/绝对路径 → Install;或输入关键词 → Search registry,从结果里点 Install。
3. 中部 Loaded plugins:每个已加载行有 启用/停用 状态点和 Disable/Enable 按钮,点击即时生效(热重载)。
4. 底部 Installed packages & bundle layers:列出 bundle 层和已安装依赖,依赖行有 Uninstall 按钮。
安全说明:这些 RPC 走 /api 通道,只有 loopback(本机浏览器)能触发;install 用 spawn 数组传参(不经过 shell),并拒绝 - 开头的 spec 和相对路径。不要把这个 web 端口暴露到公网,否则等同于把 pnpm add 交给远端。
工作原理(双面插件)
一个包同时是 bundle 和 client 插件:
package.json
├── dsh.bundle.patch = ./cordis.patch.yml # 插入 host 行 └── dsh.client = { platform: "web", ... } # 让浏览器内核扫描 ./client
cordis.patch.yml # 插入一行: id=plugin-manager, name=dsh-plugin-manager lib/index.js # HOST 半:提供 pluginManager 服务 + 注册 Typert RPC lib/client.js # 浏览器半:设置页 tab,通过 ctx.connection.rpc.call 调 /api
关键点:HOST 半用 ctx.typert.register({...})(src-json codec)把 pluginManager/ 五个 RPC 注册进宿主网关,而不是 @Remote 装饰器 —— 后者把标记存进 dsh-typert-protocol 的模块私有 WeakMap,一旦插件解析到自己的那份依赖就会对不上号(双依赖问题)。这样本插件只依赖 js-yaml 和 peer @deepseek-ai/cordis-plugin-include(entryListSchema),peer 一律由宿主提供。
目录
dsh-plugin-manager/
├── package.json
├── cordis.patch.yml
├── lib/
│ ├── index.js # host:RPC 服务(list/search/install/uninstall/setEnabled) │ └── client.js # browser:设置页 React tab(手写 __ModuleLoader__ bundle,无需构建工具) └── README.md
局限与说明
- bundle 层增删需重启:dsh.profile.bundles 在启动时解析,安装/卸载 bundle 只改 manifest + node_modules,重启才真正进入/离开配置树;界面会提示 restartNeeded。
- 纯依赖(非 bundle)不会自动出现在树里:装完还需要在 cordis.patch.yml 加一行(或用 bundle 引用它)才会加载。
- 启用/停用按本地 row id 写 patch,命中第一个同名 id;dsh 自带 bundle 的 id 唯一,但极端情况下嵌套子行 id 若撞名会有歧义。
- 搜索依赖 npm 的排序:官方 @deepseek-ai/dsh- 包在 npm 搜索里排名靠后,可能搜不到;可直接在 Install 框里输入完整包名安装。
- 安装/卸载会调用本机 pnpm,请确保 pnpm 在 PATH 上。
热更新 / 热加载
| 改什么 | 生效方式 |
| UI 文案/布局(lib/client.js) | 热更新:link: 安装后改源文件,dsh-client-hmr(500ms stat-poll)检测变化→改 rev→SSE 推给浏览器原地替换,无需刷新;file: 安装则改 profile 里的那份拷贝 |
| 启用/停用某行、配置覆盖(cordis.patch.yml) | 热加载:即时生效(界面「停用/启用」按钮走的就是这条) |
| 后端逻辑(lib/index.js) | 需重启:Loader 启动时 import 一次 |
| 安装/卸载 bundle 插件 | 需重启:dsh.profile.bundles 启动时解析 |
开发(改这个插件)
cd dsh-plugin-manager
npm install # 装 js-yaml + peer(仅本地类型/语法用;运行时 peer 由宿主提供)
node --check lib/index.js && node --check lib/client.js
推荐工作流:用 link: 安装 → 改 lib/client.js 看浏览器自动热更新;改 lib/index.js 后重启 dsh web 生效。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
imissthecat/dsh-plugin-manager
在浏览器里搜索、安装并启停插件
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,399未汉化DSH
73.6
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 2,049已汉化MCP
72.8
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,384已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13950 个插件含 PR 收录与…
★ 360已汉化DSH
71.9
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。