DeepSeek Harness (DSH) 采用插件化架构。Web 配置文件默认在浏览器标签页中运行。当需要频繁切换或管理多个实例时,标签页管理容易混乱,且缺乏对进程的直接控制。该插件通过桌面快捷方式,将 Harness 作为一个独立的 Chromium 应用窗口打开,并提供侧栏电源控制与 open_web 工具。
核心功能¶
该插件主要解决以下问题:
- 桌面快捷方式与独立窗口:生成桌面快捷方式,默认使用 Chromium 系浏览器的
--app=<url>模式打开 Harness。该模式会去除地址栏和标签栏,提供类似原生应用的体验。若本机未安装 Chromium 系浏览器,则回退到系统默认浏览器。 - 侧栏电源控制:在侧栏底部新增关闭(⏻)、重启(⟳)和检查更新(⬇)按钮。
- 关闭:优雅停止进程,释放资源并落盘会话。
- 重启:由运行在 Harness 进程树之外的看门狗(Watchdog)负责拉起新实例,支持心跳自愈。
- 检查更新:查询 npm 上
@deepseek-ai/dsh的最新版本,发现新版本时可一键复制更新命令。
open_web工具:注册模型工具,允许在默认浏览器的新标签页打开指定 URL。- 多信号存活判定:在启动前检查端口监听状态与任务板锁(
~/.dsh/task-board/ledger-v2.lock)的所有者 PID。若旧实例未服务但存活,启动器会诊断并退出,避免重复启动导致冲突。 - 自动版本检查:自动检查并提示 npm 上
@deepseek-ai/dsh的最新版本。
安装与启用¶
该插件仅面向 web 配置文件。安装后需重启 Harness 才能生效。
# 安装插件
dsh plugin --profile web add Yuanloss/dsh-quick-window-launcher
# 启动 Harness
dsh web
首次启动时,插件会在 %USERPROFILE%\.dsh\logs 目录下写入两个纯 Node 辅助脚本(.cjs),并创建桌面快捷方式 DeepSeek Harness.lnk。
功能详解¶
桌面快捷方式行为¶
双击桌面上的快捷方式,启动器会执行以下步骤:
- 检查 Harness 是否已在指定端口监听。
- 检查任务板锁的主人 PID 是否存活。若 Harness 进程存在但未监听端口(可能处于僵死状态),启动器会诊断并退出,防止启动冲突。
- 若 Harness 未运行,则通过插件自身运行所用的 Node 二进制启动它。
- 等待 UI 可访问。
- 获取认证 URL 并向隔离窗口档案签发 Cookie,确保 App 窗口免登录打开。
- 使用
--app=<url>命令行参数打开窗口。
电源控制与看门狗¶
重启功能依赖运行在 Harness 进程树之外的看门狗进程。看门狗每秒轮询一次,处理重启请求并恢复监听,具备心跳自愈能力。
关闭功能通过优雅停止(SIGTERM)实现,确保会话数据正确落盘。
安全与杀毒软件¶
- 接口限制:
/api/shutdown和/api/restart仅接受回环地址(localhost)和 POST 请求。 - 杀毒软件兼容性:v0.2.6 版本起移除了所有
.ps1脚本。旧版依赖 PowerShell 脚本会被火绒等杀毒软件按“新建 PowerShell 脚本”启发式规则隔离。新版改用纯 Node.cjs脚本和内联 COM 调用创建快捷方式,避免被隔离。
配置项¶
可以通过 profile patch 覆盖以下配置:
| 键 | 默认值 | 说明 |
|---|---|---|
createShortcut |
true |
是否生成/刷新桌面快捷方式。 |
desktopName |
DeepSeek Harness |
快捷方式的基础文件名。 |
desktopPath |
(自动解析) | 手动指定桌面目录(解决 OneDrive 重定向等自动解析失败场景)。解析优先级:desktopPath → Windows 注册表 → ~/Desktop。 |
watchdog |
true |
是否启动重启看门狗。设为 false 后重启按钮仅退化为关闭功能。 |
示例配置:
- id: quick-window-launcher
name: 'dsh-quick-window-launcher'
config:
createShortcut: true
desktopName: 'DeepSeek Harness'
watchdog: true
诊断¶
若遇到启动或窗口问题,可在 PowerShell 中运行以下命令进行诊断:
node "$env:USERPROFILE\.dsh\logs\dsh-launch-web.cjs" --diagnose
该命令会输出端口状态、任务板锁主人、看门狗心跳及最近日志。
总结¶
dsh-quick-window-launcher 提供了一种将 DSH Web 界面“桌面化”的方案。通过独立窗口和侧栏控制,减少了标签页管理的开销,并提供了优雅的进程重启与更新能力。所有辅助脚本均以纯 Node 形式运行,以兼容主流杀毒软件。
- 插件目录:https://www.skillhub.cn/plugins/Yuanloss/dsh-quick-window-launcher
- GitHub 仓库:https://github.com/Yuanloss/dsh-quick-window-launcher