dsh-self-restart:DeepSeek Harness 的桌面自重启与会话交接

前言

在 DeepSeek Harness 开发中,有时需要重启 Desktop 进程以刷新环境或重新加载插件。重启后,持久化会话通常会断开。dsh-self-restart 插件解决了这个问题:它允许一个会话请求 Desktop 重启,并在重启后自动恢复相同的会话并继续执行任务。

这是什么

dsh-self-restart 是一个社区插件,由 NecromanAlbert 维护。它仅运行在 Host 进程中。它读取交接文件,恢复会话,并发送后续任务。

核心功能

  • 请求 Desktop 重启。
  • 恢复持久化会话。
  • 发送后续任务。
  • 读取交接文件。

安装与启用

使用官方命令安装:

dsh plugin --profile desktop add github:NecromanAlbert/dsh-self-restart

安装后重启 Desktop。

典型用法

插件暴露了一个 Agent 工具,配置包含三个参数:

  • mission:必填。自包含的下一轮指令。
  • reason:可选。存储在交接文件中。
  • sessionId:可选。默认为 currentInitiator。

示例配置:

{
  "mission": "Reload plugin copies, then verify the notes pad still opens.",
  "reason": "reload-client"
}

运行机制

Desktop 重启后,插件执行以下步骤:

  1. 读取 $DSH_HOME/self-restart/handoff.json(最大年龄 30 分钟)。
  2. 如果会话不活跃,调用 agents.resume。
  3. 发送带有 mission 的插件通知。
  4. 清空文件。

适用场景与注意

  • Host-only:插件仅在 Host 进程中运行,无客户端界面。
  • 交接文件:一次只能存在一个交接文件。后续调用会覆盖之前的文件。
  • 手动重启:如果 Host 不支持 desktopActions.requestRestart,插件会写入交接文件并提示用户手动重启 Desktop。
  • 边界:这不是一个 dsh web 进程杀手、侧边栏重启按钮或 systemd 集成。

短结尾

该工具通过处理交接文件和会话恢复,简化了重启后的工作流。适合需要重置环境但保持会话连续性的场景。

  • GitHub 仓库:https://github.com/NecromanAlbert/dsh-self-restart
  • 生态目录:https://www.skillhub.cn/plugins/NecromanAlbert/dsh-self-restart
羽毛球分组比赛记分
小程序二维码

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

小夜