DeepSeek Harness Hub
← 返回列表

YEYEYEYESHIFU/dsh-session-hotkeys

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
✓ 可直接安装

Session hotkeys for DeepSeek Harness Web · 给 DeepSeek…

自动检查通过:npm 包已发布且 engines 声明满足基线;该结论来自程序自动检查,未经人工实机验证。 · 最近上游提交 2026/9/18 · 已提供中文文档
综合分
31.5
GitHub 分
31.5
用户评分
★ Stars
2
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add dsh-session-hotkeys
npm 包 dsh-session-hotkeys 已校验归属本仓库,走 npm 安装最省事
数据截至 2026/9/18(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查✓ 自动检查通过

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

npm 包dsh-session-hotkeys @ 1.9.2
Node 引擎未声明 engines.node
dsh CLI 依赖未声明 dsh 版本约束
入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/19 03:10:54

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-client-ui-layout@deepseek-ai/dsh-client-ui-sidebar
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-session-hotkeys

Awesome DSH Plugin
npm version
license

Session hotkeys for DeepSeek Harness Web · 给 DeepSeek Harness Web 的会话快捷键插件

Switch sessions from the keyboard the way you switch browser tabs.
像切换浏览器标签页一样用键盘管理会话。

Install

dsh plugin --profile web add "dsh-session-hotkeys"

Then restart DSH Web. 然后重启 DSH Web 即可。

English · 简体中文

English

Why

- Alt+1-9 jumps straight to the Nth session, Alt+↑/↓ cycles through them — no mouse needed.
- Everything is rebindable from the panel, with Windows / macOS presets that are screened against browser & system shortcuts.
- Works while you're typing in the chat input — no blur-first step. Plain typing never triggers anything.
- Esc toggles to the chat: the first press hands focus to the transcript (↑↓ / PgUp / PgDn scroll), closing the panel, exiting nav, or dismissing the model menu on the way; the second press returns focus to exactly where it was — model selector (ring restored), input (caret intact), anything. Composer popups (slash commands) and IME keep their own Esc.
- Pure browser plugin: no network requests, no server-side state, nothing collected.

Keybindings

Defaults shown; rebind any of them in the panel (Alt+P → Keys tab).

| Action | Windows | macOS |
| --- | --- | --- |
| Switch to Nth session | Alt+1-9 | ⌃⇧1-9 |
| Previous / next session | Alt+↑ / Alt+↓ | ⌃⌥↑ / ⌃⌥↓ |
| Pin slot (pin / jump / unpin) | Alt+Shift+1-9 | ⌃⌥1-9 |
| Jump to pinned slot | Ctrl+Alt+1-9 | ⌃⌥⇧1-9 |
| New session | Alt+N | ⌃⌥N |
| Archive current session | Alt+Shift+A | ⌃⌥A |
| Open archived list | Alt+Shift+U | ⌃⌥U |
| Rename current session | Alt+Shift+R | ⌃⌥R |
| Navigation mode (↑↓ select · Enter open · Esc cancel) |  Alt+  |  ⌃  |
| Open panel | Alt+P | ⌃⌥P |
| Collapse / expand the conversation sidebar | Alt+B | ⌃⌥B |
| Close the focused split pane (last one tucks the workspace away) | Alt+W | ⌃⌥W |
| Focus search box | Alt+Shift+F | ⌃⇧F |
| Focus model selector | Alt+M | ⌃⌥M |
| Focus back to chat input | Alt+Enter | ⌃⌥Enter |
| Toggle chat focus (Esc → transcript, again → back; panel/nav/menu cancel on the way) | Esc | Esc |
| Send with alternate busy behavior | Alt+Shift+Enter | ⌃⌥⇧Enter |

Notes

- Archiving asks for confirmation first and never deletes anything — archived sessions stay listed in the panel's Archived page. (DSH 0.1.x has no public unarchive API, so restoring is host-side.)
- Bindings and pins are saved in browser localStorage and survive restarts. Clearing site data resets them.
- The sidebar must be expanded: session order is read from the rendered rows.

为什么 macOS 预设是这样的

Chrome 将 ⌘+1-9 和 ⌃+1-9 都映射为标签页切换(Safari:⌘+1-9),因此位置切换使用 ⌃⇧1-9。单独使用 ⌥ 会输入特殊字符,因此它从不单独使用。⌃+↑/↓ 是调度中心,⌃+N/P/F/B/A/E/K/D 是文本字段中的 Emacs 行编辑键,因此在其他地方添加了 ⌥。⌃/⌘+Enter 是编辑器自身的发送组合键,因此 Enter 系列添加了 ⌥。所有组合键均已针对 macOS Chrome 和 Safari 进行筛查。在 macOS 上,所有绑定都以原生符号(⌃ ⌥ ⇧ ⌘)呈现。唯一无修饰键的绑定是 Esc——在 Chrome 或 Safari 中没有浏览器冲突,IME 取消的 Esc 保持不受影响,并且 ⌘/⌃+Esc 变体永远不会匹配。

兼容性与已知限制

- 已使用来自 @deepseek-ai/dsh@0.1.1-rc.2 的 DSH Web 进行测试;并在 @deepseek-ai/dsh@0.1.5-rc.2(2026-09-15)上于标准 UI 和分屏视图中进行了端到端重新验证。
- 会话顺序 / 搜索框 / 模型选择器定位依赖于 DSH Web DOM 类名(包含模糊回退);升级后可能需要更新此插件。
- 在 Windows 上,Alt 键的默认行为在 DSH Web 内被抑制,以免 Chrome 吞掉 Alt+数字;代价是数字键盘 Alt 代码输入(例如 Alt+0167)在输入字段中无法使用。
- 按键录制接受字母、  (反引号)、F1–F12 以及数字 1–9(主键盘区或数字键盘;数字键盘需要 NumLock)。按 Esc 会取消录制,因此默认的 Esc 绑定(输入 → 聊天)通过重置来恢复,而不是重新录制。

没有 dsh plugin 的旧版 CLI

1. 将 dsh-session-hotkeys 添加到配置文件的 package.json 中的 dependencies 和 dsh.profile.bundles 两处
2. 在配置文件目录中运行 pnpm install
3. 重启 DSH

卸载会将其从这两个字段中移除;绑定可以通过浏览器 devtools localStorage 键 dsh.session-hotkeys.keys / dsh.session-hotkeys.pins 清除。

开发

git clone https://github.com/YEYEYEYESHIFU/dsh-session-hotkeys.git
cd dsh-session-hotkeys
npm run verify     # self-check: package structure, parseable client bundle, no external imports

一个仅浏览器端的 Cordis 包:从 sessions 服务读取会话,并通过 sessions.open() 进行切换;显示顺序直接来自渲染后的侧边栏 DOM,因此始终与分组/排序/折叠状态匹配。

MIT 许可。安全问题:请通过 GitHub Issues 报告。

简体中文

为什么值得装

- Alt+1-9 直达第 N 个会话,Alt+↑/↓ 循环切换——全程不用鼠标。
- 所有键位都能改,面板里录制式改键;Windows / macOS 双预设已逐项筛查系统与浏览器冲突。
- 输入框聚焦时也能用,切会话不用先退出打字状态;普通打字永远不会误触发。
- Esc 切换到聊天区:第一按把焦点交给会话内容(↑↓ / PgUp / PgDn 滚动),途中顺带关闭面板、退出导航、收起模型菜单;再按一次精确还原原焦点——模型选择(含高亮环)、输入框(光标原位)等。斜杠命令弹层与 IME 的 Esc 不受影响。
- 纯浏览器插件:无网络请求、无服务端状态、不收集任何数据。

键位表

以下为默认键位,均可在面板(Alt+P → 按键页)重新录制。

| 动作 | Windows | macOS |
| --- | --- | --- |
| 切换到第 N 个会话 | Alt+1-9 | ⌃⇧1-9 |
| 上一个 / 下一个会话 | Alt+↑ / Alt+↓ | ⌃⌥↑ / ⌃⌥↓ |
| 固定槽位三态(固定/跳转/取消) | Alt+Shift+1-9 | ⌃⌥1-9 |
| 跳转固定槽位 | Ctrl+Alt+1-9 | ⌃⌥⇧1-9 |
| 新建会话 | Alt+N | ⌃⌥N |
| 归档当前会话 | Alt+Shift+A | ⌃⌥A |
| 打开已归档列表 | Alt+Shift+U | ⌃⌥U |
| 重命名当前会话 | Alt+Shift+R | ⌃⌥R |
| 导航模式(↑↓ 选择 · Enter 进入 · Esc 取消) |  Alt+  |  ⌃  |
| 打开面板 | Alt+P | ⌃⌥P |
| 折叠 / 展开左侧会话栏 | Alt+B | ⌃⌥B |
| 关闭聚焦的分屏面板(最后一个收起工作区) | Alt+W | ⌃⌥W |
| 聚焦并清空搜索框 | Alt+Shift+F | ⌃⇧F |
| 聚焦模型选择 | Alt+M | ⌃⌥M |
| 聚焦回聊天输入框 | Alt+Enter | ⌃⌥Enter |
| 聊天区焦点切换(Esc 聚焦,再按还原;途中取消面板/导航/菜单) | Esc | Esc |
| 非默认忙时方式发送 | Alt+Shift+Enter | ⌃⌥⇧Enter |

说明

- 归档有确认卡片且从不删除数据——归档的会话仍在面板「已归档」页可查。(DSH 0.1.x 无公开取消归档接口,恢复需宿主端操作。)
- 键位与固定关系存于浏览器 localStorage,重启后依然有效;清除站点数据会重置。
- 切换依赖侧边栏展开状态:显示顺序直接读取已渲染的侧边栏行。

macOS 预设为什么长这样

Chrome 里 ⌘+1-9 和 ⌃+1-9 都会切换标签页(Safari 只有 ⌘),所以顺序切换用 ⌃⇧1-9。⌥ 单独按会打出特殊字符,因此从不当主修饰键。⌃+↑/↓ 是调度中心,⌃+N/P/F/B/A/E/K/D 是文本框的 Emacs 行编辑键,故相关组合都补了 ⌥。⌃/⌘+Enter 是输入框自带的发送快捷键,Enter 系列因此加 ⌥。全部组合已在 macOS Chrome 与 Safari 中逐项筛查无冲突。macOS 上键位一律用原生符号显示(⌃ ⌥ ⇧ ⌘)。唯一的无修饰键绑定是 Esc——Chrome 与 Safari 均无浏览器级冲突,输入法组合中的 Esc 不受影响,⌘/⌃+Esc 也不会误触发。

兼容性与已知限制

- 已在 @deepseek-ai/dsh@0.1.1-rc.2 随附的 DSH Web 上测试;并在 @deepseek-ai/dsh@0.1.5-rc.2 上做了完整回归(2026-09-15,标准视图与分屏两种状态)。
- 会话顺序 / 搜索框 / 模型选择按钮的定位依赖 DSH Web 的 DOM 类名(带模糊匹配回退);DSH 升级后可能需要同步更新本插件。
- Windows 上插件在 DSH Web 内屏蔽了 Alt 默认行为以免 Chrome 吞掉 Alt+数字;代价是输入框内小键盘 Alt 码(如 Alt+0167)不可用。
- 改键支持字母、、F1–F12 与数字 1–9(主键盘 / 小键盘均可;小键盘需开 NumLock)。按 Esc 会取消录制,默认的 Esc 键位(输入框 → 聊天区)请用「恢复默认」找回,而非重新录制。

旧版 CLI 没有 dsh plugin 子命令时

1. 在 profile 目录的 package.json 里把 dsh-session-hotkeys 加进 dependencies 与 dsh.profile.bundles
2. 在该目录执行 pnpm install
3. 重启 DSH

卸载即从这两个字段移除;如需彻底清掉自定义键位,可在浏览器开发者工具删除 localStorage 的 dsh.session-hotkeys.keys / dsh.session-hotkeys.pins。

开发

git clone https://github.com/YEYEYEYESHIFU/dsh-session-hotkeys.git
cd dsh-session-hotkeys
npm run verify     # 自检:包结构 / 客户端 bundle 可解析且无外部依赖

纯浏览器端 Cordis bundle:从 sessions 服务读取并切换会话;显示顺序直接读取已渲染的侧边栏 DOM,所见即所得。

MIT 开源。安全问题请通过 GitHub Issues 反馈。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群