前言¶
DeepSeek Harness(DSH)桌面端在 Windows 正式版里,往往找不到「重载整个窗口」的入口:应用菜单里的 reload 只在开发模式注册,日常用的是内置 page.refresh(Ctrl+R),它只刷新右侧栏面板,无法把整页 UI 拉回正常状态。前端 JS 卡死、白屏时,你需要的是浏览器式的整页重载。下面介绍社区插件 dsh-page-reload(维护者 caly250,分类:客户端),它通过 DSH 快捷键服务注册 page.reload,默认 Ctrl+Shift+R(macOS 为 Cmd+Shift+R),作为 wedged 或白屏界面时的恢复键。
这是什么¶
dsh-page-reload 是纯客户端(client-only)、零运行时依赖的 DSH 插件。Host 侧刻意不做任何事,避免桌面壳因插件激活失败。它解决的核心问题是:在渲染进程仍存活的前提下,用可配置的快捷键触发 location.reload() 级别的整页刷新,与只动右侧栏的 page.refresh 区分开。
为什么需要它¶
资料里归纳的背景如下:
- DSH 正式版在 Windows 上缺少页面重载菜单项(
app.asar中lib/main.js的 development 分支才注册 reload 菜单)。 - 内置
page.refresh实现在dsh-client-ui-sidebar-right的registerSidebarShortcuts,作用域是右侧面板,不是整页。 - 白屏有时来自渲染进程 OOM(可在
userData\logs\crash-*-renderer.log看到Desktop renderer exited: oom);JS 层卡死时则仍可能需要整页重载。
核心功能¶
插件通过 @deepseek-ai/dsh-client-shortcuts 注册命令 page.reload:
- 默认键位:
Ctrl+Shift+R(Windows / Linux 桌面与 Web);macOS 为Cmd+Shift+R。 - 命令出现在 设置 → 快捷键(
Ctrl+/),可改键或清空绑定。 - 第二层:在 capture 阶段增加原生
keydown兜底;若快捷键服务已处理(defaultPrevented),兜底让路,避免双触发冲突。
执行情况会写入 localStorage["dsh-page-reload-probe"](phase 如 registered、raw-listener-installed、command-run 等),便于排查是否注册成功。
安装与启用¶
从 GitHub 或本地目录安装(命令摘自插件 README,<your-user> 换为仓库所属用户,例如目录页上的 caly250):
# 从 GitHub 安装
dsh plugin --profile desktop add github:<your-user>/dsh-page-reload
# 或从本地目录
dsh plugin --profile desktop add link:/path/to/dsh-page-reload
安装后需重启 DSH:托盘 → 退出 → 再打开。插件以当前 DSH 进程权限在渲染进程内运行;安装前建议自行查看 GitHub 源码 与 MIT 许可证。
典型用法¶
- 安装并重启后,在界面卡死但窗口仍可响应时,按默认
Ctrl+Shift+R(macOS:Cmd+Shift+R)整页重载。 - 若需改键:打开 设置 → 快捷键(
Ctrl+/),找到page.reload修改或解除绑定。 - 怀疑插件未加载时,在 Windows 上可从 Local Storage leveldb 搜索探针键(README 提供的 PowerShell 示例):
$ud = Join-Path $env:APPDATA '@deepseek-ai\dsh-desktop\Local Storage\leveldb'
Get-ChildItem $ud -File | ForEach-Object { Select-String -Path $_.FullName -Pattern 'dsh-page-reload-probe' }
适用场景与注意¶
适合:日常 DSH 桌面/Web 客户端使用者;右侧栏刷新无效、整页 UI 假死或白屏且 Electron 未报致命错误时,优先尝试本快捷键。
边界(README 诚实说明):
- 快捷键跑在渲染进程:若渲染进程已崩溃,页内按键无效,应使用 Electron 对话框的「重新启动」,或托盘 → 退出 → 重开;不要用强杀进程的方式刷新(可能截断会话日志)。
- 若只是 JS 卡死、进程仍在,
Ctrl+Shift+R通常足够。
卸载:从 profile 的 package.json 移除 dependencies 与 dsh.profile.bundles 中对应条目,删除 node_modules 内链接后重启;userData/keybindings.json 里残留的绑定无害。
DSH 生态主张「一切皆插件」;SkillHub 目录页 为社区站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-page-reload 用一条可配置的 page.reload 补上了正式版里缺失的整页重载路径,并与 Ctrl+R 的面板刷新明确分工。需要安装说明与边界细节时,以仓库 README 为准。
- 目录页:https://www.skillhub.cn/plugins/caly250/dsh-page-reload
- GitHub:https://github.com/caly250/dsh-page-reload