前言¶
DeepSeek Harness Desktop 默认会在每次启动时用固定几何(README 中举例为 1280 × 820)创建主窗口,再显示出来。若你习惯把窗口拖到副屏、拉大工作区或保持最大化,每次冷启动都会先看到默认大小和位置,随后才跳到上次布局——视觉上就是一次「闪一下」。DSH 生态里常见做法是写 Host 插件,在窗口仍隐藏时写入 Win32 的窗口放置信息。下面介绍维护者 JaMoLpE88 发布的客户端插件 @jamolpe88/dsh-desktop-windowstatus-saving:它在首帧绘制前恢复主窗口的尺寸、位置与最大化状态,运行中静默保存,无需配置界面。
这是什么¶
dsh-desktop-windowstatus-saving 是 DeepSeek Harness Desktop 的 Host 插件(npm 包名 @jamolpe88/dsh-desktop-windowstatus-saving,当前版本 0.1.1,MIT 许可证)。它只跟踪 DSH 主产品窗口,记住大小、位置、是否最大化,在窗口仍隐藏时应用保存的几何,使第一次可见帧就是最终布局;不增加 UI、命令或设置项,不启第二个进程,也不发起网络请求。
插件已在 dsh-plugin.org 目录 登记;SkillHub 目录页见 plugins/JaMoLpE88/dsh-desktop-windowstatus-saving。源码与说明见 GitHub:JaMoLpE88/dsh-desktop-windowstatus-saving。
核心功能¶
README 中列出的能力如下(冲突时以仓库文档为准):
- 首帧前恢复:DSH Desktop 先以隐藏状态创建
BrowserWindow,在window.show()之前通过 Win32SetWindowPlacement应用已保存的 bounds 与 maximized 标志,避免先显示默认 1280 × 820 再 resize 的跳动。 - 运行中检测:拖动、缩放、贴边(snap)、最大化等变化会在约一秒内写入状态;正常关闭或托盘退出时会再保存一次。
- 最大化与最小化:最小化后退出,下次仍会按「最大化」恢复;README 说明会穿过 minimize 与托盘隐藏保留 maximized 标志。
- 多显示器:保存矩形所在显示器上的位置,含主屏左侧或上方的负坐标;若该显示器已不存在,则移到最近工作区并缩小以适应。
- 写入策略:仅在几何或 maximized 变化时写盘,关闭时再写一次;原子写入(临时文件 + 重命名);损坏的旧文件会被忽略并在下次保存时替换;较新版本插件写的文件不会被旧版覆盖。
明确不会做的事:不恢复全屏或最小化启动(窗口始终以可见状态打开);不恢复 Windows 11 Snap 布局组;不按 profile 或 session 分别存几何(一个窗口一份状态);不识别其他应用窗口,也不靠窗口标题匹配 DSH。
环境与限制¶
| 项 | 要求 |
|---|---|
| DSH Desktop | >= 0.2.1-rc.3,profile 为 desktop(作者仅在 0.2.1-rc.3、Windows 11 上完整验证) |
| Node | >= 22(DSH 自带运行时;package.json 要求 >= 22.19.0) |
| 操作系统 | 仅 Windows 10/11;不支持 macOS、Linux |
| 实现 | Host 插件,经 DSH 自带的 koffi 调用 Win32 |
其他限制(来自 README「Limits」):使用物理像素,改显示缩放不会按 DIP 重算;若未来 DSH 自身持久化窗口几何,应卸载本插件。状态默认路径为 %USERPROFILE%\.dsh\window-bounds.json;若设置了 DSH_HOME,则为 $DSH_HOME/window-bounds.json。
安装与启用¶
安装后需重启 DeepSeek Harness Desktop。插件只在启动时恢复;热安装会立刻开始保存,但要等下次启动才看到恢复效果。
从 npm 安装:
dsh plugin --profile desktop add @jamolpe88/dsh-desktop-windowstatus-saving
从 GitHub 仓库安装:
dsh plugin --profile desktop add github:JaMoLpE88/dsh-desktop-windowstatus-saving
本地开发目录(示例为 Windows 路径):
dsh plugin --profile desktop add C:\path\to\dsh-desktop-windowstatus-saving
典型用法¶
无需配置文件或面板,按 README 的 Usage 即可:
- 移动、缩放或最大化 DSH 主窗口。
- 正常关闭 DSH,或从托盘退出。
- 再次打开 DSH:窗口应已在离开时的几何与显示器上,且首帧即为最终大小。
若要清除记忆,删除上述 window-bounds.json 后重启即可。
状态文件示例(字段含义见 README):
{
"version": 1,
"bounds": { "x": -2280, "y": 43, "width": 1943, "height": 1323 },
"maximized": false,
"savedAt": "2026-10-26T16:45:43.738Z",
"restore": { "at": "2026-10-26T16:45:43.738Z", "whileHidden": true }
}
适用场景与注意¶
适合谁:在 Windows 上长期使用 DSH Desktop、固定多屏或最大化工作布局,希望冷启动不再闪默认窗口的用户。
权限与安全:插件以当前 DSH 进程权限运行,通过 Win32 读写本机窗口状态与本地 JSON;README 声明无网络、无遥测。安装前建议阅读 LICENSE 与源码(lib/ 等),确认符合你的环境策略。
DSH 社区插件目录(如 dsh-plugin.org、SkillHub)由社区维护,与 DeepSeek / 幻方无官方从属关系;安装命令以各插件 README 为准,不要自行拼接未在文档中出现的命令形式。
结尾¶
dsh-desktop-windowstatus-saving 用零配置的 Host 插件方式,在隐藏阶段恢复主窗口放置,并在一秒级延迟内持久化变化,针对的是 Desktop 默认几何与重启闪屏这一具体痛点。进一步了解可访问 SkillHub 插件页 与 GitHub 仓库。