DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

dhdkfkfkf /

dhdkfkfkf/dsh-pull-to-send

Verified

DSH plugin: press the composer, pull up, release to send. With FLIP flight animation.

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHubProject homepage
READMESource: main@7adeccd8

PULLTOSEND

按住 DSH 输入框、向上拉、松手 —— 消息飞出去。为「发送按钮太小难点、Enter 要动两只手」而生。

English

demo

安装

dsh plugin --profile desktop add "github:dhdkfkfkf/dsh-pull-to-send"

装完重启一次 DSH(添加 bundle 本身需要重启;之后改代码走 dsh-hmr 热更)。

手势

动作 结果
在输入框卡片(含周边 12px 缓冲区)上按下,向上拉出卡片上边缘 ≥14px 武装:输入框副本拎起,跟随指针(阻尼跟随、微放大、阴影加深),真输入框缩小变暗;悬停卡片显示 grab 光标,拖动中全程 grabbing
武装后松手 点击发送按钮的当前主行为(空闲=发送,生成中=排队/插话),副本 FLIP 飞入新消息气泡,真气泡交叉淡入
未拉出阈值 / 横向拖拽占优 / 按 Esc / pointercancel 取消:副本沿原路 320ms 弹回
不打断你 说明
框内拖选 手势只在指针越出上边缘后才武装,框内选择 100% 原生
空输入 / 发送按钮禁用 不武装,松手无事发生
IME 组合中 组合一开始就取消手势,不会发出半截拼音
触屏 仅响应鼠标和笔,手指滚动永远不会误发
卡片上的按钮 / 链接 / 菜单 归它们自己,不会拉出消息

动画参数

零构建、单文件 client.js,所有参数是文件顶部的具名常量(v1 没有设置面板):

常量 默认 含义
ARM_DISTANCE 14px 越过输入框上边缘多少距离才武装
HIT_PAD 12px 卡片四周的隐形响应缓冲区
HINT_AFTER_PX 8px 上拉多少距离后开始显示提示气泡
HINT_GAP_PX 16px 提示气泡与指针的间距
DAMPING 0.95 副本跟随指针的每帧插值系数(越大越跟手)
MAX_SCALE 1.02 拎起时最大放大
FLIP_MS 400ms 松手后副本飞入气泡的时长
BUBBLE_LEAD_MS 80ms 真气泡提前淡入的提前量
RETURN_MS 200ms 真输入框回位时长(不等飞行结束)
CANCEL_MS 320ms 取消回弹时长

本地测试台

不装插件、不开 DSH 也能试:用任意浏览器直接打开 test.html。页面内置 shim 立即激活 client.js,并用 mock DOM 复刻全部锚点(发送、落气泡、模拟回复、排队发送),手势与动画与真实界面同源。

兼容性

同时兼容 claude-style 与原生界面(两者共用同一套 data-composer-* 锚点);多个会话窗格各自绑定各自的手势。已验证发送路径:对发送按钮的程序化 .click() 在 React/Lexical 下真实触发发送(CDP 探针实测)。

License

MIT

—/ 5

No ratings yet

Verified DSH bundle

Commit 7adeccd8b7bf

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout