交换 Enter 与 Shift+Enter 的发送和换行行为
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/25 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Heydo/dsh-enter-send-swap该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DSH Web 插件:在输入框里对调 Enter 和 Shift+Enter 快捷键。
README
由 DeepSeek 最新模型翻译生成Composer Enter Swap
DSH Web 插件:交换输入框的发送 / 换行快捷键。
DSH Web 插件:Enter 插入换行,Shift+Enter 发送消息。
| 按键 | 默认行为 | 安装本插件后 |
| Enter | 发送消息 | 插入换行 |
| Shift+Enter | 插入换行 | 发送消息 |
| Cmd/Ctrl+Enter | 互补的 Queue/Steer 方式 | 不变 |
工作方式
- 仅 Client 侧插件(Host 半为空实现),把一个渲染为空元素的组件注册到 conversation.input.overlay 槽位。
- 组件挂载后在该 composer 卡片上以捕获阶段监听 keydown:
- Shift+Enter → 阻止默认行为并向编辑器重放一次普通 Enter 的 keydown,走官方提交管线(上传中提示、忙碌时 Queue/Steer、空草稿不发送等保护都在)。
- Enter → 阻止默认行为并向编辑器重放一次 Shift+Enter 的 keydown,走编辑器自带的换行命令。
- 组合输入(IME)中、带 Alt/Ctrl/Cmd 修饰键、命令/引用菜单打开、输入框处于命令声明(非 plain)阶段时不会拦截,保持官方行为。
展开完整文档(README 剩余 1 节)
Composer Enter Swap
DSH Web 插件:交换输入框的发送 / 换行快捷键。
DSH Web 插件:Enter 插入换行,Shift+Enter 发送消息。
| 按键 | 默认行为 | 安装本插件后 |
| Enter | 发送消息 | 插入换行 |
| Shift+Enter | 插入换行 | 发送消息 |
| Cmd/Ctrl+Enter | 互补的 Queue/Steer 方式 | 不变 |
工作方式
- 仅 Client 侧插件(Host 半为空实现),把一个渲染为空元素的组件注册到 conversation.input.overlay 槽位。
- 组件挂载后在该 composer 卡片上以捕获阶段监听 keydown:
- Shift+Enter → 阻止默认行为并向编辑器重放一次普通 Enter 的 keydown,走官方提交管线(上传中提示、忙碌时 Queue/Steer、空草稿不发送等保护都在)。
- Enter → 阻止默认行为并向编辑器重放一次 Shift+Enter 的 keydown,走编辑器自带的换行命令。
- 组合输入(IME)中、带 Alt/Ctrl/Cmd 修饰键、命令/引用菜单打开、输入框处于命令声明(非 plain)阶段时不会拦截,保持官方行为。
- 同时把 设置 → 快捷键 里的固定行按键显示同步为交换后的含义(Shift+Enter = 发送消息、Enter = 换行),见下节。
设置页同步
DSH 内置的“快捷键”设置页读取的是内置固定快捷键表, fixed.send = Enter / fixed.newline = Shift+Enter 由官方包注册且不允许被替换。
本插件在运行时把这两条固定行的按键描述原地互换并重新发布该表,因此设置页显示与实际行为一致。
- 这两行仍是只读固定项(DSH 不支持给固定键录制改键),只是显示值已同步。
- 同步基于 DSH 0.2.1-rc.3 的快捷键服务内部结构;若未来版本改了实现,插件会 feature-detect 失败后跳过同步,只影响设置页显示,输入框行为不受影响。
安装
从 GitHub 获取源码(或直接下载 Releases 里附带的 tgz):
git clone https://github.com/Heydo/dsh-enter-send-swap.git
然后在 DSH 的 设置 → 插件管理 里选择以下任一方式:
1. 从本地目录安装(开发用,link: 方式):选择本插件源码目录(含 package.json 的那一层),DSH 会读取其中的 dsh.bundle.patch 与 dsh.client 字段。之后修改源码,刷新页面即可生效。
2. 从 tgz 安装(稳定版):使用 Release 附件里的 local-dsh-enter-send-swap-<version>.tgz,安装后是拷贝副本,升级需重新安装。
安装完成后刷新 Web GUI 页面(Host 半的改动需重启 DSH)即可生效。
当前包名是 @local/dsh-enter-send-swap,private: true,仅用于本地安装。
卸载
设置 → 插件管理 → 找到 @local/dsh-enter-send-swap(发送快捷键交换)→ 卸载。
开发与打包
- 纯 Client 侧插件:client.js 通过
window.__ModuleLoader__.load({ id: '@local/dsh-enter-send-swap', factory(require) { ... } })
注册组件;index.js 的 Host 半为空实现(仅导出 apply())。
- 修改 package.json 的包名时,必须同步修改 cordis.patch.yml 中的 name 与 client.js 里 window.__ModuleLoader__.load({ id: ... }) 的模块 id,三者必须完全一致。
- 打包与校验:
npm pack # 产物:local-dsh-enter-send-swap-<version>.tgz
shasum -a 256 local-dsh-enter-send-swap-<version>.tgz > local-dsh-enter-send-swap-<version>.tgz.sha256
shasum -a 256 -c local-dsh-enter-send-swap-<version>.tgz.sha256
变更记录
- v1.1.0 — 设置页「发送消息 / 换行」的按键显示与实际行为同步。
- v1.0.0 — 首个版本:交换输入框的 Enter / Shift+Enter 行为。
许可
MIT License © 2026 Heydo预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Heydo/dsh-enter-send-swap
交换 Enter 与 Shift+Enter 的发送和换行行为
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,362已汉化DSH
71.4
终端编码代理esengine/DeepSeek-Reasonix
· 指南 · ACP · 扩展开发 · 规格 · 官方网站 · Discord · QQ
★ 36,076已汉化DSH
71.2
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,814已汉化DSH
71.1
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。