前言¶
在 DeepSeek Harness(DSH)里调试插件或排查桌面端问题时,往往需要完整关掉客户端再重新打开。手动结束进程再双击启动,步骤多;若在任务管理器或命令行里操作,还可能闪出控制台窗口。下面介绍的 dsh-quick-restart 在会话视图顶部提供「重启」入口:先按与桌面壳一致的规则检查是否有进行中的智能体或后台任务,再关闭并自启桌面应用,且重启过程不弹出控制台。
这是什么¶
dsh-quick-restart 由社区维护者 3309602454 发布,属于 DSH 社区插件(目录见 SkillHub 插件页)。它在对话页头部 utilities 插槽注入按钮,由 Host 侧注册 HTTP 路由、由客户端调用;核心目标是 Windows 桌面版 DSH 的一键重启,并在有未完成工作时给出可取消或仍要重启的提示。
核心功能¶
界面与交互¶
- 在会话视图右上角点击 重启(README 中英文界面可能显示为对应文案)。
- 插件向 Host 查询「重启会打断什么」:
- 无运行中工作 → 立即重启。
- 仍有工作 → 警告列出忙碌会话与后台任务,提供 取消 / 仍然重启;强制重启始终允许。 - 应用关闭后自行再次启动。
何谓「进行中的工作」¶
活动检查与 Desktop shell 退出前的检查一致,警告内容与客户端自身认定的 live work 对齐:
| 计为进行中 | 不计入 |
|---|---|
| 正在生成的智能体 | 定时提醒(重启后会再次触发) |
| 收件箱或步骤队列未清空的智能体 | 已结束的后台任务 |
状态为 running 或 stopping 的后台任务 |
Host 提供的 HTTP 接口¶
均在应用同源下由 Host 注册:
| 方法 | 路径 | 用途 |
|---|---|---|
GET |
/dsh-quick-restart/status |
返回 desktop、supported、platform、exe、exeExists、mainPid、clientVersion 等 |
GET |
/dsh-quick-restart/activity |
返回 { ok, active, agents[], jobs[] },表示重启会打断的内容 |
POST |
/dsh-quick-restart/restart |
执行重启;请求体 {"force":true} 可跳过工作检查 |
restart 常见错误码:not-desktop、unsupported-platform、exe-missing、tasks-active(响应含 agents / jobs 详情)、relaunch-failed(含 detail)。
安装与启用¶
官方安装命令(须使用 desktop profile):
dsh plugin --profile desktop add github:3309602454/dsh-quick-restart
安装后 重启桌面应用一次,以便客户端脚本注入。按钮依赖 DSH 自带的 conversation.session.header.utilities 插槽,该插槽存在于 0.2.x 起的 Web/Desktop 前端。
包版本在 package.json 中为 0.1.0;Node 引擎要求 >=22.13.0。许可证为 MIT。
典型用法¶
日常使用只需在会话页点击头部 重启。若需在脚本或调试中强制重启,可对同源发起:
POST /dsh-quick-restart/restart
Content-Type: application/json
{"force": true}
重启异常时,可先查看日志:
%TEMP%\dsh-quick-restart\helper.log
每条一行,含 taskkill 与重新启动结果。计划任务名为 DSHQuickRestart,可用:
schtasks /query /tn DSHQuickRestart
查询或排查残留任务。
适用场景与注意¶
适合谁: 主要在 Windows 上使用 DSH 桌面构建、频繁改插件或需要「干净重启」而不想闪控制台的开发者。
平台与形态限制(README 原文):
- 仅 Windows 桌面应用。 重启通过 Windows 任务计划程序完成;尚无 macOS/Linux 实现。其他平台上按钮会明确说明不支持,插件仍可正常加载。
- 必须是 desktop 构建;在纯
dsh web(CLI 服务)下没有可重启的 shell,按钮会相应提示。 - 重启 会打断正在运行的工作,警告即为此服务。
实现要点(便于排障): 插件运行在 Electron 主进程子进程 dsh-desktop-host 中,主进程退出时插件派生的进程会一并结束,因此通过 schtasks 注册计划任务,由 pythonw.exe(无控制台)在进程树外结束主进程、等待后再启动应用;任务完成后会删除自身,Host 下次启动也会清理残留,避免陈旧触发。
安全与权限: 插件以当前 DSH 进程权限运行,安装前建议在 GitHub 阅读源码与 MIT 许可证,确认行为符合你的环境策略。DSH 社区插件目录为独立站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-quick-restart 把「关客户端 + 再打开」收成会话栏一步操作,并在有未完成任务时给出与桌面壳一致的活动提示。若你正在 Windows 桌面端迭代 DSH 插件,可按上文命令安装并在安装后重启客户端一次。