dsh-harness-launcher:为 DeepSeek Harness 准备一个桌面图标

前言

用 DeepSeek Harness(DSH)做 Web 侧的智能体开发时,Host 经常要先在终端里用 dsh --profile web 拉起来,再自己去浏览器里找地址。关掉终端或最小化之后,想再开界面又得记端口、记是否还在跑。Windows 上若用 --no-open 隐藏启动,往往还会闪一下控制台窗口。

下面介绍社区插件 dsh-harness-launcher(维护者 sw503544488):在 DSH 侧栏增加一个入口,并生成桌面快捷方式;双击图标时,已在运行则直接打开带认证令牌的 UI,未运行则隐藏启动 Host 后再打开浏览器。插件归类为客户端,当前仅支持 Windows。

这是什么

dsh-harness-launcher 是一个 DSH Web 插件:左侧栏多一个 >_ 图标,点开是状态面板;面板里可以生成 / 更新桌面图标,得到名为 DeepSeek Harness 的桌面快捷方式。核心价值是把「探测是否在跑 → 打开或隐藏启动 → 侧栏重启 / 关闭」收成一套可重复操作,且桌面链路通过 wscript.exe 调用 VBScript,全程不弹出控制台黑窗。

仓库:https://github.com/sw503544488/dsh-harness-launcher
目录页:https://www.skillhub.cn/plugins/sw503544488/dsh-harness-launcher
许可证:MIT(package.json 版本 0.1.0)。

核心功能

侧栏入口与面板

  • 安装后左侧栏出现 >_ 图标,点开为状态面板(中英双语,跟随界面语言)。
  • 面板提供:生成 / 更新桌面图标、在浏览器中打开、重启、关闭。

桌面图标行为

双击桌面上的 DeepSeek Harness.lnk 时,逻辑如下:

  1. 探测本机 Harness 是否在响应;
  2. 若在跑 → 用带认证令牌的地址在默认浏览器打开(不会再起第二个 Host 进程);
  3. 若没跑 → 以隐藏窗口执行 dsh --profile web --no-open,等待就绪后再打开浏览器;
  4. 若 60 秒内仍未就绪 → 弹窗报错并给出日志路径,避免静默失败。

快捷方式指向 wscript.exe <launcher.vbs>,不显示控制台窗口。

重启与关闭

面板中的重启、关闭需两次点击:第一次变为「再次点击确认…」,5 秒内未确认则自动取消。原因是操作会结束当前正在使用的 Host 进程,页面会立刻断线;重启由后台独立 wscript 完成「结束进程 → 等端口释放 → 隐藏拉起 → 等就绪 → 自动开浏览器」。

Host 侧 API(工作原理摘要)

桌面 .lnk → wscript.exe → launcher.vbs open,并通过本机 loopback 访问插件注册的接口,例如 GET /plugins/harness-launcher/api/url 获取当前进程的带令牌地址。Host 半(index.js)还提供 status、icon、open、restart、close 等路由;令牌由 Harness 每次启动重新生成,脚本内不持久化令牌。

安全边界(来自 README):路由仅接受 loopback;写操作需自定义头 x-dsh-launcher,降低被其他网页跨站驱动的风险。GET /url 会暴露当前启动令牌——与「本机进程可连端口」相当,因此不要把 Host 端口暴露到局域网。

环境要求

条件 说明
Windows 依赖 .lnk 与 VBScript;package.json 声明 os: ["win32"]
DeepSeek Harness 已在所用 profile 中可运行 Web UI
dsh 在 PATH 生成图标时用 where dsh 解析绝对路径写入脚本,之后不依赖 PATH
Node engines.node 要求 >=20

通过 GitHub 安装插件时,DSH 侧通常需要 git + pnpm,这是安装方式的前置条件,不是本插件运行时独有要求。

安装与启用

任选一种方式,spec 相同:

命令行:

dsh plugin --profile web add github:sw503544488/dsh-harness-launcher

Web UI: 侧栏 Plugins 页 → 安装框粘贴:

github:sw503544488/dsh-harness-launcher

需要锁定版本时可带 tag,例如:

github:sw503544488/dsh-harness-launcher#v0.1.0

安装完成后侧栏出现 >_ 图标 → 打开面板 → 点击 生成 / 更新桌面图标,桌面即出现 DeepSeek Harness 快捷方式。

插件与当前 dsh 进程同权限运行;安装前建议浏览仓库源码并确认 MIT 许可证是否符合你的环境策略。

典型用法

位置 动作
桌面图标(双击) 在跑则打开 UI;未跑则隐藏启动后打开
侧栏 → 生成 / 更新桌面图标 写入 %LOCALAPPDATA%\dsh-harness-launcher\ 并重建 .lnk(换端口或用户目录后需重跑)
侧栏 → 在浏览器中打开 用当前进程的令牌地址打开 UI
侧栏 → 重启 / 关闭 两击确认后由后台脚本执行

日志路径:%LOCALAPPDATA%\dsh-harness-launcher\launcher.log(超过 256 KB 会自动重写)。

卸载步骤:

dsh plugin --profile web remove dsh-harness-launcher

建议先在面板关闭 Host 或手动结束 dsh 进程,再执行上述命令,并删除桌面 DeepSeek Harness.lnk 与 %LOCALAPPDATA%\dsh-harness-launcher\ 目录。

适用场景与注意

适合: 主要在 Windows 上日常使用 DSH Web UI,希望用单一桌面图标完成「打开 / 拉起」,并在侧栏统一管理重启与关闭的开发者。

已知限制(来自 README):

  • 仅 Windows;macOS / Linux 需另写启动器。
  • 同一端口只能有一个实例;更换 --port 后需重新生成桌面图标。
  • 重启会中断当前页面连接(会话持久化,刷新后仍可继续)。

DSH 生态原则是「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。本介绍事实均来自上述仓库 README 与 package.json。

结尾

经过上面的步骤,你可以在 Windows 上为 DeepSeek Harness 固定一个桌面入口:运行中直接开 UI,未运行则隐藏拉起,侧栏还可刷新图标并安全确认后重启或关闭 Host。进一步细节与开发说明见 GitHub 仓库,插件索引见 SkillHub 目录页。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye