前言¶
在 DSH 里装插件、Skill 和 MCP 一多,常见问题是:清单分散在 profile、工作区和会话里,很难一眼看清「本机到底加载了什么、最近谁在调用、哪条在报错」。官方侧栏仍保留插件入口;若需要把条目摊成卡片、按来源归类,并用会话日志做一段时间内的调用与报错统计,还要在面板里做卸载、停用或 Skill 处置,就需要额外的客户端能力。下面介绍维护者 JHboy203 开源的 dsh-plugin-catalog(开发版,非最终版),它在 DSH 侧栏提供「插件目录」面板,并注册一组 catalog_* 工具供普通会话调用。
这是什么¶
dsh-plugin-catalog 是独立的 DSH 客户端插件(engines.dsh 声明 >=0.2.1-rc.1 <0.3.0,Node >=20)。侧栏面板 id 为 catalog(sidebar.panellist)。它把本机 插件与 Skill(README 与 package.json 描述中亦涵盖 MCP 相关条目与处置)以卡片形式列出,按来源四分类:官方 / 自写 / 第三方 / 混血;用会话事件日志统计最近 90 天内各工具调用次数、报错、耗时与涉及会话(子代理单独标记);并读取宿主 Loader 的 fiberPhase 等与声明层对账(运行期真相,README 中称 R35)。禁用本插件即可恢复官方界面,官方插件入口不隐藏。
仓库:https://github.com/JHboy203/dsh-plugin-catalog
社区目录页:https://www.skillhub.cn/plugins/JHboy203/dsh-plugin-catalog
当前 package 版本:0.35.0,许可证 MIT。README 标明功能与界面会不定期更新,配置与数据目录也可能变化。
核心功能¶
卡片、筛选与 90 天统计¶
点开侧栏「插件目录」后,每张卡片展示名称、简介(中文优先)、来源徽章、标签、创建/下载时间、调用总次数(含子代理拆分);有报错则显示红色「报错 N」chip。洞察条提供「全部 / 有调用 / 未使用 / 有报错 / 仅子代理」等筛选;可按来源 × 类型(插件/Skill)筛选,并按调用次数、报错次数、报错率、体积、最近使用等排序。搜索支持名称、简介、判定依据及工具名(如 catalog_export),便于定位提供该工具的插件。
统计数字来自会话事件日志的 90 天窗口;视图状态(筛选、搜索、排序、页码、滚动位置等)可写入 localStorage,热重载或刷新后尽量保持当前一屏。
体积、依赖与副本同步¶
体积为一等公民:后台快照(如 cache/sizes.json)与卡片/工具条合计;量不到的不显示「0 B」(例如官方 asar 内包)。依赖 chip 展示「被 N 依赖」或「无人依赖(候选)」,数据来自 profile 内 package.json 依赖关系扫描;「无人依赖」文案要求用 npm ls / pnpm why 再确认,不写成可直接删除。
副本同步对比工作区与加载副本:插件比四个关键文件的 size + mtime;Skill 比 SKILL.md 的 size + mtime + 正文哈希。不同步时标「副本不同步 / 副本较旧 / 工作区较旧」等;junction 安装会说明改源码即生效。
批次操作、导出与标签¶
多选模式下可批量导出、打标(purpose/context 三态逻辑),选中项跨筛选保留但重载后清空。工具条可「导出这 N 条」为 Markdown(reports/catalog-filtered-<时间戳>.md),同屏可导 CSV(UTF-8 BOM);全量快照仍可用工具 catalog_export(README 亦提到 catalog_export format=csv)。
支持自定义标签与 AI 分类(依赖宿主 llm 服务;无 AI 通道时相关按钮会提示不可用)、每周缺口分析与安全审核;自写/混血条目支持一键私有备份到 GitHub(README 说明含双语 README、密钥命中即停等约束)。
就地处置与 catalog_* 工具¶
面板与浮窗支持 Skill staging 同步(live → staging,需服务端 confirm:true)、历史备份还原(catalog_skill_sync 等);卡片底部可卸载插件(走宿主 removeBundle,不动文件)、停用/启用、删除 Skill(回收站可还原)及 MCP 条目相关处置(README/package 描述为两段式 + 备份 + 写后校验)。
内嵌审核/发布 Agent 同时注册为工具(catalog_*,README 称共 14 个),可在会话中用自然语言调起,例如「审一遍 dsh-screenshot」「列出我的自写插件」。
版本与 profile¶
| 项 | 说明 |
|---|---|
| 声明 DSH 区间 | >=0.2.1-rc.1 <0.3.0 |
| README 实测 | 0.2.1-rc.2 / 0.2.1-rc.3(Windows 11 · desktop · Node 24.21) |
0.3.x |
未验证;升级后 README 建议跑 node dev/probe-release.mjs |
| 适用 profile | desktop 及带 tools 与 webServer 的 profile |
版本不对时可能面板能开但按钮无响应,或整棵插件树加载失败;用到 pluginManager.listPlugins / removeBundle / setBundleEnabled 及 DSH 0.2.1 起 ctx.tools.register() 的 output 契约。
安装与启用¶
README 明确不要用 dsh plugin add / pnpm add / npm install 安装:pnpm 可能把 @deepseek-ai/dsh-tools 再 hoist 到 profile,遮蔽宿主,导致工具调用报 Cannot read properties of undefined (reading 'prepare') 或启动失败(does not provide an export named 'CallId')。推荐工作区克隆 + 符号链接/目录联接 + 改 profile 的 package.json。
1、确认宿主版本在支持区间内:
dsh --version
2、克隆到工作区(不要直接克隆进 profile 的 node_modules,否则会被后续 install 覆盖):
git clone https://github.com/JHboy203/dsh-plugin-catalog.git "<你的工作区>/DSH-Plugin/dsh-plugin-catalog"
3、链入 profile(<profile> 默认 desktop):
# macOS / Linux
ln -s "<你的工作区>/DSH-Plugin/dsh-plugin-catalog" ~/.dsh/profiles/<profile>/node_modules/dsh-plugin-catalog
Windows(cmd,不需管理员):
mklink /J "%USERPROFILE%\.dsh\profiles\<profile>\node_modules\dsh-plugin-catalog" "<你的工作区>\DSH-Plugin\dsh-plugin-catalog"
4、修改 <profile>/package.json 的 dependencies 与 dsh.profile.bundles,然后完全退出并重启 DSH:
{
"dependencies": {
"dsh-plugin-catalog": "link:<你的工作区>/DSH-Plugin/dsh-plugin-catalog"
},
"dsh": {
"profile": {
"bundles": [ /* …原有条目…, "dsh-plugin-catalog" */ ]
}
}
}
侧栏出现「插件目录」图标即安装成功。装完后若出现上述 prepare / CallId 问题,检查并移走 profile 下多余的 node_modules/@deepseek-ai/dsh-tools 再重启。卸载可走面板「卸载」,或从 bundles 去掉包名并删除链接目录。
装完 README 建议跑一次自检;作者工作区若有 .tools/dsh-plugin-install.cjs(不在本仓),可自动化上述三步,没有该脚本时按上面手工步骤即可。
典型用法¶
面板:用洞察条快速筛「有报错」或「未使用」,按报错率排序定位问题插件;用工具名搜索定位提供某工具的 bundle;多选后导出 Markdown/CSV 或批量打标。
会话工具:在普通对话中直接请求 catalog 能力,例如列出自写插件、对指定插件做审核类操作(具体参数以各 catalog_* 工具契约为准)。
维护 Skill 副本:发现 staging 与 live 不同步时,用公告条或浮窗的「同步 staging」先看计划,再 confirm 写盘;需要时用浮窗「还原到 <时间戳>」从备份恢复 staging(不改动 DSH 正在加载的那份)。
适用场景与注意¶
适合在本机 DSH 0.2.1–0.2.x 上长期积累较多插件、Skill 或 MCP,需要可观测(90 天调用/报错/子代理)和可处置(卸载、停用、Skill/MCP 相关操作)的开发者。本插件以当前 DSH 进程权限运行,安装前应阅读仓库源码与 MIT 许可证,并理解其为开发版:界面与命令可能变,升级 DSH 到 0.3.x 前需自行验证。
DeepSeek Harness 生态强调「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系,本文介绍的 catalog 插件亦来自社区维护者,并非官方应用商店内置能力。
结尾¶
dsh-plugin-catalog 把插件、Skill(及 README 描述的 MCP 相关能力)收到侧栏一张目录里,用 90 天会话统计和 fiberPhase 对账辅助判断「声明 vs 运行期」,并在卡片上完成常见处置与导出。需要细节与更新说明请以仓库 README 为准。