TAOxxx7/dsh-plugin-manager 预览 preview

TAOxxx7/dsh-plugin-manager

桌面端Desktop ⭐ 5 MIT other

DSH Settings plugin manager bundle for Desktop and native Web profiles

编辑导读Editor's Brief

## 核心特性
- 该插件以可独立发布的 DSH bundle 形式,在 Settings → Plugins 中添加了分类插件管理器。
- 它按分类列出已安装的 profile packages,并搜索 dsh-plugin topic 下的 GitHub 仓库,同时检测重复安装。
- 当市场仓库发布 DSH bundle 时,安装优先使用 npm;对于未发布的仓库,则回退到 GitHub。
- 包操作包括卸载、单包更新、更新检查、启动检查、针对 semver tag 源安装的 GitHub Release 检查,以及针对未固定来源的 commit-head 回退。
- 构建与重启处理包括显式批准 pnpm build 或基于捕获的诊断信息重试,并为 Desktop 和 native Web 提供安装完成后的重启提示。

## 使用场景
- 用户可以在 Desktop 或 native Web 的分类 Settings 标签页中管理已安装的 DSH profile packages。
- 用户可以通过 GitHub 的 dsh-plugin topic 搜索发现插件,并安装发布 DSH bundles 的仓库。
- 用户可以通过卸载、更新、检查 release 以及处理 pnpm build 诊断信息来维护现有包。
- 用户可以完成需要重启 DSH Desktop 或 native Web 进程的安装流程。

## 技术细节
- 该仓库被组织为一个 DSH community plugin,包含可安装的根 package.jsondsh.bundle.patch Host gateway mount、dsh.client 浏览器 Settings 加载器,以及位于 lib/ 的构建产物。
- dsh.client.platform: "web" 声明描述的是浏览器端;当远程浏览器控制运行 DSH 进程的 Host profile 时,包操作会发生在该机器上。
- 在 Windows native Web 上,pnpm 解析顺序依次为 DSH_PNPM_BIN、当前激活 profile 或共享的 DSH pnpm package、PNPM_HOME 或 npm 全局目录、PATH,以及 Node.js Corepack。
- 命令执行会避免直接启动 .exe 或 pnpm script 时发生 shell 分词,在需要时为 .cmd shim 添加引号,并以 UTF-8 读取输出,失败时回退到 GB18030。

## 注意事项
- 更新后的包版本需要重启当前 DSH 进程,以加载新的 bundle layer;市场安装成功后,Settings 标签页会给出提示。
- native Web 重启会替换正在运行的 Node 进程,因此触发重启的 HTTP 请求可能显示 Failed to fetch,而 lib/client.js 会将这种仅限 Web 的断开连接视为预期重启。
- 如果 Windows native Web 无法定位 pnpm,请安装 Node.js 或 Corepack,或将 DSH_PNPM_BIN 设置为完整的 pnpm.cmd 路径,然后重启 Web 进程。

## Core Features
- The plugin adds a categorized plugin manager to Settings → Plugins as an independently publishable DSH bundle.
- It lists installed profile packages by category and searches GitHub repositories under the dsh-plugin topic while detecting duplicate installations.
- Installation uses npm first when a market repository publishes a DSH bundle and falls back to GitHub for unpublished repositories.
- Package operations include uninstall, single-package update, update checking, startup checks, GitHub Release checks for semver-tagged source installs, and commit-head fallback for unpinned sources.
- Build and restart handling includes explicit pnpm build approval or retry with captured diagnostics and an install-complete restart prompt for Desktop and native Web.

## Use Cases
- Users can manage installed DSH profile packages from a categorized Settings tab in Desktop or native Web.
- Users can discover plugins through GitHub dsh-plugin topic search and install repositories that publish DSH bundles.
- Users can maintain existing packages by uninstalling, updating, checking releases, and responding to pnpm build diagnostics.
- Users can complete installation flows that require restarting DSH Desktop or the native Web process.

## Technical Details
- The repository is shaped as a DSH community plugin with an installable root package.json, a dsh.bundle.patch Host gateway mount, a dsh.client browser Settings loader, and built artifacts in lib/.
- The dsh.client.platform: "web" declaration describes the browser face while a remote browser controls the Host profile running the DSH process, so package operations occur on that machine.
- On Windows native Web, pnpm resolution follows DSH_PNPM_BIN, the active profile or shared DSH pnpm package, PNPM_HOME or npm global directories, PATH, and Node.js Corepack.
- Command execution avoids shell splitting for direct .exe or pnpm-script launches, quotes .cmd shims when needed, and reads output as UTF-8 with GB18030 fallback.

## Notes
- A newer package version requires restarting the current DSH process so the new bundle layer is loaded, and the Settings tab prompts after a successful market install.
- Native Web restart replaces the running Node process, so the triggering HTTP request may show Failed to fetch while lib/client.js treats the Web-only disconnect as an expected restart.
- If Windows native Web cannot locate pnpm, install Node.js or Corepack, or set DSH_PNPM_BIN to the full pnpm.cmd path, then restart the Web process.

安装Install

dsh plugin --profile desktop add dsh-plugin-manager-community@latest

TAOxxx7/dsh-plugin-manager 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

上一个 Prev dsh-custom-background 下一个 Next tencentcloud-agentobs-sdk-dsh