dsh-desktop-launcher

by Yvesgao

1 开发与运行时github 检测到 manifest package.json#dsh 社区精选 收录于 08-16

DSH 启动器- 在 DSH 设置页一键创建 Windows 桌面快捷方式,自动打开浏览器、可固定任务栏。DSH plugin: one-click Windows desktop shortcut launcher from the Settings page (DeepSeek Harness or any local server) —Install: dsh plugin --profile web add github:Yvesgao/dsh-desktop-shortcut#main

安装

dsh plugin --profile web add github:Yvesgao/dsh-desktop-launcher

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗

安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。

README

目录

功能

把「打开 PowerShell → 敲命令 → 再开浏览器」变成双击一下。在 设置 → Desktop Shortcut 里填一个小表单,插件自动完成:

  1. 生成 .cmd 启动器 —— 在控制台窗口里启动命令、等 URL 就绪后自动打开默认浏览器、保持窗口存活(关窗即停服);服务已在运行则直接打开浏览器。
  2. 创建桌面 .lnk 快捷方式 —— 指向启动器(DeepSeek Harness 用 Node.js 图标)。
  3. 尝试固定到任务栏 —— 目标类型无法程序化固定时,打印「固定运行中窗口」的兜底指引(永远有效)。

核心逻辑由打包内置的、自包含的 assets/New-DesktopShortcut.ps1 完成(零外部依赖,也可独立运行)。

能力清单

能力 说明
设置页 UI settings.section「Desktop Shortcut」:名称 / 命令 / URL / 工作目录表单
Host JSON API POST /plugins/desktop-shortcut/api/install 执行 PowerShell 引擎;.../status 上报平台
启动器生成 带端口检查的 .cmd,自动开浏览器,兼容「已在运行」场景
任务栏固定 尽力程序化固定 + 「固定运行中窗口」兜底指引

安装(bundle 形态,需重启 web)

# git 源(lib/ 已入库)
dsh plugin --profile web add github:Yvesgao/dsh-desktop-launcher#main

# 或 npm
dsh plugin --profile web add dsh-desktop-launcher

重启 web(dsh web)后,打开 设置 → Desktop Shortcut,填好表单点 Create desktop shortcut 即可。

仅支持 Windows —— PowerShell 引擎是 Windows 组件。设置页在所有平台都会出现,但在非 Windows 平台会报错提示。

开发

pnpm install
pnpm build        # tsc(host lib)+ tsdown(client bundle lib/client.js)
pnpm typecheck

官方插件开发契约与可参考的社区插件源码已收集在 docs/references/。

插件管理

已装插件推荐用 plugin-registry 的薄控制台管理(浏览器面板):bundle 层栈 + insert 行 + 启停,无需手改配置。

dsh plugin --profile web add <plugin-registry>/packages/plugin/console

截图

发布前在此补充设置页截图(docs/preview/settings.png)。

License

MIT


English

What it does

Turns "open PowerShell, type a command, then open the browser" into a double-click. From Settings → Desktop Shortcut you fill in a small form and the plugin:

  1. Generates a .cmd launcher — starts the command in a console window, waits for the URL to respond, opens your default browser, and keeps the window open (closing it stops the server). If the server is already running it just opens the browser.
  2. Creates a desktop .lnk shortcut pointing at the launcher (Node.js icon for DeepSeek Harness).
  3. Attempts to pin the shortcut to the taskbar and prints manual fallback steps when the target type cannot be pinned programmatically.

The heavy lifting is done by the bundled, self-contained assets/New-DesktopShortcut.ps1 (no external dependencies, works standalone too).

Capabilities

Capability Description
Settings UI settings.section "Desktop Shortcut" with a name / command / URL / workdir form
Host JSON API POST /plugins/desktop-shortcut/api/install runs the PowerShell engine, .../status reports platform
Launcher generation Port-checked .cmd that auto-opens the browser and handles the already-running case
Taskbar pin Best-effort programmatic pin with the always-works "pin the running window" fallback instructions

Install (bundle, requires web restart)

# from a git repo (lib/ committed)
dsh plugin --profile web add github:Yvesgao/dsh-desktop-launcher#main

# or from npm
dsh plugin --profile web add dsh-desktop-launcher

Restart the web UI (dsh web). Then open Settings → Desktop Shortcut, fill the form and click Create desktop shortcut.

Windows only — the PowerShell engine is a Windows component. The Settings section appears on all platforms but reports an error when run elsewhere.

Development

pnpm install
pnpm build        # tsc (host lib) + tsdown (client bundle lib/client.js)
pnpm typecheck

Reference contracts (official plugin development guide + a working community plugin) are collected under docs/references/.

Plugin management

Manage installed plugins with the plugin-registry thin console (browser panel): bundle layer stack + insert rows + enable/disable, no manual config edits.

dsh plugin --profile web add <plugin-registry>/packages/plugin/console

Screenshot

Add a screenshot of the Settings section here (docs/preview/settings.png) before publishing.

License

MIT

原始 README: https://github.com/Yvesgao/dsh-desktop-launcher/blob/main/README.md ↗