前言¶
DeepSeek Harness (DSH) 的宿主代码只在进程启动时加载一次,没有热替换功能。修改插件后,DSH 的界面通常只提示“更改将在下次启动生效”,但不会自动重启应用,也不会在重启后把对话接回来。dsh-self-restart 插件将这一套手工流程变成一次工具调用:通过调用工具重启 DSH,并在同一条会话里继续执行任务。
核心功能¶
该插件提供了一组工具和两个半侧代码:
* 宿主半侧:提供工具 dsh_status、dsh_stale_check、dsh_apply、dsh_restart、dsh_ui_reload 和 dsh_selfcheck。
* 客户端半侧:补上打包版桌面端缺失的「刷新页面」入口,并提供宿主在页面里的代理。
安装与启用¶
该插件使用 MIT 许可证。在 Windows 平台上,使用 DSH 的插件管理器安装:
plugin_manager install_bundle "%USERPROFILE%\.dsh\dsh-plugins\dsh-self-restart"
安装后,插件会自动加载宿主半侧与客户端半侧。
典型用法¶
安装完成后,可以通过 agent 调用以下流程验证:
-
检查状态:
调用dsh_status,查看宿主进程、窗口壳进程、端口以及插件配置是否正常。 -
执行重启检查:
使用理由 “install check” 调用dsh_restart。 -
验证重启结果:
重启完成后,调用dsh_selfcheck确认插件功能正常。
适用场景与注意¶
- 平台限制:仅在 Windows 平台可用。
- 重启行为:调用
dsh_restart会关闭并重新启动整个 DSH 应用。这会丢失 DSH 起过的子进程(如 shell、MCP server)、未保存的页面状态,但会保留会话日志。 - 依赖要求:DSH 只在进程启动时加载插件宿主代码。该插件没有运行时依赖,也没有构建步骤。
- 构建要求:需要宿主进程与窗口壳进程分离的 DSH 构建(桌面版即为此类)。
结尾¶
该插件通过工具调用解决了 DSH 插件修改后需要手动重启且无法恢复会话上下文的痛点,适合需要在插件更新后立即生效的开发调试场景。