DeepSHPlugins
dsh-enter-customizer 项目预览
GITHUB / COMMUNITY PROJECT

dsh-enter-customizer

会话与消息JavaScript

接管聊天输入框的回车等快捷键,每个快捷键的行为都能单独配置。

4 StarsBoliban 更新时间 2026-08-15
访问 GitHub 仓库
dsh-enter-customizer 项目预览

项目介绍

中文

接管聊天输入框的回车等快捷键,每个快捷键的行为都能单独配置。

English

Take over the system input shortcuts for the chat input box and configure behavior independently for each shortcut.

项目信息与收录信号

快照 2026-09-11
作者 / 组织
Boliban
仓库
Boliban/dsh-enter-customizer
GitHub Stars
4
Forks
2
开发语言
JavaScript
许可证
未记录
最近推送
2026-08-15
Manifest
数据中检测到声明

公开仓库不自动等于可商用;许可证与当前兼容性以原项目文档为准。Manifest 和数据评分不构成安装安全认证。

数据评分

63/ 100
维护活跃
81
文档与实用信息
100
生态关注度
35
安装便捷信号
75
项目声明信号
80

README 含完整安装与使用说明。

评分来自已有数据快照的五维模型,仅作浏览参考,不是实际使用评测或安全检测结论。

安装与使用

所有项目资料与许可均以对应 GitHub 仓库为准。

dsh plugin --profile web add github:Boliban/dsh-enter-customizer

复制命令不会自动执行。请先阅读仓库文档,确认环境要求与许可证。

项目截图

仓库 README

GitHub 原文

已保存的仓库文档快照;文档抓取时间未记录,可能与上方目录介绍处于不同版本。安装前请核对当前仓库说明。

DSH Enter Customizer

DSH(DeepSeek Harness)Web 插件:接管聊天输入框的系统输入快捷键,为每个快捷键独立配置行为。配置通过 DSH 用户设置持久化保存。

功能

  • 接管系统输入快捷键:Enter、Ctrl+Enter、Shift+Enter、Alt+Enter 和右下角发送按钮
  • 每个快捷键可独立选择行为:
  • 发送消息:空闲立即发送;忙碌时自动排队,回合结束后发送
  • 繁忙时插入消息:空闲立即发送;忙碌时进入系统队列(与系统内置的"在繁忙时插入消息"机制完全一致,可在输入框上方的队列栏查看、编辑、引导入回合)
  • 换行:插入换行,不发送
  • 无作用:按键无任何效果(也不触发系统默认行为)
  • 设置持久化:配置写入用户设置文档(~/.dsh/settings.yaml 的 dsh-enter-customizer 段),重启不丢失;系统设置页「输入快捷键」直接编辑
  • 发送失败提示:失败时在输入栏正上方浮动显示错误提示(3.2 秒后自动消失)
  • 安全护栏:中文输入法组合输入(IME)、斜杠命令菜单/弹层打开、机器忙碌(提交中)、含 @引用/图片的草稿、空草稿、停止按钮等场景自动放行给系统默认处理

截图

设置界面

设置 → 输入快捷键,每个快捷键独立配置行为:

设置界面

默认配置

快捷键默认行为
Enter发送消息
Ctrl + Enter繁忙时插入消息
Shift + Enter换行
Alt + Enter发送消息
发送按钮发送消息

安装

dsh plugin --profile web add github:Boliban/dsh-enter-customizer

卸载与更新

dsh plugin --profile web update dsh-enter-customizer   # 更新到最新
dsh plugin --profile web remove dsh-enter-customizer   # 卸载

文件结构

├── package.json         # dsh.client(Web 插件)+ dsh.bundle(profile patch)声明;deepseek-ai/* 为 peerDependencies
├── cordis.patch.yml     # bundle patch:插入插件行
├── pnpm-lock.yaml       # 插件依赖快照(link 安装时 Node 从项目目录解析)
├── lib/
│   ├── index.js         # Host 半部:注册持久化 settings 命名空间
│   └── client.js        # Client 半部:快捷键拦截 + 设置页 + 失败提示
└── assets/
    └── settings.png     # 设置界面截图

实现要点

  • 快捷键拦截:在 conversation.input.dock 挂载组件,使用 document 级 capture 监听 keydown / click,仅当事件目标位于 [data-composer-card] 内时按配置处理;preventDefault + stopPropagation 覆盖系统默认行为
  • 发送/繁忙时插入均通过 session.prompt(content, 'queue') 提交——与系统内置队列完全同一通道,消息显示在系统队列栏
  • 换行通过 DOM 写入 + inputActions.setDraft() 立即同步,文本区即时刷新
  • 持久化:Host 半部 settings.register 注册 dsh-enter-customizer 命名空间(schemastery schema),Client 半部经 settingsScope.bind 读写(scope.set 逐字段写入,scope.subscribe 同步外部变更)
  • Client bundle 为纯 JS(仅依赖 react),无需打包步骤,直接以 __ModuleLoader__ 工厂格式发布

使用前核对

安装步骤、兼容版本与授权范围以原项目当前文档为准。Stars 和评分是快照中的导航信号。

安装与排错 · 项目问题反馈

同类项目