前言¶
在 DeepSeek Harness(DSH)里做 Agent 开发,经常会遇到两类操作:进程卡死或配置改完需要整进程重启,以及归档会话时误点、会话仍在跑就被关掉。DSH 自带归档入口,但缺少「一键整进程重启」和「归档前统一确认 + 活动会话保护」的组合能力。社区维护者 SMPcosy 发布的客户端插件 dsh-easy2restart(npm 包名,仓库 SMPcosy/dsh-easy2restart)把原先两个旧包 dsh-plugin-easy2restart 与 dsh-plugin-safe-archive 合并为单一插件,当前版本 0.2.3,MIT 许可证。下面介绍它做什么、如何安装,以及使用时需要注意的环境限制。
这是什么¶
dsh-easy2restart 是 DSH 桌面端的客户端插件:在侧边栏底部注入「重启 DSH」按钮(双击触发整进程重启);拦截各归档入口,先弹确认框,会话仍活动时展示活动清单并强制 10 秒倒计时后才能「停止并归档」;归档成功后按配置自动把会话文件、附件、标题缓存与元数据复制到备份目录,并在右侧栏提供「已归档会话」文件树浏览(根目录为 DSH 归档会话目录,不指向备份副本)。
插件以当前 DSH 进程权限运行,安装前建议在 GitHub 仓库核对源码与许可证;社区目录页见 skillhub.cn 条目(独立站点,与 DeepSeek / 幻方无官方从属关系)。
核心功能¶
重启 DSH¶
- 按钮位置:
sidebar.footer.action(账号头像、设置上方),图标为手绘缺口环 + 箭头。 - 双击后,宿主通过 Windows 计划任务拉起脱离 DSH 进程树的 PowerShell 脚本,对整棵 DSH 进程树执行
taskkill /T,再重新启动DeepSeek Harness.exe。 - 当任意 Agent 会话状态为
running时按钮置灰,悬停说明原因;宿主会保存「重启待办」(pending.json),便于后续扩展「重启后回到原会话」等流程。
安全归档¶
- 从菜单、行尾按钮或快捷键触发归档时,先出现确认框;若开启自动备份,文案会写明备份目录;若关闭自动备份,会以红字提示本次不生成备份副本。
- 点「确认归档」后若 Host 因
workspace/session-active拒绝,对话框切换为「会话正在活动」,列出进行中回合、子代理、后台任务、定时任务等;「停止并归档」需 10 秒倒计时 结束后才可点击。
归档即备份¶
- 宿主包装
workspaceRegistry.archiveSession:归档成功约 3 秒后,将会话相关文件复制到
<备份根目录>\<会话名>-<归档日期-时间>\。 - 去重与状态记录在
<备份根目录>\_auto-backup-state.json;插件启动 5 秒后补扫「已归档但未备份」的会话,也可通过POST /api/dsh-easy2restart/scan手动补扫。 - 每次备份追加到
归档清单.md与_auto-backup-manifest.json;进度可查看~/.dsh/archive-backup/auto-backup.log。 - 备份根目录可在右侧栏修改,自动备份可整体关闭;关闭后归档仍进行,只是不复制副本。
右侧栏「已归档会话」¶
- 在 DSH 右侧栏引导页新增条目,以
<DSH_HOME>/sessions为根做只读文件树(含归档清单与会话存储目录两棵树),点击文件可在资源管理器中定位;顶部有「自动备份」设置卡片与备份状态展示。
配置优先级¶
环境变量 > ~/.dsh/storages/dsh-easy2restart/config.json > 内置默认。
| 名称 | 作用 |
|---|---|
DSH_EASY2RESTART_BACKUP |
设为 off / 0 / false 等可关闭自动备份 |
DSH_EASY2RESTART_BACKUP_DIR |
绝对路径,覆盖界面中的备份目录 |
config.json 示例 |
{"backup":{"enabled":true,"dir":"D:\\DSH备份"}} |
| 内置默认目录 | F:\AI\会话归档备份\DSH(未配置时) |
环境变量存在时,界面上的开关与路径框变为只读并提示,避免误以为改界面即可覆盖 env。
保存备份目录前会探测:目录不存在则尝试创建并写探针文件;不可写则红字提示且不落盘。
安装与启用¶
前提:dsh 命令已在 PATH 中(DeepSeek Harness 自带),且为 DeepSeek Harness 桌面版 0.2.0-rc 以上、Node.js ≥ 22、Windows(重启与文件夹选择依赖计划任务、PowerShell 与 Windows 路径守卫)。
在 DSH「插件 / 查检中心」搜索 dsh-easy2restart,或执行:
dsh plugin --profile desktop add dsh-easy2restart@0.2.3
README 建议钉死版本号:pnpm 的 minimumReleaseAge(默认 24 小时)可能导致只写包名时装到上一版。装完后用 dsh plugin --profile desktop list 核对,并重启 DeepSeek Harness(插件不支持热加载)。成功后侧边栏底部可见重启按钮,右侧栏引导页出现「已归档会话」。
从旧包迁移:先移除 dsh-plugin-easy2restart(若曾本地装过未发布 npm 的 dsh-plugin-safe-archive 也一并 remove),再安装本包;状态文件、备份目录与配置兼容,无需迁移数据。
卸载:
dsh plugin --profile desktop remove dsh-easy2restart
重启 DSH 后生效;磁盘上的备份、config.json 与日志需自行删除。
典型用法¶
- 重启:会话空闲时双击侧边栏「重启 DSH」;会话运行中请等待 Agent 结束或先停止任务。
- 归档:沿用 DSH 原有归档入口;按确认框操作;若会话仍在活动,等倒计时结束再点「停止并归档」。
- 改备份位置:右侧栏「已归档会话」→ 展开「自动备份」→ 修改目录或点「选择…」→ 保存;只影响之后的归档,已有备份不会移动。
- 健康检查(可选):
GET /api/dsh-easy2restart/health可确认宿主是否已加载本插件。
离线自检(不启动 DSH、不触发重启、不动真实备份):
node test/plugin.selftest.mjs
(需在插件包目录内执行,一般用于开发或装包后验货。)
适用场景与注意¶
适合:经常在 Windows 桌面版 DSH 上开发 Agent、需要快速整进程重启而不手动找 exe;希望归档前统一确认、避免误归档仍在跑的会话;希望归档后自动留一份可配置的本地备份,并在 UI 里浏览已归档会话目录。
务必知晓:
- 重启能力仅 Windows;Linux/macOS 用户若安装包,归档与备份相关能力仍可能部分可用,但 README 明确重启依赖 Windows。
- 插件与 DSH 同权限运行;第三方插件应自行审阅 GitHub 源码 后再安装。
- README 单独说明了一项与插件无关的 DSH 启动问题:频繁重启会导致
127.0.0.1上dsh-auth-*cookie 累积,约 71 条后请求头超限、桌面握手失败。处理方式是清理%APPDATA%\@deepseek-ai\dsh-desktop\Network\Cookies中相关条目,或安装dsh-cookie-guard做长期清理;点 DSH 弹窗里的「Disable third-party plugins…」不能解决 cookie 问题。若你 heavily 使用本插件的重启功能,应了解该宿主侧限制。
结尾¶
dsh-easy2restart 把「双击重启整进程」「归档确认 + 活动会话倒计时」「归档后可选自动备份」和「已归档会话」侧栏收进一个客户端插件,适合在 Windows 桌面 DSH 上日常归档与会话运维。目录与详情:skillhub.cn/plugins/SMPcosy/dsh-easy2restart;源码与完整 API 表:github.com/SMPcosy/dsh-easy2restart。