Back to home@Yuanloss

dsh-quick-window-launcher

No description

Stars
0
Language
JavaScript
Created
Aug 25, 2026
Updated
Aug 25, 2026
GitHub repo

Introduction

dsh-quick-window-launcher

用桌面快捷方式把 DeepSeek Harness web 以独立的应用窗口(app 窗口)打开——而不是跳到默认浏览器的标签页——并提供关闭 / 重启电源控制与一个 open_web 工具。

插件启动时会:

  • 生成桌面快捷方式DeepSeek Harness.lnk):若 harness 未在运行则先启动,然后用专属应用窗口打开(Chromium / Edge 的 --app=<url>,无标签栏、无地址栏)。仅当本机没有安装任何 Chromium 系浏览器时才回退到系统默认浏览器。
  • 在侧栏底部新增一个关闭按钮(⏻)——优雅停止 harness(SIGTERM → 释放资源 → 落盘会话 → 退出)。
  • 新增一个重启按钮(⟳)——优雅停止进程,再由常驻看门狗拉起新实例。
  • 让两个按钮自适应侧栏(56px 收起态显示纯图标圆钮,展开态显示 图标+文字 徽章)。
  • 新增一个 DSH 更新检查按钮(⬆)——点击后查询 npm 上 @deepseek-ai/dsh 的最新版本,并提示当前版本与是否已是最新
  • 注册 open_web 模型工具——在系统默认浏览器的新标签页打开指定 URL。

所有数据都在运行时从当前 harness 推导——Node 二进制、dsh 入口脚本、工作目录、监听端口,以及 ~/.dsh/logs

安装

该插件面向 web 配置文件。用 dsh 插件命令添加:

dsh plugin --profile web add Yuanloss/dsh-quick-window-launcher

然后(重新)启动 harness:

dsh web

首次启动时,插件会把辅助脚本写入 %USERPROFILE%\.dsh\logs、拉起持久重启看门狗,并创建桌面快捷方式(仅当其不存在时——绝不会覆盖你自己创建的快捷方式)。

新插件 bundle 需要重启才会加载。桌面快捷方式和侧栏按钮会在插件激活后出现。

桌面快捷方式做什么

双击桌面上的 DeepSeek Harness,启动器会:

  1. 检查 harness 是否已在端口监听。
  2. 若未运行,则(隐藏地)用插件自身运行所用的同一个 Node 二进制 / 入口启动它。
  3. 等待 UI 可访问。
  4. 以独立应用窗口打开——找到 Google Chrome 或 Microsoft Edge,用 --app=<url> 启动,界面会在它自己的无边框窗口里打开(没有标签栏、没有地址栏)。若没有 Chromium 系浏览器,则回退到默认浏览器。

功能

关闭

侧栏底部一个红色电源图标。确认后优雅停止 harness——会话数据会落盘,页面关闭(若浏览器拦截 window.close(),则改写为“已关闭”提示页)。

重启

一个蓝色重启图标,优雅停止进程后拉起重启新实例。重启由运行在 harness 进程树之外的看门狗完成(harness 会清理自己的子进程,所以点击时临时 spawn 的进程会被杀掉)。页面显示“正在重启…”界面,轮询到新实例恢复后自动刷新。

自适应位置(props.wide

两个按钮都使用 sidebar.footer.action 槽位传下来的侧栏 wide 列状态:收起态是纯图标圆钮,展开态是 图标+文字 徽章。不再针对任何产品 CSS 类名。

open_web 工具

模型可用 https://… / http://… URL 调用 open_web,在系统默认浏览器的新标签页打开——符合 harness“外部打开网页而不是内嵌”的约定。

配置项

该行可选配置(通过 profile patch 覆盖):

默认值说明
createShortcuttrue启动时生成/刷新桌面快捷方式(指向本插件的应用窗口启动器;设为 false 关闭)
desktopNameDeepSeek Harness快捷方式的基础文件名

示例:

- id: quick-window-launcher
  name: 'dsh-quick-window-launcher'
  config:
    createShortcut: true
    desktopName: 'DeepSeek Harness'

安全

HTTP 路由(/api/shutdown/api/restart)只接受回环地址客户端,拒绝跨域请求,且仅接受 POST。open_web 只打开 http:// / https:// URL。


语言 / Language: English | 中文