前言¶
在 DSH Desktop 中浏览多个会话时,如果频繁需要切换到最近查看过的会话,需要手动在侧边栏里查找并点击,操作路径较长。这个插件通过键盘快捷键,在保持会话列表不中断的前提下快速跳转。
这是什么¶
dsh-session-switcher 是一个 DSH Desktop 插件,由维护者 Yporcupine 开发。它通过「按住修饰键 + 敲击切换键」的方式,从最近查看的会话列表中快速选择并切换到目标会话,松开修饰键即完成切换。
插件的核心价值在于把「查找并点击」缩短为「高亮 + 松手」,减少鼠标移动和视线转移。
核心功能¶
按住 Ctrl 并敲击 Tab,会弹出最近查看会话的浮动列表,下一项高亮。继续按 Tab 在列表中向下移动高亮,松开修饰键则打开高亮项。Ctrl + Shift + Tab 向后循环,Esc 取消不切换。也可以用 ↑/↓ 键移动高亮,或者直接点击某一行立即打开该会话。
列表以最近查看顺序(MRU)排列:当前会话 → 历史最近查看会话 → 按侧边栏最近更新排序。每次查看会话都会更新查看历史。列表会跳过已归档会话和子代理会话,当前未开始的新会话排在最前。
插件内置「正在运行」状态指示:当前会话正在活动时,行右侧显示一个 14px 旋转圆圈,复用 DSH 侧边栏的 StateDot 样式。动画在 prefers-reduced-motion 下停止。
安装与启用¶
从插件管理器安装(推荐)¶
- 在 DSH 中打开 Plugins 页面(侧边栏的插件管理器页面;中文界面为「插件」)。
- 选择 Add plugin → Install a third-party plugin(「添加插件」→「安装第三方插件」)。
- 输入仓库地址并选择 Install:
https://github.com/Yporcupine/dsh-session-switcher
- 如果 DSH 提示重启,则重启 DSH Desktop。安装程序会自动把依赖加入你的配置文件并启用该 bundle,无需手动配置。
后续如需禁用或卸载,回到 Plugins 页面操作即可。
命令行安装¶
使用 dsh CLI 执行:
dsh plugin add https://github.com/Yporcupine/dsh-session-switcher
若需要指定配置文件,可使用 --profile <name>:
dsh plugin --profile desktop add https://github.com/Yporcupine/dsh-session-switcher
命令行安装后同样会自动添加依赖并启用,可能需要重启 DSH Desktop。
本地开发安装¶
如需本地修改插件,可检出仓库作为 linked bundle。
- 克隆仓库到 DSH bundles 目录(macOS / Linux 为
~/.dsh/bundles/,Windows 为%USERPROFILE%\.dsh\bundles\):
git clone https://github.com/Yporcupine/dsh-session-switcher.git ~/.dsh/bundles/session-switcher
Windows PowerShell:
git clone https://github.com/Yporcupine/dsh-session-switcher.git "$env:USERPROFILE\.dsh\bundles\session-switcher"
- 通过插件管理器或 CLI 将本地路径作为第三方插件添加:
- 插件管理器:Plugins → Add plugin → Install a third-party plugin → 输入绝对路径(如
/home/<you>/.dsh/bundles/session-switcher、C:/Users/<you>/.dsh/bundles/session-switcher)。 - CLI:
dsh plugin --profile desktop add /home/<you>/.dsh/bundles/session-switcher
- 重启 DSH Desktop。后续修改后再次重启即可生效。
若无法使用安装程序,也可以手动编辑 DSH Desktop 配置文件 ~/.dsh/profiles/desktop/package.json(Windows 为 %USERPROFILE%\.dsh\profiles\desktop\package.json),在 dependencies 中添加:
{
"dependencies": {
"dsh-session-switcher": "link:/home/<you>/.dsh/bundles/session-switcher"
},
"dsh": {
"profile": {
"bundles": ["...", "dsh-session-switcher"]
}
}
}
使用本地克隆的绝对路径(JSON 中路径使用正斜杠),然后执行 dsh plugin --profile desktop install 重新链接和安装配置,再重启 DSH。
典型用法¶
- 打开 DSH Desktop,按住
Ctrl并连续敲击Tab,会话列表浮窗弹出,下一项高亮。 - 继续按
Tab将高亮下移,或按Ctrl + Shift + Tab向后移动。 - 确认目标后松开
Ctrl,浮窗关闭,目标会话打开。 - 若需取消,松开前按
Esc,或点击浮窗外部、窗口失焦时自动取消。 - 也可以在浮窗打开时直接点击某一行,立即打开该会话。
适用场景与注意¶
适合需要在多个会话间快速切换、习惯用键盘操作的开发者。插件通过固定输入(fixed input)注册快捷键,避免原生键盘桥对修饰键 keyup 的拦截,确保「松手提交」可靠。
注意:插件以当前 DSH 进程的权限运行,安装前应检查源码与许可证(MIT)。若不希望某些快捷键出现在快捷键设置中,可在插件管理器中禁用或卸载插件。
结语¶
把「查找并点击」缩短为「高亮 + 松手」,是提升会话切换效率的小改动。若你在 DSH Desktop 中经常需要在最近会话间跳转,这个插件值得尝试。
目录页:https://www.skillhub.cn/plugins/Yporcupine/dsh-session-switcher
GitHub:https://github.com/Yporcupine/dsh-session-switcher