在设置窗口的通用页配置 Enter、Shift+Enter、Ctrl/Cmd+Enter 是发送消息还是换行;未改动前完全保持引擎默认行为。
安装
# Release 预构建包
dsh plugin --profile web add "https://github.com/itchenshi/dsh-keys-setting/releases/download/v0.2.0/dsh-keys-setting-0.2.0.tgz"
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:itchenshi/dsh-keys-setting
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
在 DSH 的**设置窗口 →「通用」**里决定:Enter / Shift+Enter / Ctrl+Enter(macOS 为 ⌘)各自是「发送消息」还是「换行」。
它做什么
- 在「设置 → 通用」加一行「按键设置」,三个手势各有一个下拉选择器(发送消息 / 换行)。
- 捕获阶段监听输入框的
keydown:只有你的选择与引擎原生行为不同时才拦截,并重新派发引擎自己的另一种手势。 - 只重映射手势,不碰输入内容 —— 发送与换行的语义仍由引擎决定。
- 输入法(
isComposing/ keyCode 229)与Alt+Enter一律放行。 - 默认值等于引擎原生行为,不改设置时干预次数为 0。
安装
用 DSH Ready GUI(推荐):插件随 GUI 内置。打开 GUI → 设置窗口 →「第三方插件」勾选按键设置, 装完按提示刷新页面(它带页面半边)。
其它 DSH 宿主(
dsh web/ CLI)—— 任选一条:# 推荐:直接从 GitHub 装 dsh plugin --profile web add github:itchenshi/dsh-keys-setting # 备选:从本仓库 Release 的 tarball 装 dsh plugin --profile web add https://github.com/itchenshi/dsh-keys-setting/releases/download/v0.2.6/dsh-keys-setting-0.2.6.tgz两条命令装到的都是这个仓库的完整内容(含
cordis.patch.yml),装完不需要额外配置。
本包还不在 npm 上(
registry.npmjs.org查无此包),只能用上面两种方式装。
使用
设置窗口 →「通用」里新增的那一行就是「按键设置」,改完立即生效。
也可以手改 profile 的 cordis.patch.yml 里 id: composer-keys 这一行的配置:宿主半边在页面窗口
重新获得焦点时重读,所以切回 Harness 窗口即生效,不用刷新页面。
配置
cordis.patch.yml 里 id: composer-keys 这一行的 config(三个字段由插件的 Config schema 声明):
| 键 | 默认 | 说明 |
|---|---|---|
enter |
send |
send = 发送消息,newline = 换行 |
shiftEnter |
newline |
Shift+Enter 同上 |
ctrlEnter |
send |
Ctrl+Enter(macOS ⌘)同上 |
该行的 config 块不能省:没有它这一行就没有设置条目,宿主无法读写偏好。config.enabled === false
时宿主直接返回,既不注册路由也不加设置行。
兼容性
- 需要 DSH >= 0.2.0-rc.2(引擎 0.2.0 更换了设置服务 API,0.1.x 上无法保存偏好)。
- Node >= 20。
- 运行时依赖:无;schema 库用的是引擎自带的
@deepseek-ai/schemastery。
常见问题
改完没生效? 设置窗口里改立即生效;手改文件后要切回 Harness 窗口触发重读。宿主启动时会打
[composer-keys] route ready at /composer-keys (entry composer-keys),日志里没有它说明插件没加载。
引擎版本太旧会怎样? 清单只声明 >=0.2.0-rc.2;更旧的引擎用的是已被移除的旧设置服务
(register / get / section),插件无法保存偏好。
它存了什么、存在哪? 只有那三个值,落在插件自己的行 config(引擎的设置文档)里;插件不直接读写 任何文件。
别人能读改这份偏好吗? 宿主只开放一条 GET/POST /composer-keys,走引擎自己的信任围栏
(Host 白名单 + 浏览器会话 cookie),拿不到围栏时失败即关闭 —— 不带 cookie 的裸 curl 得到 401。
插件没有任何对外网络请求。
开发
node --check lib/index.js
node --check client/client.js
npm test # node tests/test.mjs:手势识别、干预判定、输入法放行、默认值不干预
许可
MIT
链接
同类插件
zhu1090093659/dsh-web#packages/dsh-task-board★ 8597
侧边栏多列任务看板:卡片交给真实 DSH 智能体会话执行,支持 cron 定时(Host 侧到点执行,关浏览器也生效)。
zhu1090093659/dsh-web#packages/dsh-web-all★ 8597
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。
MeteorNOX/DeepSeek-Balance-Whale-Widget★ 4424
右下角常驻的小鲸鱼挂件:余额、今日已用与每轮对话消耗(含峰谷价),余额预警与今日预算的泡泡内容都可编辑;泡泡点击序列模块化自定义,支持并列加权 A/B、随机台词与随机图片;内置 30+ 厂商模板(OpenAI / OpenRouter / Kimi / 硅基流动 / 方舟 / 智谱 / MiniMax 等),按模型查余额与订阅额度;另有任务结束音效、导入音频、自定义角色与资源管理。数据全在本机,无遥测。
ccch1mneyyy/dsh-TUI★ 4268
Claude Code 风格全屏终端 UI:像素鲸鱼顶栏、实时工作状态行、思考流式展开。
omdsh-dev/DSH-better-sidebar★ 4098
侧边栏完整工作台:内置文件渲染编辑、终端、Git 与子代理,支持三方插件注册新 Tab。
Devin-AXIS/deepseek-design#deepseek-idesign★ 1445
可视化设计工作室,支持网站、App 原型、海报、信息卡、报告和杂志的模板创建、元素编辑、选区级 AI 草稿衔接与导出。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。