DeepSeek Harness 插件:dsh-launch-in-one-click

DSH(DeepSeek Harness)的设计理念是“一切皆插件”,这使得开发者可以灵活扩展功能。在实际开发中,频繁启动 Harness 实例是常见操作。如果目标端口已被占用,直接启动通常会失败,需要手动排查进程或关闭旧实例。手动管理这些环境不仅繁琐,还容易出错。

下面介绍 dsh-launch-in-one-click,它是一个为 Windows 环境设计的 DSH 插件。它通过在桌面上生成一个自包含的 .bat 启动器,解决启动流程中的环境检查和端口冲突问题。

插件介绍

dsh-launch-in-one-click 是由 233fxr-collab 维护的客户端插件。它的核心价值在于提供一键启动能力,并内置端口检测机制,防止在端口已被占用时启动多个 Harness 实例。

  • 许可协议:MIT
  • 插件类型:客户端
  • 核心能力:生成独立启动器、检查运行环境、探测端口占用、拒绝冲突启动。

核心功能

  1. 生成自包含启动器:插件会在桌面上写入一个独立的 .bat 文件。该文件包含了启动 Harness 所需的所有逻辑,不依赖插件本身。
  2. 环境预检:启动器运行前会自动检查 node 和 npx 是否可用。
  3. 工作区验证:启动前会检查配置的工作区是否存在。
  4. 端口探测与防冲突:
    • 启动器通过绑定目标端口并识别 401 指纹来探测端口状态。
    • 如果端口空闲,启动 Harness。
    • 如果端口已被 Harness 占用,拒绝启动并提示使用该实例的 URL。
    • 如果端口被其他程序占用,拒绝启动并报告占用者的 PID。
  5. 语言切换:支持在启动器中切换语言(--lang en/zh/auto)。
  6. 独立运行:生成的启动器不导入此插件。即使卸载插件,桌面的 .bat 文件依然可以独立工作。

安装与启用

安装插件后,插件会在加载时根据配置生成启动器(默认配置下)。

dsh plugin --profile web add dsh-launch-in-one-click

安装完成后,桌面会出现一个由该插件生成的 .bat 文件。

典型用法

该插件提供命令行工具和斜杠命令。

斜杠命令

/launch                      # 使用默认部署设置安装并生成启动器
/launch doctor               # 运行诊断,检查环境、端口和启动器状态
/launch list                 # 列出桌面上所有由该插件生成的启动器及其设置
/launch --port 3111          # 在指定端口启动 Harness
/launch --lang zh            # 将生成的启动器语言设为中文(--lang en | auto)
/launch --name "Work.bat"    # 指定启动器的文件名
/launch --overwrite          # 强制覆盖一个非插件生成的启动器
/launch --dry-run            # 仅显示将要写入的内容,不实际执行

工具命令

launcher_doctor              # 诊断环境(Node, npx, 端口, 工作区等)
launcher_install             # 写入启动器(原子操作,包含自检)
launcher_uninstall           # 卸载启动器(仅限该插件生成的文件)

启动器参数

启动器自身也支持以下参数:

--port N                     # 指定端口
--workdir DIR                # 指定工作目录
--no-open                    # 不自动打开浏览器
--silent                     # 无控制台窗口,输出到日志
--dry-run                    # 检查并显示计划,不启动
--help                       # 显示帮助信息

注意事项与限制

  • 独立性:启动器是自包含的。卸载插件不会删除桌面的 .bat 文件,文件依然可以正常运行。
  • 自动更新:启动器会记录生成它的插件版本。如果加载了新版本插件,且配置了 autoUpdate: true,它会自动更新桌面上的文件。
  • 安全重写:如果显式执行 /launch 或 launcher_install,启动器会重写文件。如果写入失败(自检不通过),它会回滚而不是留下损坏的文件。
  • 日志位置:启动器的运行日志保存在 %LOCALAPPDATA%\dsh-launch\launcher.log。使用 --silent 模式时,所有输出也写入此日志。
  • 退出码规范:启动器的退出码遵循约定,方便脚本处理:
    • 0: 正常运行或 dry-run 成功
    • 1: 缺少 node 或 npx
    • 2: 端口被 Harness 占用
    • 3: 端口被其他程序占用
    • 4: 参数无效
    • 5: 工作区不存在
    • 9: 端口探测失败
    • 20: Harness 运行失败
  • 配置成本:在 bundle 的 patch 中添加 config 行会增加成本,配置仅在重启后激活。
  • 静默加载:设置 provisionOnLoad: false 可让插件静默加载,不自动生成启动器。

结语

dsh-launch-in-one-click 通过将启动逻辑封装为桌面脚本,简化了 Harness 的启动流程。它确保了端口使用的唯一性,并通过自包含的 .bat 文件保证了工具的独立性和持久性。

  • 插件目录:[catalog_url]
  • 源码地址:[github_url]
羽毛球分组比赛记分
小程序二维码

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

小夜