편집자 노트

hytime/dsh-client-ui-shortcuts

Profile-aware keyboard shortcuts for the DeepSeek Harness Web Client

이것은 DeepSeek Harness(DSH) 플러그인입니다. 이 사이트는 GitHub README, 설치 정보, 유지보수 상태, 공개 보안 시그널을 모아 보여줍니다.

DSH Client UI Shortcuts

npm version npm downloads license

English | 中文

DeepSeek Harness Web 提供 browser-safe、profile-aware 的键盘控制。

插件运行在 DSH Web 内,为 Question 和 Approval 流程提供可预测的键盘操作,并在相应 DSH 能力可用时提供 Session 与 Workspace 导航。它不修改 DSH core、agent loop 或模型协议。

为什么安装

  • 无需离开键盘即可回答 DSH Question 和 Approval。
  • 为交互卡片和全局动作选择 Standard、Vim 或 Custom profile。
  • 使用显式的物理 MetaCtrlAltShift 修饰键导航 Session 与 Workspace。
  • 打开已有的可用 Session 前,自动展开处于折叠状态的目标 Workspace。
  • 当 DSH 不提供所需能力时,不将不可用动作加入路由和快捷键列表。
  • 遵守浏览器和操作系统边界:浏览器保留的快捷键可能不会到达网页。

展示图

Question 和 Approval 交互快捷键:

Question 和 Approval 快捷键设置

带平台键帽的全局 Session 和 Workspace 快捷键:

全局 Session 和 Workspace 快捷键设置

60 秒安装

推荐安装 npm 发布包,因为其中已经包含预构建的 lib/ 产物,不需要在安装阶段执行构建。通过 DSH CLI 安装插件,然后重启或重新加载 Web composition:

dsh plugin --profile web add @hytime/dsh-client-ui-shortcuts@0.1.13
dsh --profile web

如需改为安装 GitHub 源码,请固定 release tag 或 commit,不要直接安装默认分支:

dsh plugin --profile web add github:hytime/dsh-client-ui-shortcuts#v0.1.13

Git 安装会在安装阶段执行包的 prepare 脚本。pnpm 可能要求将错误信息给出的精确 package key 加入 profile 的 allowBuilds;只应为可信且已固定的源码授予该权限。完整步骤见安装指南

本插件不是独立的 React 或 Vite 应用。不要直接打开 apps/web,也不要使用 npm installpnpm add 或手动修改 DSH profile manifest、lockfile 的方式安装到 profile。

升级、移除、本地 tarball、profile 检查和排错步骤见安装指南

当前包含的能力

  • Question 卡片:单选、多选、自定义答案、跳过、上一题和提交。
  • Approval 卡片:允许一次、拒绝、详情、取消和键盘确认。
  • Standard、Vim 和可编辑的 Custom profile;同一时间只有一个 profile 处于 active 状态。
  • 显式物理 MetaCtrlAltShift 修饰键、候选绑定和两段 chord。
  • 浏览器保留快捷键 denylist 与冲突检查。
  • 对当前 DSH 组合中不可用功能进行能力检查。
  • 在相应 DSH 能力可用时提供 Session、Workspace、session branch 和主题操作。

快捷键参考

Question 和 Approval 卡片

命令QuestionApproval
聚焦上一项ArrowUpArrowUp
聚焦下一项ArrowDownArrowDown
激活当前项EnterEnter
取消当前任务EscapeEscape

Vim profile 会将两个聚焦绑定替换为 kj;确认和取消仍使用 EnterEscape。这些绑定只在当前交互卡片内生效。

全局动作

当前 profile 的默认全局绑定如下:

动作默认绑定
创建 SessionMeta+Alt+Shift+N
上一个 SessionMeta+Alt+Shift+J
下一个 SessionMeta+Alt+Shift+K
上一个 WorkspaceMeta+Alt+Shift+H
下一个 WorkspaceMeta+Alt+Shift+L
Fork 当前 SessionMeta+Alt+Shift+B
切换浅色/深色主题Meta+Alt+Shift+T

只有在 DSH 提供所需能力时,才会注册全局动作。

Profile 与 Custom binding

