Bundle
dsh-applauncher
DSH 应用启动器:扫描本机已安装的 Windows 应用,在侧边栏设置图标上方提供一键启动(零依赖、纯原生 JS,宿主侧通过 PowerShell 扫描 + Shell 启动)。
- Source
- jinwendijv
- License
- MIT
- Updated
- Updated 2 days ago
Readme
# dsh-applauncher   > DSH 桌面端的「应用启动器」插件:自动扫描本机已安装的电脑应用,在侧边栏「设置」图标上方提供一键启动,像 Windows 开始菜单一样方便。 ## 功能 - 自动检测本机已安装的应用,扫描开始菜单、卸载列表和 App Paths 注册表,中文名称优先显示 - 从应用 exe 提取真实图标,取不到图标时用应用名首字符代替 - 已添加的快捷方式以图标网格展示,只显示图标和名称,点击即可启动 - 支持搜索、添加、移除 - 启动动作在 DSH 宿主进程执行,浏览器不接触任意命令 ## 预览  ## 系统要求 - **Windows**(依赖系统自带的 PowerShell 5.1) - **DSH Desktop** ## 安装 ### 方式一:官方 CLI(推荐) 将本仓库克隆或解压到本地后: ```bash dsh plugin --profile <profile> add link:<本目录绝对路径> ``` ### 方式二:手动安装 1. 将本目录 `dsh-applauncher` 复制到 DSH 的 profile 依赖目录: - Windows:`C:\Users\<用户名>\.dsh\profiles\<profile>\node_modules\dsh-applauncher` - Linux / macOS:`~/.dsh/profiles/<profile>/node_modules/dsh-applauncher` 2. 编辑 `profiles/<profile>/package.json`: - 在 `dependencies` 中加入 `"dsh-applauncher": "0.1.0"` - 在 `dsh.profile.bundles` 数组中追加 `"dsh-applauncher"` 3. 完全退出并重启 DSH Desktop。 > 提示:`<profile>` 为你的 DSH 配置文件名称,可在 `~/.dsh/profiles/` 目录下查看;DSH Home 目录默认是 `~/.dsh`。 ## 使用 1. 打开 DSH,侧边栏底部「设置」图标上方会出现一个「应用」按钮。 2. 点击「应用」→ 在弹出面板点击「扫描本机应用」。 3. 在「本机已安装应用」列表中,点「+」把常用应用添加为快捷方式(已添加的应用会显示绿色 ✓ 角标)。 4. 「已添加的快捷方式」以桌面图标网格展示,点击图标即可启动;鼠标悬停图标时右上角出现「×」可移除。 ## 工作原理 插件沿用 DSH 的「宿主 + 客户端」双半边结构,全程零 Node 依赖、零构建: - **宿主半边**(`lib/index.js`):运行在 DSH 宿主进程 - 通过 PowerShell(`WScript.Shell` 解析 `.lnk` + 注册表)扫描本机应用 - 通过 `System.Drawing` 提取应用图标(PNG) - 通过 Windows Shell 启动应用 - 提供 `/dsh-applauncher/*` 路由 - **客户端半边**(`widget.js`):注入到 DSH Web 界面 - 通过 `tapIndex` 注入脚本 + DOM 注入侧边栏按钮(`MutationObserver` 自愈) ## 安全说明 - 快捷方式列表仅保存在本机 `~/.dsh/dsh-applauncher/config.json`。 - 「启动」只按已保存的快捷方式 id 解析,浏览器无法传入任意命令或路径。 - 写操作要求 POST 且同源,可挡住跨站请求。 - 应用经 Windows Shell(`explorer`)启动,以普通用户权限运行,不会继承 DSH 的管理员权限。 ## 许可 [MIT](./LICENSE)
Install
dsh plugin --profile web add github:jinwendijv/dsh-applauncher
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-applauncher from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.