前言¶
在 DeepSeek Harness(DSH)中,插件是扩展功能的常见方式。随着自行安装、本地链接、GitHub 来源等插件增多,单一插件列表容易把官方插件和自行安装插件混在一起。
dsh-plugin-diraud 解决的是这个问题:按来源分组展示当前加载的 DSH 插件,并把自行安装插件的启用、禁用、更新、卸载放到同一入口。它由 tttwh 维护,许可证为 MIT。
定位与适用范围¶
下面介绍这个插件的定位。
- 它是一个 DSH 插件,用于 Web 端侧边栏和 composer 的插件列表管理。
- 核心对象是当前加载插件,重点区分
official与self-installed。 - 提供
/plugin-audit命令和侧边栏底部的Plugin Catalog入口。 - 官方/内置插件以及本插件自身会被锁定或拒绝卸载。
核心功能¶
按来源审计插件¶
/plugin-audit 命令会按官方/自行安装分组列出当前加载插件,并支持 user、official 与关键字过滤。
常用命令如下:
/plugin-audit
/plugin-audit user
/plugin-audit official
/plugin-audit <keyword>
/plugin-audit 用于查看整体概览;user 只看自行安装插件;official 只看官方插件;<keyword> 用于按包名或 entry 关键字过滤。
自行安装插件的启用与禁用¶
自行安装插件可以通过两个入口启用或禁用:
1、侧边栏底部 Plugin Catalog 入口中的按钮;
2、composer 中的命令:
/plugin-audit disable <keyword>
/plugin-audit enable <keyword>
开关会持久化到 profile 的 cordis.patch.yml,可以恢复,并会调用 ctx.loader.update 即时生效。官方/内置插件会被锁定,不能通过这类方式改变状态。
Plugin Catalog 面板¶
Plugin Catalog 面板按来源分组显示插件卡片。每张卡片会展示来源标识、已安装版本、entry id 和描述。
面板支持以下能力:
- 按模块名 /
entry id搜索; - 每个分组显示实时计数;
- 列表加载失败时提供重试按钮;
- 描述优先使用内置模块名到
zh/en的字典,回退到包自身的description; - 当包的
repository或homepage指向 GitHub 时,卡片会显示 GitHub 按钮,用于打开完整功能文档。
自行安装插件更新¶
自行安装插件的更新会先检查 npm registry。面板顶部会有更新栏,提供 Re-check 和 Update all;单个插件卡片也会有 Update 按钮,并在执行时显示进度。
npm 来源的更新使用:
pnpm add <pkg>@latest
如果环境需要,会回退到 corepack / npx。
GitHub 来源插件也支持更新,兼容 github:、git+、git://、git@ 等规格。更新时会比较本地 commit 与远端 HEAD / tag,并重新执行 pnpm add 原始规格或新 tag。如果依赖固定到某个具体 commit,则会标记为不可自动更新。
如果更新后旧包名失效,但新包名仍指向同一仓库,面板会报告 repository renamed,并给出移除旧包的命令。
更新任务会在模块级 store 中排队执行:
- 连续点击会被合并到下一批任务;
- 不会并发启动两个 pnpm 进程;
- 关闭面板后,任务仍会继续并可以被观察。
对于 link:、file:、workspace: 依赖,面板会使用源感知标签,分别显示为桌面应用更新或本地插件,避免把这类依赖误报为普通 npm 更新。官方/内置插件和本插件自身会被锁定。
自行安装插件卸载¶
每张自行安装插件卡片右侧会有红色 Uninstall 按钮。
点击后会执行:
1、确认卸载;
2、执行 pnpm remove;
3、刷新插件列表。
非自行安装包和本插件自身会被拒绝卸载。
安装与启用¶
前置依赖:pnpm 和 dsh CLI。
推荐从 npm 安装:
dsh plugin --profile web add dsh-plugin-diraud
也可以从 GitHub main 分支安装:
dsh plugin --profile web add https://github.com/tttwh/dsh-plugin-diraud/archive/refs/heads/main.tar.gz
经过上面的步骤后,重启 dsh web,然后可以:
- 在 composer 输入
/plugin-audit; - 或点击侧边栏底部的
Plugin Catalog。
典型用法¶
查看插件来源¶
/plugin-audit
/plugin-audit user
/plugin-audit official
/plugin-audit <keyword>
禁用或启用自行安装插件¶
/plugin-audit disable <keyword>
/plugin-audit enable <keyword>
这类操作会写入 profile 的 cordis.patch.yml。如果之后想恢复默认状态,删除对应行即可。
卸载本插件¶
dsh plugin --profile web remove dsh-plugin-diraud
强制归类为自行安装¶
默认情况下,插件来源会按包作用域判断。遇到边缘情况,例如第三方包发布在 @deepseek-ai/ 下,可以通过 extraUserPackages 强制归类为自行安装。
在 profile 的 cordis.patch.yml 中覆盖 plugin-audit 的配置:
- id: plugin-audit
config:
extraUserPackages:
- '@deepseek-ai/dsh-my-fork'
适用场景与注意¶
适合这类使用者:
- 当前 DSH 环境中同时存在官方插件和自行安装插件;
- 需要快速确认某个插件是官方、内置还是自行安装;
- 希望集中启用、禁用、更新或卸载自行安装插件;
- 对 npm 和 GitHub 来源的插件都需要查看状态。
使用前需要注意:
- 它是运行在 dsh 进程内的插件,安装前应检查源码与许可证。
- 插件会以当前 dsh 进程权限运行,更新和卸载会实际执行包管理操作。
- 官方/内置插件以及本插件自身被锁定或拒绝卸载。
- 启用/禁用状态写入 profile 的
cordis.patch.yml,删除对应行可恢复默认。 - 更新任务会排队执行,不会并发启动两个 pnpm 进程;关闭面板后任务仍会继续。
link:、file:、workspace:依赖会显示为桌面应用更新或本地插件,避免误报。- 社区目录页是独立站点,不应理解为官方应用商店,也不代表与 DeepSeek / 幻方存在官方从属关系。
小结¶
dsh-plugin-diraud 的价值在于把 DSH 插件列表按来源拆开:官方/内置插件和自行安装插件不再混在一个视图里,自行安装插件的启用、禁用、更新、卸载也有统一入口。
- GitHub:https://github.com/tttwh/dsh-plugin-diraud
- 社区目录页(线索提供,访问前请自行确认):https://www.skillhub.cn/plugins/tttwh/dsh-plugin-diraud