dsh-launcher:DeepSeek Harness Web Profile 插件:一键重启服务 + 前端状态徽标 + 重启续聊 + 截断自动继续

在 DeepSeek Harness(DSH)的插件化架构中,Web Profile 的服务重启通常需要手动操作,且容易导致当前会话中断或输出截断。dsh-launcher 旨在解决这一痛点,通过前端状态监控、自动化重启流程以及会话恢复机制,降低维护成本。

这是一个由 Nasbaye 维护的 DeepSeek Harness Web Profile 插件。它提供前端状态徽标、一键重启服务、重启后自动续聊以及截断自动继续的功能。

安装与启用

将插件文件路径加入 profile bundle 以启用状态点和 API。

  1. 在 profile 目录下安装插件:
pnpm --dir %USERPROFILE%\\.dsh\\profiles\\web add file:D:/path/to/dsh-launcher
  1. 在 %USERPROFILE%\\.dsh\\profiles\\web\\package.json 的 dsh.profile.bundles 中加入:
"dsh": {
  "profile": {
    "bundles": [ "...", "@dsh-external/dsh-launcher" ]
  }
}
  1. 完整重启 DeepSeek Harness 即生效。

核心功能

1. 前端状态点与一键重启

  • 状态显示:状态点显示在会话头部的 Agent 预设标签(如“标准模式”)右侧,或在新建会话页的模式选择器旁。颜色代表状态:绿(在线)、黄(重启中)、红(离线)。每 5 秒轮询一次。
  • 交互操作:点击状态点会向 POST /api/launcher/restart 发起请求。重启完成后页面会自动刷新一次,确保拿到最新前端。
  • API 接口:
  • GET /api/launcher/status:获取服务状态(JSON)。
  • POST /api/launcher/restart:重启服务(返回 202,实际由后台 worker 完成)。

2. 重启 Worker 的可靠性

重启流程由 restart-worker.js 负责,包含以下保护机制:

  • 依赖预检:重启前检查 profiles/web/package.json 的 bundles 是否已安装(包含 profile node_modules 和引擎嵌套 node_modules)。如果缺失,会自动运行 pnpm install;若安装失败,会中止重启并保持旧服务运行。
  • 健康确认:拉起新进程后,会轮询端口最多 90 秒确认服务健康,结果写入 dsh-web.log。
  • 无弹窗:在 Windows 下,worker 与子进程均使用 windowsHide 选项,避免弹出黑色控制台窗口。

3. 重启续聊 (Resume After Restart)

重启前会自动检测“正在进行”的会话(满足 status === 'running'、inbox.hasPending 或 phase.kind === 'maintenance' 之一)。命中的会话 ID 会写入 .dsh-launcher-resume.json。

新进程启动后,会向这些会话发送消息 因 DeepSeek Harness 重启导致对话中断,请继续,让 agent 接着干活。该操作失败会自动重试(每会话最多 5 次,间隔 3 秒)。

4. 截断自动继续 (Auto-Continue)

当模型输出达到 token 上限被截断(前端显示“已达到输出 token 上限”)时,插件会自动发送 继续 指令。防循环保护包括:
- 每会话连续自动“继续”最多 3 次。
- 同会话 5 秒冷却。
- 任何非 max-tokens 的轮次结束会重置计数。
- 仅处理顶层会话。

日志与注意事项

  • 日志:所有行为写入 dsh-web.log,前缀为 [launcher ...] 或 [launcher-worker ...]。
  • 适用场景:需要频繁重启服务或处理长上下文任务的 Web Profile 用户。
  • 注意:插件以当前 DSH 进程权限运行,安装前建议检查源码与许可证。在 Windows 下,如果引擎侧未设置 windowsHide,工具调用可能仍会弹出控制台窗口(这是引擎默认配置,非插件独有)。

总结

dsh-launcher 通过前端状态反馈和后端自动化流程,解决了 DeepSeek Harness Web Profile 重启难、中断恢复难的问题。配合截断自动继续功能,能提升长时间运行的稳定性。

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

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

小夜