Standard 使用方向键、EnterEscape 处理 Question 与 Approval 交互。Vim 使用 j/kEnterEscapeCustom 可以编辑 Question、Approval 以及由 capability 支持的全局 binding,包括显式修饰键、候选绑定和两段 chord。

按物理 KeyboardEvent.code 匹配按键,并归一化 Esc/EscapeReturn/Enter 等别名;会拒绝前缀冲突,并将 chord 限制为最多两段。在 macOS 上,Meta 显示为 Command,Alt 显示为 Option;其他平台将 Meta 显示为 Windows 键,Ctrl 显示为 Control。

当前公开的物理修饰键只有 MetaCtrlAltShiftMod 仅用于旧持久化配置的迁移:读取旧配置时会迁移为 Meta,保存时不会写回 Mod

浏览器和平台边界

路由器使用浏览器的 capture-phase listener。它会让位于未匹配的文本输入、IME composition、重复事件、待处理的 Question 或 Approval 接管,以及由宿主拥有焦点的 popup。由于全局 binding 是显式配置的,全局动作即使从 input 或 contenteditable 元素中触发,也可以执行。

浏览器 denylist 覆盖已知的 Chrome、Safari、Firefox 和 Edge 组合,并用于冲突检查。它无法查询任意操作系统或浏览器快捷键的占用情况;浏览器或操作系统保留的快捷键可能根本不会把事件分发给网页。capture listener 只能阻止浏览器已经分发到页面的快捷键。

Workspace 与 Session 导航

Session 导航遵循当前 Workspace 保存的 Session 顺序,并跳过 archived、subagent 和 blank Session。Workspace 导航会在目标 Workspace 中打开已有的非 blank Session。

如果目标 Workspace 处于折叠状态,插件会先自动展开它,再打开符合条件的已有 Session。导航不会创建 blank Session,也不会调用 connectWorkspace 来制造目标。

DSH 兼容边界

插件不会修改 DSH core。它只能通过真实的 DSH Web 组合和 DSH 启动与模块加载器加载。安装更新不会替换已经在打开页面中运行的代码;请重新加载 Web 组合,才能加载新的 Client bundle。

开发与验证

下面的命令用于开发本包,不是 profile 安装命令:

pnpm install
pnpm run bundle
pnpm run typecheck
pnpm exec vitest run tests

完整的 DSH composition 流程见安装指南。浏览器验证必须通过带有 boot data 的真实 DSH Web profile;apps/web Vite entry 不是独立的验证目标。

常见问题

会改变模型行为吗?

不会。本插件只改变浏览器交互,不增加 tool、prompt section、模型可见 event 或 model request context。

为什么没有看到某个全局动作?

全局动作仅在当前 DSH 组合提供所需能力时可用。不可用的动作不会注册,也不会显示对应的快捷键行。

为什么隐藏设置快捷键?

DSH 没有公开的设置打开方式,因此保留的 Meta+, 绑定会保持隐藏,不会被激活。

安装更新后,当前打开的页面为什么没有变化?

DSH 需要重新加载 Web composition,浏览器才会加载新的 Client bundle。安装包不会替换已经在浏览器中运行的代码。

不使用 DSH Web 可以运行吗?

不可以。浏览器产物是 DSH loader factory,依赖 DSH boot 注入、slots、settings、locale 和运行时环境。

相关链接

License

MIT

REPOSITORY SIGNALS

보안 및 설치 증거

이 점수는 공개 저장소 메타데이터와 이 사이트에 등록된 설치 증거에만 기반하며, 코드 보안 감사와 다릅니다.

출처 추적 가능

공개 플러그인 카탈로그에서 왔으며, 공개 GitHub 저장소로 연결됩니다.

라이선스

GitHub 메타데이터에서 라이선스가 감지되지 않았습니다.

유지보수 활동

최근 180일 내 코드 업데이트가 있습니다.

설치 증거

재현 가능한 정확한 설치 메타데이터가 아직 등록되지 않았습니다. 저장소 설명에 따라 직접 확인하세요.

설치 라이프사이클 스크립트

prepare이(가) 감지되었습니다. 설치 전에 스크립트를 검토하세요.

주의 사항missing-licenselifecycle-scripts