前言¶
在 DSH 里写长提示、多行代码或分步说明时,Composer 默认是 Enter 发送、Shift+Enter 换行。这和不少编辑器、聊天客户端的习惯相反,也容易在模型繁忙时搞混「排队发送」和「插话发送」分别对应哪一组快捷键。若不想改 DSH 全局设置、又希望三个键位按自己的习惯分工,可以在客户端侧用插件做按键重映射,而不动草稿内容或发送逻辑本身。
下面介绍社区插件 dsh-enter-remap(维护者 Goose-Gusi,分类:客户端):把输入框的 Enter、Ctrl+Enter、Shift+Enter 映射为换行、发送或「繁忙时发送」三种语义之一,配置写在 cordis.patch.yml,页面上没有单独设置页。
这是什么¶
dsh-enter-remap 是 DeepSeek Harness 的客户端插件:在 DSH Composer(Lexical 编辑器)上,于捕获阶段把按键改写成 DSH 原生 keymap 能识别的组合键,从而复用宿主已有的换行与发送行为。插件不发送消息、不编辑草稿、不写入 DSH 自有配置文件。
DSH 原生已具备三种动作:Enter 发送(繁忙时由「设置 → 通用 → Composer Enter」决定 queue/steer)、Ctrl+Enter 互补投递、Shift+Enter 换行。本插件只改「你按的是哪个键」,执行仍由 DSH 完成。
核心功能¶
- 三键独立映射:
enter、ctrlEnter、shiftEnter各自可选newline、send、busySend。 - 无 UI 配置:映射来自
cordis.patch.yml的config段;改文件后需重启 DSH(运行期也可通过window.__DSH_ENTER_REMAP__即时读取,但改 yml 仍要重启)。 - 边界与原生一致:补全菜单打开时 Enter 交给菜单;输入法合成中及结束后短窗口不改写;Alt 相关组合键保持原生;长按自动重复透传,发送类只触发一次。
- 兼容性说明:依赖支持
dsh.bundle的 DSH 版本,使用公开扩展点;不依赖@deepseek-ai/*运行时包。已在 DSH desktop(Windows)验证;macOS / Linux 未逐平台测试。若 DSH 更换输入框实现,重映射会失效并回退原生行为,不报错、不损坏会话。
可选值含义(摘自 README):
| 值 | 行为 |
|---|---|
newline |
换行(沿用原生 Shift+Enter) |
send |
发送(沿用原生 Enter;忙时按「通用 → 繁忙时的发送行为」) |
busySend |
繁忙时发送(沿用原生 Ctrl+Enter;忙时用另一条投递方式) |
默认是一次「三键轮换」:Enter 换行,Ctrl+Enter 发送,Shift+Enter 为 busySend。注意 send 与 busySend 在模型繁忙时的 queue/steer 语义不同,需与通用设置一起调整。
安装与启用¶
从 npm 安装(资料原文命令):
dsh plugin add dsh-enter-remap
从本地目录安装:
dsh plugin add ./dsh-enter-remap
装完后重启 DSH,在「设置 → 插件」中应能看到该插件;回到输入框按 Enter 若变为换行,说明已按默认配置生效。
卸载:
dsh plugin remove dsh-enter-remap
重启后输入框恢复原生键位;插件不写用户数据、不改 DSH 设置。
典型用法:改 cordis.patch.yml¶
在插件的 cordis.patch.yml 中设置 config,例如:
config:
enter: newline # Enter
ctrlEnter: send # Ctrl+Enter
shiftEnter: busySend # Shift+Enter
改完保存并重启 DSH。重装或升级插件不会覆盖你维护的配置文件内容(配置只存在于插件自己的 cordis.patch.yml)。
若希望某个键在模型繁忙时固定偏向排队或插话,需区分配置 send(非加速 Enter 路径)与 busySend(加速 Ctrl+Enter 路径),并与「设置 → 通用 → 繁忙时的发送行为」对照理解。
适用场景与注意¶
- 适合:习惯 Enter 换行、用 Ctrl/Shift+Enter 区分两种发送策略的开发者;需要在不改 DSH 核心的前提下微调 Composer 键位的人。
- 权限与安全:插件以当前 DSH 进程权限在 Web 客户端注入脚本运行,安装前建议阅读 GitHub 仓库 源码与 MIT 许可证,自行评估是否满足环境要求。
- 生态:DSH 社区插件目录为独立站点(如 SkillHub 目录页),与 DeepSeek / 幻方无官方从属关系;安装命令以 README 为准,勿凭仓库名自行拼接
github:形式。
结尾¶
dsh-enter-remap 用最小侵入的方式,把 Composer 三个 Enter 相关按键映射到换行或两种发送语义,配置集中在 cordis.patch.yml,适合需要自定义键位又不想碰 DSH 内部模块的场景。
- 目录页:https://www.skillhub.cn/plugins/Goose-Gusi/dsh-enter-remap
- GitHub:https://github.com/Goose-Gusi/dsh-enter-remap