dsh-my-plugin-manager
v0.1.5
Published
DSH 公共插件管理面板:市场浏览/搜索、一键安装/卸载、更新检查、已安装插件管理(官方插件清单 + pnpm/dsh CLI)。DSH web plugin: plugin market browser, install/uninstall, update check and installed-plugin management in Web Settings.
Readme
dsh-my-plugin-manager
DSH(DeepSeek Harness)公共插件管理面板:市场浏览/搜索、一键安装/卸载、更新检查、已安装插件管理——统一维护插件生命周期,插件可独立于 DSH 发版节奏更新。纯官方依赖(面板挂在官方设置页扩展点,不依赖第三方插件)。



功能
- 市场浏览/搜索:输入关键词搜索 npm 插件市场(名称 / 版本 / 描述 / 作者),一键安装;
- 一键安装/卸载:走
dsh plugin --profile <p> add|remove(与 CLI 同一数据源,自动维护 profile package.json 与 bundle patch),无需手工编辑cordis.patch.yml; - 更新检查:
pnpm outdated检测已安装插件是否有新版本(插件独立于 dsh 主程序发版节奏); - 已安装插件管理:只显示用户安装的插件(官方/内置命名空间自动过滤),名称 / 版本 / 启用状态 / 运行相位 + 卸载入口;
- 插件详情页:市场 / 已安装点击「详情」打开——README 预览(复用 dsh-md-render MarkdownView,缺装回退纯文本)、版本历史时间线(npm
time)、依赖 / 对等依赖展示(peer 缺失项高亮)、元数据(作者 / 许可证 / 仓库 / 月下载量),详情页内可直接选版本一键安装(issue #90)。
安装
# npm 安装(推荐)
dsh plugin --profile web add dsh-my-plugin-manager --trust-lockfile
# 或从本仓库 link 安装
git clone https://github.com/baosfeng/my-dsh-plugins.git
dsh plugin --profile web add link:<仓库路径>/plugins/dsh-my-plugin-manager使用
- 打开 DSH Web 设置 → 插件 → 插件管理;
- 已安装区块:查看插件清单(名称 / 版本 / 状态),逐行「卸载」,顶部「检查更新」显示可更新项(
旧版 → 新版); - 市场区块:输入关键词搜索 npm 插件(如
dsh-file-activity),点「安装」即写入 profile; - 安装/卸载落盘即时生效(profile package.json / cordis.patch.yml),新插件在下次重启 DSH 后加载(候选区热挂载由 dsh-guardian 负责)。
实现要点
- 数据源:安装/卸载/更新检查全部走
dsh plugin --profile web(pnpm)命令,与官方 CLI 同一数据源,不做手写 patch 编辑; - 已安装清单:官方
pluginInventory服务(loader 条目)+ profilenode_modules版本读取(支持 scoped 包);只列出用户安装的插件,官方命名空间(@deepseek-ai/*、cordis/cordis:*、@koishijs/*)过滤(issue #28); - 市场搜索:npm registry search API(
keywords:dsh全覆盖); - profile 名:进程参数
--profile优先,默认web。
开发
npm run build # 拼接 lib/parts/*.part.js → lib/client.js
npm test # vitest(server 单测 + API 集成 + client 渲染路径)