dsh-refresh:在 DeepSeek Harness 里恢复 F5 与硬刷新快捷键

前言

DeepSeek Harness(DSH)面向智能体与插件开发,界面里没有单独的「刷新」按钮。部分场景下,浏览器自带的重新加载快捷键也会被拦截或无效,改完插件或本地配置后,只能关页重开或绕路刷新,打断调试节奏。

下面介绍社区插件 dsh-refresh(维护者 spidu-lee):在页面侧监听键盘,让 F5、Ctrl+F5(macOS 上为 Cmd 组合)以及 Ctrl+Shift+R / Cmd+Shift+R 稳定触发 location.reload(),并在需要时走硬刷新(绕过缓存)。

这是什么

dsh-refresh 是一个仅运行在客户端的 DSH 插件,npm 包名为 dsh-refresh,当前资料中的版本为 1.0.2,许可证 MIT。它不改动服务端,也不提供额外 UI,只做一件事:在 Harness 页面里接管上述刷新相关按键,并调用浏览器刷新 API。

DSH 生态强调「一切皆插件」;插件目录站点(如 SkillHub)与 DeepSeek / 幻方无官方从属关系,安装前请自行查看源码与许可证。

核心功能

插件在 apply(ctx) 中通过 ctx.effect 注册捕获阶段的 keydown 监听,插件卸载时监听会自动移除。行为与上游 README 一致:

  1. F5:普通刷新,location.reload()。
  2. Ctrl+F5(Windows/Linux)或带 Ctrl/Cmd 的 F5 组合、以及 Ctrl+Shift+R / Cmd+Shift+R:硬刷新,location.reload(true)(绕过缓存)。
  3. 匹配到上述按键时会 preventDefault() 与 stopPropagation(),避免被页面内其他逻辑吞掉。

不支持 Ctrl+R / Cmd+R。 Harness 在 Electron 的 before-input-event 层把 page.refresh 绑在 Ctrl+R 上,事件到不了页面里的 keydown 监听,插件无法从页面层「修复」这一点。若习惯用 Ctrl+R,需要在 DSH 快捷键设置里把 page.refresh 改绑到其他键,让 Ctrl+R 重新落到页面;日常刷新请改用 F5、Ctrl+F5 或 Ctrl+Shift+R。

实现上,插件导出 name、inject 与 apply(ctx),逻辑等价于在捕获阶段监听并分支调用 location.reload() 或 location.reload(true)(详见 GitHub 仓库 README 中的示例代码)。

安装与启用

推荐从 npm 安装:

dsh plugin add dsh-refresh

也可指定 GitHub 仓库:

dsh plugin add spidu-lee/dsh-refresh

安装命令以上游 README 为准。插件以当前 DSH 进程权限运行,安装前建议阅读 GitHub 仓库 中的 index.js 与 client 入口,确认行为符合预期。

典型用法

无需额外配置项:package.json 中 dsh.client.platform 为 web,安装并启用后,在 Harness 页面焦点在文档内时:

  1. 需要普通重载:按 F5。
  2. 需要清缓存重载:按 Ctrl+F5(macOS 为 Cmd+F5)或 Ctrl+Shift+R / Cmd+Shift+R。

适用于改插件代码、改 Cordis patch 或本地注入脚本后,希望用桌面浏览器习惯快捷键立刻看到新行为,而不依赖 Harness 内置刷新入口的场景。

适用场景与注意

  • 适合:长期在 DSH 里调试插件、频繁改 front-end 注入逻辑、希望 F5 / 硬刷新快捷键行为与浏览器一致的用户。
  • 不适合:期望用 Ctrl+R 刷新且不愿改 Harness 快捷键绑定的场景——需改系统快捷键或接受 F5 系列组合。
  • 安全:插件代码量小,但仍属第三方扩展;仅在信任维护者与 MIT 许可的前提下安装,并留意后续版本变更。

结尾

dsh-refresh 用最小客户端插件补齐 Harness 缺少的刷新快捷键体验,明确区分普通刷新与硬刷新,并说明 Ctrl+R 无法在页面插件层恢复的原因。目录与源码:

  • 目录页:https://www.skillhub.cn/plugins/spidu-lee/dsh-refresh
  • GitHub:https://github.com/spidu-lee/dsh-refresh
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye