DSH 插件管理器
<div align="right">
</div>
这是一个可独立发布的 DSH 组合包,在 设置 → 插件 中增加分类插件管理器。
这个仓库按照社区插件的标准形态组织:
- 根目录
package.json就是可安装的 npm 包; dsh.bundle.patch挂载 Host 网关;dsh.client在原生 Web 客户端加载浏览器设置页;lib/保存已经构建并验证过的 Host/Client 产物;- GitHub 用于源码、文档和
dsh-plugin市场发现; - npm 是普通用户安装和更新的渠道。
界面预览


功能
- 按分类整理当前 profile 的所有已安装包;
- 搜索 GitHub
dsh-plugin市场; - 已安装插件去重提示;
- 市场仓库有正式 npm 包时优先从 npm 安装;
- 没有 npm 发布时回退到 GitHub 源码安装;
- 卸载、单个更新、更新检查和启动时自动检查;
- 对带语义化版本标签的 GitHub 源码插件检查 Releases;没有 Release 时对未固定 commit 的源码回退到最新提交比较;
- 捕获 pnpm 构建许可错误,并提供明确的允许/重试流程;
- 安装完成后询问是否立即重启生效;
- DSH Desktop 与
npx @deepseek-ai/dsh web使用同一套 profile 逻辑。
发布后安装
如果发布者更换了包名,请替换下面命令中的包名:
dsh plugin --profile desktop add dsh-plugin-manager-community@latest
# 原生 Web profile
npx -y @deepseek-ai/dsh plugin --profile web add dsh-plugin-manager-community@latest
npx -y @deepseek-ai/dsh web安装新版本后,需要重启当前 DSH 进程才能加载新的组合层;从市场安装成功后,设置页会询问是否立即重启。
原生 Web 重启会替换当前 Node 进程。根据浏览器时序,触发重启的 HTTP 请求可能显示为 Failed to fetch;当前 lib/client.js 会仅把 Web 端这种预期断连识别为重启过程,并显示正在恢复连接。发布时请确保 lib/index.js 与 lib/client.js 来自同一个版本。
兼容性
插件管理器已验证支持 DeepSeek Harness(DSH)桌面版 以及同一应用的原生 Web profile。dsh.client.platform: "web" 表示浏览器端部分的目标平台,不代表只能从 GitHub 安装。远程浏览器实际操作的是运行 DSH 的那台机器,其 npm/pnpm 操作也发生在对应的 Host/profile 上。
Windows 原生 Web 端会按以下顺序寻找 pnpm:DSH_PNPM_BIN、当前 profile/共享 DSH pnpm 包、PNPM_HOME/npm 全局目录、PATH,最后尝试 Node.js 自带的 Corepack。直接运行 .exe/pnpm 脚本,避免 C:\\Program Files 这类路径被 shell 截断;需要运行 .cmd 时会自动加引号。命令输出优先按 UTF-8 解码,检测到 Windows GBK/GB18030 输出时自动回退,避免中文错误变成乱码。如果这些位置都没有 pnpm,请安装 Node.js/Corepack,或把 DSH_PNPM_BIN 设置为完整的 pnpm.cmd 路径,然后重启 Web 进程。
开发说明
lib/ 是从已经验证过的 Harness 构建中复制出的发布产物;src/ 用于审阅和后续维护。当前交接流程直接发布已验证产物,不要求发布 AI 先准备 Harness monorepo。
具体发布步骤见 [HANDOFF.zh.md](HANDOFF.zh.md) 和 [PUBLISH.zh.md](PUBLISH.zh.md)。