DSH 的典型工作流中,点开历史消息、在侧边栏切换会话,或者用鼠标选完文字后,还需要把光标移回底部的输入框。这个多出来的点击动作增加了打断感。
dsh-plugin-type-to-compose 解决了这个问题。这是一个客户端插件,监听全局按键,将焦点自动转移至当前对话的输入框。
插件信息¶
- 插件名:
dsh-plugin-type-to-compose - 核心价值:在 DSH 窗口里任意位置直接打字或粘贴,内容会落进当前对话的输入框 —— 不用先点一下输入框。
- 维护者:
daoyu1993-lab - 类别:客户端
- 许可证:MIT
核心功能¶
- 全局监听:监听 document 级的 keydown 和 paste 事件。
- 自动聚焦:检测到文本输入意图后,自动将焦点从任意位置转移至当前对话的输入框。
- 输入与粘贴:支持文本输入(
a,1,/,中等)和粘贴(支持⌘V/Ctrl+V/Shift+Insert)。 - 富媒体支持:支持粘贴图片和文件,复用官方粘贴逻辑。
- 多面板适配:支持多会话面板场景,自动选择可写且已排版的面板。
- 按键过滤:空格键默认让路(可配置),避免翻页冲突;不干扰终端、搜索框、弹窗、已禁用输入框等控件。
安装与启用¶
在终端中执行以下命令:
# 本地目录(本仓库 clone 下来之后)
dsh plugin --profile desktop add "link:$PWD"
# 或直接从 GitHub
dsh plugin --profile desktop add "github:daoyu1993-lab/dsh-plugin-type-to-compose"
装完后刷新页面(⌘R)即可生效。
卸载¶
dsh plugin --profile desktop remove dsh-plugin-type-to-compose
插件本身不修改任何官方文件,卸载后界面立即恢复原样。
典型用法¶
安装后,在 DSH 窗口的任意位置操作:
- 场景一:点开一条历史消息、在侧边栏点了个会话,或者用鼠标选完文字之后,直接敲键盘 / 按
⌘V就能继续写;不用把鼠标移回底部输入框再点一下。 - 场景二:在 DSH 窗口里任意位置直接打字或粘贴,内容会落进当前对话的输入框。
注意事项¶
- 依赖锚点:依赖官方
[data-composer-input]锚点,若上游改名插件会静默失效。 - 平台限制:仅在浏览器/Web 表面生效。
- 空格键处理:空格键默认让路,避免翻页变成新消息。
- 零依赖:零依赖、零构建。
- 非侵入式:不修改官方文件,卸载后界面立即恢复原样。
该插件旨在减少交互打断,适合习惯键盘操作的 DSH 用户。更多细节与源码可参考 GitHub 仓库。