dsh-webui-launcher:DeepSeek Harness 的 Web UI 启动器

前言

DeepSeek Harness (DSH) 是一个基于插件的架构,其核心理念是「一切皆插件」。DSH 提供了 --profile web 来运行 Web UI,但通过命令行手动启动和停止这个界面通常需要额外的脚本或操作。dsh-webui-launcher 作为一个插件,直接解决了这个问题。它由用户 YV3507 维护,采用 MIT 许可证。安装后,你可以在 DSH 内部直接控制 Web UI 的生命周期,无需离开当前环境。

功能概览

该插件提供了一套完整的控制手段:

  • Model 工具:包含 webui_start、webui_stop、webui_status、webui_open 四个核心工具。它们可以在后台启动 dsh --profile web,等待 HTTP 200 响应后报告状态或打开浏览器。
  • Slash 命令:提供 /webui start、/webui stop、/webui status、/webui open 等快捷指令,方便在交互界面中快速操作。
  • 设置页:在 DSH 的 Web 设置页面中增加了一个 “Web UI Launcher” 卡片,驱动与上述工具相同的 JSON 接口。
  • 桌面快捷方式:首次启动插件时,会在桌面创建启动器(Windows 为 .lnk,Linux 为 .desktop,macOS 为 .command)。该快捷方式会自动使用官方 DSH 图标,并支持自定义图标。

安装

在终端中执行以下命令即可完成安装:

dsh plugin --profile web add github:YV3507/dsh-webui-launcher

使用方法

安装完成后,你可以通过以下方式使用:

  1. Slash 命令:在 DSH 聊天窗口中输入 /webui start 即可启动 Web UI 服务,等待 HTTP 200 响应。
  2. Model 工具:在代码或脚本中调用 webui_start。该工具会在后台生成 dsh --profile web 进程,并持续监控直到服务就绪。
  3. 桌面快捷方式:在桌面找到插件创建的快捷方式,点击即可启动 Web UI 并自动打开浏览器。

配置项

插件支持通过配置来调整行为,主要配置项如下:

配置项 默认值 含义
port 3080 Web UI 服务的端口。
host 127.0.0.1 绑定的主机地址,默认为本地回环。
startupTimeoutMs 120000 启动时等待 HTTP 200 的超时时间(毫秒)。
openBrowserOnStart true 服务启动成功后是否自动打开默认浏览器。
desktopShortcut true 是否在桌面创建快捷方式(无桌面环境的主机会静默跳过)。
shortcutName "DeepSeek Harness Web UI" 桌面快捷方式的显示名称。
shortcutIconPath "" 自定义图标路径,留空则使用官方 DSH 图标。

行为与注意事项

  • Loopback 限制:默认情况下,插件仅绑定到 127.0.0.1,不提升权限,也不允许外部网络访问,安全性较高。
  • 接管现有服务:如果端口已被占用且存在相应的 PID 记录,插件会接管该现有服务,而不会重启它。
  • 进程管理:webui_stop 仅会杀死插件自己生成的进程树,或者是它记录了 PID 的服务器。在杀死前,它会验证进程是否仍然存活、是否属于当前插件实例,防止误杀其他进程。
  • Headless 环境:在无桌面环境(如服务器)下运行时,插件不会报错,而是静默跳过桌面快捷方式的创建。
  • 安全性:插件在销毁或热重载时会清理其创建的服务器进程。

结语

dsh-webui-launcher 通过标准化的 Model 工具和设置卡片,将 Web UI 的管理无缝集成到 DSH 生态中。对于需要在脚本或自动化流程中控制 Web UI 的开发者来说,这是一个实用的工具。更多信息和源码,请访问 GitHub 仓库。

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

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

小夜