全部插件

DSH / BUNDLE / CLIENT-UI

dsh-keyboard-shortcut

v0.2.1OZONGO / dsh-keyboard-shortcutb31c2c7097

可安装组合包UI 与客户端插件社区 · Topic 自动分析Web UI

概览

dsh-keyboard-shortcut

A Keyboard Shortcuts settings page for DeepSeek Harness (DSH) with permission-mode cycling, reasoning-effort stepping, prompt navigation, and an optional composer key remap.

README / ZH

插件文档

目录摘要

A Keyboard Shortcuts settings page for DeepSeek Harness (DSH) with permission-mode cycling, reasoning-effort stepping, prompt navigation, and an optional composer key remap.

dsh.pub 核对固定版本的组合包契约、运行时事实与分发语义;完整 README 请查看源仓库。

在 GitHub 阅读完整 README

LIMITATIONS

已知限制

- **模式切换、思考强度、状态页与任务清单快捷键默认仅在桌面版可用。** DSH 在桌面版 Windows 和 macOS 之外保留了 <kbd>Ctrl</kbd>+<kbd>Q</kbd>,而浏览器会占用 <kbd>Ctrl</kbd>+<kbd>1</kbd>…<kbd>Ctrl</kbd>+<kbd>8</kbd> 切换标签页。<kbd>Alt</kbd>+<kbd>A</kbd> 与 <kbd>Ctrl</kbd>+<kbd>L</kbd> 根本不在浏览器的放行名单内:单个非主修饰键会被拒绝,而且这两个键都已被占用。这五个命令在所有平台都存在、可手动绑定,只是在无法工作的平台上默认不绑定。 - **DSH 桌面版被快捷键服务判定为网页。** 桌面版不写 `html[data-platform]` 标记——写了会让快捷键服务要求一个它并不提供的原生键盘桥,服务构造函数会直接抛错——于是 `desktop:*` 默认值永远不生效,注册表也拒绝保存上面那些组合。插件自己识别窗口,并通过 `observeFixedInput`(与翻页键相同的原始输入通道)触发这些按键。注册表已有的绑定始终优先,所以一次按键不会触发两次动作;桌面版本身也保留的组合(<kbd>Ctrl</kbd>+<kbd>C</kbd>、<kbd>Ctrl</kbd>+<kbd>V</kbd> 等)绝不会被接管。详见 [docs/shortcuts.md](docs/shortcuts.md)。 - **状态页快捷键复用「页面」,而不是「标签」。** 侧边栏浏览器注册为可多次打开的标签类型,因此通过侧边栏自身的 API 打开总会新建标签。插件改为先查找正在显示 DeepSeek 服务状态页的浏览器标签并显示它,必要时先展开侧边栏。显示其他网址的标签会被保留不动,状态页在它旁边新建;属于其他会话的标签会被忽略,因为侧边栏只会显示当前会话中的标签。 - **任务清单开关点击的是面板标题。** DSH 把展开状态保存在面板组件内部,没有对外句柄,因此该快捷键驱动的是与鼠标点击相同的按钮。没有任务清单的会话不会渲染任何内容,快捷键会如实提示而不是报错。 - **输入跳转驱动的是轮次导航条。** DSH 没有公开「跳转到某一轮」的服务,因此该快捷键触发导航条自身的刻度。一轮以其第一条用户消息为锚点,所以「上一条输入」等同于「上一轮」。 - **翻页键无法注册,因此直接读取原始输入。** DSH 的快捷键注册表会用一份封闭白名单校验每个声明的键码(`Key*`、`Digit*`、`F1`–`F24`,以及一组固定命名键,其中**不含**翻页键),`registerFixed` 会预先规范化绑定并抛出 `Unsupported shortcut code: PageUp`,注册注定失败。<kbd>PgUp</kbd>/<kbd>PgDn</kbd> 因此通过 `observeFixedInput` 处理:键盘层在派发前把每次 keydown 都交给该观察者,与注册无关。这两个键在所有平台都可用,只是没有目录行,设置页从本地表把它们渲染为只读行。 - **由插件自己触发的绑定不会出现在 DSH 的快捷键参考里。** 它由本插件持有,只有本插件的设置页会列出,行上会注明这一点。若 DSH 之后为自己的桌面窗口加上标记,所有绑定都会回到注册表,这条限制也随之消失。 - **输入框重映射是 DOM 层集成。** 输入框的键位表由 `dsh-client-ui-conversation` 私有持有;该选项改写事件的修饰键标志,而不是重新实现发送逻辑。原因与失效场景见 [docs/design.md](docs/design.md)。 - **设置页导航图标是 DOM 补丁。** DSH 通过按分区 id 硬编码的分支选择导航图标,且注册项没有图标字段,因此图标通过 CSS mask 应用。 - **录制会丢失 React 状态。** 重新绑定会重新注册命令并重新渲染页面,与任何目录变更一样。