前言¶
在 macOS 上使用 DeepSeek Harness(dsh / dsh-tauri)时,如果启用了中文或日文等输入法,并将焦点放在可编辑元素(例如聊天输入框)上,首次使用触控板 Tap-to-Click 点击按钮往往不会触发,需要再点一次。而按下触控板或使用 Firefox 则正常。这是一个与输入法、触控板和 WebKit 事件顺序相关的现象。
插件简介¶
dsh-macos-tap-fix 是一个为 DeepSeek Harness(dsh / dsh-tauri)在 macOS 上提供临时的变通方案插件。它针对 WebKit Bug 219670 设计:当 Tap-to-Click 事件中 mouseup 在 mousedown 之前到达时,会导致点击事件丢失。该插件运行在浏览器端,仅支持 macOS。
核心功能¶
- 仅限 macOS 平台。
- 监听
mouseup事件:当mouseup到达目标元素,但此前没有对应的mousedown时,等待 40 ms。 - 在 40 ms 内若未收到该元素的
click,则派发一个click事件,并忽略晚到的mousedown。 - 正常的点击事件不受影响。
安装与启用¶
在 dsh 项目的 package.json 中添加依赖和 bundle 配置,然后重启应用:
"dependencies": { "dsh-macos-tap-fix": "github:lifwsp/dsh-macos-tap-fix" },
"dsh": { "profile": { "bundles": ["dsh-macos-tap-fix"] } }
删除时,将上述两处配置删除后重启即可。
适用场景与注意事项¶
- 适用于在 macOS 上使用 dsh-tauri,且启用输入法(如日文、中文)时,首次 Tap-to-Click 不生效的场景。
- 插件通过推断破坏的事件顺序并合成点击,存在边缘情况,使用需自行承担风险。
- 当前版本仅经过在 macOS 26.5.1 + Google Japanese Input 下的手工验证。
- 插件在当前 dsh 进程中运行,安装前建议检查源码与许可证(MIT)。
结尾¶
dsh-macos-tap-fix 是针对 macOS 输入法场景下 Tap-to-Click 首次点击失效的浏览器端变通方案。在 WebKit 官方修复发布前,可作为临时解决方案使用。详细信息和源码请参考:GitHub | 技能目录