dsh-plugin-manager-plus
DiscoveredDeepSeek Harness Plugin Management Enhancements: Tag Filtering, Search Sorting, Batch Operations, Icons, and AI Renaming (Unofficial, Surface v1)
插件管理增强 · plugin-manager-plus
给 DeepSeek Harness 原生「插件」页加一层增强:标签筛选、搜索、排序与拖拽、批量操作、名称/简介/图标改写、AI 生成、快速卸载,并把同一套能力通过 Surface 契约复用到其它插件列表页面(如分身管理)。
纯展示层叠加:不改原生 DOM 结构、不移动节点,只写文本与样式;禁用插件后原生页面即刻恢复原样。

非官方第三方插件,与 DeepSeek 官方无关。当前版本 v0.9.1。
功能
筛选与搜索
- 标签筛选条:全部 / 启用中 / 未启用 + 自定义标签 + 「+新建」。
- 「启用中 / 未启用」是派生标签:读卡片内启用开关的
aria-checked自动归类,不需要手动维护,也不能删除或改名。 - 「内置 / 实验性 / 已安装」分组标签自 v0.9 起移除——原生页面本身已按这三个分区展示。
- 「启用中 / 未启用」是派生标签:读卡片内启用开关的
- 搜索框:名称按严格子串匹配(原生名与自定义名都参与),简介按模糊子序列匹配;与当前标签筛选取交集。
排序与手动拖拽
- 「排序」下拉:手动顺序 / 名称 A→Z / 名称 Z→A / 启用优先 / 版本高→低 / 最近出现。
- 「调整顺序」进入拖拽模式:整卡可拖,落点画插入指示线、松手才提交,卡片之间空隙也能放置;顺序按分区保存(
all/tag:<id>)。 - 拖动期间面板抑制原生 hover 背景,结束后不会残留高亮。
批量操作
- 工具栏「批量操作」进入后分裂为「全选」与「完成」。
- 点击卡片多选,右键出批量菜单:批量添加标签 / 批量添加到分身 / 批量卸载(卸载带确认,失败项保留选中)。
- 批量只作用于「仍选中且当前可见」的卡片;工具栏有
aria-live的「已选择 N 项」计数。
卡片编辑
- 重命名:自定义显示名称与简介,原名保留为小字;改名后立即反映到卡片。
- 图标:右键「更改图标…」打开图标库,内置图标与已上传图标平铺同一网格,支持 png / jpeg / webp / gif / svg / ico 单图或 zip 批量上传;内置与上传图标都可多选删除。
- 卸载:右键「卸载…」调用原生卸载,仅对可卸载插件出现。
AI 生成名称与简介
- 重命名弹窗底部「一键生成」:默认直接使用 DSH 当前默认模型,无需单独填 API Key。
- 可编辑五段式提示词(角色 / 原始信息 / 要求 / 输出格式 / 自审),支持
{name}、{description}、{existingNames}占位符,可恢复默认。 - host 侧多轮自检:合法 JSON、长度、名称不与其它插件重复,不合格把问题反馈给模型重答(最多 3 轮)。
- 模型选择:可跟随默认模型,或指定 provider/model 并使用其最低推理档;
deepseek-official在凭证可用时优先走直连 API,失败静默回退 DSH 原生调用。 - 生成中提示「AI 正在后台生成…」,成功提示「插件「旧名」已重命名为「新名」」;生成期间关闭弹窗不会取消后台任务。
- 也可显式配置 OpenAI 兼容端点(
config.ai或PMP_AI_*环境变量),详细见 REFERENCE。
右键菜单与键盘
- 菜单项:重命名… / 更改图标… / 添加标签 ▸ / 添加到分身 ▸ / 卸载…,越界自动翻转。
- 完全键盘可用:
↑/↓移动、→/Enter展开子菜单、←返回、Esc关闭整个菜单;菜单打开不预亮首项。 - 点击菜单外部第一次只关闭菜单,不会误触下层卡片。
安装防自动启用
通过原生安装入口(含市场一键安装)装好的插件默认处于关闭状态,避免装完即激活。
Surface 契约与「添加到分身」
- 任何页面按 Surface 契约 v1 标注
data-plugin-surface/data-plugin-caps等属性,即可复用本插件的筛选、改名、图标、排序、批量等能力;能力按caps裁剪。 - 原生插件页是隐式 surface,零适配。
- 「添加到分身」读取分身管理插件的实例列表:运行中或已安装的分身置灰并标注原因,其余点击即添加(添加后需重启该分身生效)。
兼容性
| 项目 | 说明 |
|---|---|
| DSH Desktop | 在 0.2.2-rc.1 上验证;同时兼容 0.2.1-rc.5 的页面结构(v0.9.1 起自适应两种 DOM) |
| 运行环境 | DSH Web 客户端(platform: web),无第三方运行时依赖 |
| 浏览器 | Chromium / Edge 内核(随 DSH 桌面端) |
| 平台 | 主要验证 Windows;依赖 DSH 私有插件 API 与 DOM 结构,其它版本可能失效 |
本插件使用了 DSH 未公开的插件加载与 DOM 结构;DSH 升级若改动这些结构,插件可能需要跟进适配。
安装
本插件未发布到 npm,通过 DSH profile 的本地 link: 依赖安装。以 Windows 默认 profile 为例:
-
关闭 DSH,克隆仓库:
git clone https://github.com/zefferry/dsh-plugin-manager-plus.git -
编辑
%USERPROFILE%\.dsh\profiles\desktop\package.json:- 在
dependencies中加入"@local/dsh-plugin-manager-plus": "link:<克隆目录>"(路径用正斜杠,如link:E:/tools/dsh-plugin-manager-plus); - 把
"@local/dsh-plugin-manager-plus"追加到dsh.profile.bundles数组。
- 在
-
在 profile 的
node_modules\@local\下创建指向克隆目录的 junction:mkdir "%USERPROFILE%\.dsh\profiles\desktop\node_modules\@local" mklink /J "%USERPROFILE%\.dsh\profiles\desktop\node_modules\@local\dsh-plugin-manager-plus" "<克隆目录>" -
重启 DSH。
若使用非默认
DSH_HOME或其它 profile,把上面的.dsh/profiles/desktop换成正在使用的 profile 目录即可。
卸载:关闭 DSH,移除上述依赖与 bundle 声明、删除 junction,重启即恢复原生页面;状态文件在 $DSH_HOME/plugin-manager-plus/state.json,可手动删除。
使用
筛选条与工具栏

从左到右:标签 pills(全部 / 启用中 / 未启用 / 自定义标签 / +新建)→ 搜索框 → 批量操作 → 调整顺序 → 排序。
右键菜单

手动排序
点「调整顺序」进入拖拽模式,拖动任意卡片到目标位置松手即可;再次点击「调整顺序」退出。退出后 draggable 与把手会被清理。
AI 生成
在重命名弹窗底部点「一键生成」。未配置 AI 时按钮禁用并显示「AI 未配置」;默认模型不可用时状态行会说明原因。详细配置与多轮校验规则见 REFERENCE。
状态与数据
| 数据 | 位置 |
|---|---|
| 标签、分区顺序、名称/简介/图标覆盖、AI 提示词、模型选择 | $DSH_HOME/plugin-manager-plus/state.json |
| 上传的图标 | $DSH_HOME/plugin-manager-plus/icons/ |
| AI 失败诊断(一行 JSON,权限 0600) | $DSH_HOME/plugin-manager-plus/ai-error.log |
状态写入使用原子替换 + 版本 CAS;文件损坏会备份为 state.json.bak-<时间戳> 并以空状态继续。
项目结构
plugin-manager-plus/
├── package.json # DSH 插件清单(bundle patch + web client)
├── cordis.patch.yml # 把插件插入 bundle
├── host/index.js # 状态存储、HTTP 路由、AI 代理、图标库
├── client.js # 浏览器端全部 UI(纯 DOM,无构建步骤)
├── locale/{zh,en}.json # 插件列表里的标题与描述
├── assets/icon.svg # 插件图标
├── docs/
│ ├── REFERENCE.md # 完整参考(功能明细、HTTP 接口、状态 schema、AI 配置、限制)
│ ├── Surface契约-v1.md # Surface 契约定义
│ └── screenshots/ # 截图
├── CHANGELOG.md
├── LICENSE
└── README.md
已知限制(摘要)
- 「配置条目卡」没有启用开关:只支持改名称,不参与状态筛选,也不能改图标。
- 状态筛选下隐藏「调整顺序 / 排序」:状态视图跨三个分区,无法表达分区手顺。
- 跨窗口同步是 2.5 秒轮询,不是实时推送。
- 图标库上限 100 张;单图 ≤512KB,zip ≤8MB / ≤40 张。
- 手动排序模式下卡片
:hover背景会被抑制(这是为消除拖动残留高亮做的取舍)。 - AI 输出质量取决于所接模型;推理强度由模型元数据决定,无档位时不下发该参数。
- 体积:
client.js219,105 B +host/index.js89,267 B ≈ 301 KiB。
完整限制与行为边界见 REFERENCE。
开发
- 无构建步骤:
client.js由 DSH 的window.__ModuleLoader__直接加载,host/index.js由 Cordis 加载。 - 修改后重启 DSH 生效;提交前至少执行:
node --check client.js
node --check host/index.js
- 维护者内部测试(Node DOM 垫片 + 真实 desktop host + Edge headless E2E)未随本仓库发布;本仓库只包含运行时代码与文档。
更新日志
见 CHANGELOG.md。
许可
MIT License,见 LICENSE。
致谢
- 由 DeepSeek Harness 的插件机制承载;本项目为第三方增强,非官方组件。
Comments
Loading…
Similar plugins
by 2768651338
DeepSeek Harness 的图形化插件管理插件:在 设置 → 插件 里新增「插件管家」标签页,用中文名和说明展示每个插件是做什么的,并提供一键启停开关与内置备注编辑——启停写入全局层补丁并实时热生效,备注保存到本地覆盖文件长期生效。
★ 9
MIT
JavaScript
Oct 20, 2026
dsh plugin --profile web add @2768651338/dsh-plugin-managerby nanbbb
DeepSeek Harness 增强插件:视觉/记忆设置面板 + 插件市场 + 本地模型 + 一键重启引擎
★ 0
MIT
JavaScript
Aug 15, 2026
dsh plugin --profile web add dsh-plusby YUYUY9527
外部插件管理器 for DeepSeek Harness (dsh): inventory + one-click update for a profile's third-party plugin packages. Settings -> Plugins UI + agent-facing tool.
★ 0
MIT
JavaScript
Sep 23, 2026
dsh plugin --profile web add dsh-plugin-managementby Feng-jsy
轻量插件增强 for DeepSeek Harness: 区分官方/第三方插件,一键启用/停用第三方插件 (Lightweight plugin enhance)dsh-plugin
★ 0
MIT
TypeScript
Aug 20, 2026
dsh plugin --profile web add dsh-lightweight-plugin-enhanceby huabai-flowerwhite
面向 DeepSeek Harness(dsh)的**第三方插件管理器**:在 Web UI 设置页选择第三方插件库文件夹,搜索其中所有第三方插件,并一键关闭/启动(刷新 dsh 后生效)。
★ 3
↓ 185/wk
MIT
JavaScript
Oct 25, 2026
dsh plugin --profile web add dsh-plugin-managerby koji-xiaoer
DSH(DeepSeek Harness)插件仓库:增强主页、模型选择器增强、费用预估等插件与一键安装脚本
★ 0
MIT
JavaScript
Nov 3, 2026
dsh plugin --profile web add dsh-mods-enhanced