Skip to content

HuanLinOTO/dsh-plugin-spur

30Last commit Aug 15, 2026

dsh-plugin-spur DSH plugin

dsh-spur adds a physically simulated whip (鞭子) to the DSH chat composer. You can grab the whip tip, swing it, and when the release speed exceeds a threshold, it automatically saves the current draft, sets the draft to 'go work!', submits the message, and restores the original draft. The whip uses Verlet integration physics for realistic swinging.

How to install the dsh-plugin-spur DSH plugin

dsh plugin --profile web add @huanlin/dsh-plugin-spur

Copying does not run this command. Review the repository and version before installing the dsh-plugin-spur DSH plugin.

dsh-plugin-spur DSH plugin data source

dsh-plugin-spur DSH plugin snapshot date: Aug 16, 2026

discovered

What the dsh-plugin-spur DSH plugin can do

  • Renders a position-fixed SVG whip attached to the top-right corner of the viewport
  • Allows grabbing the whip tip (the only interactive element) and dragging to swing
  • Detects release speed and triggers a 'go work!' message submission when speed exceeds 2.0 px/ms
  • Preserves and restores the user's current draft before and after the automated submission
  • Applies damping oscillation to the whip after release until it stops

Where the dsh-plugin-spur DSH plugin fits

  • Quickly trigger an agent to start working without typing
  • Add a fun, interactive element to the DSH chat interface
  • Experiment with physics-based UI plugins in DSH

Who the dsh-plugin-spur DSH plugin is for

  • DSH users who want a playful way to interact with agents
  • Users interested in creative UI extensions for DSH

dsh-plugin-spur DSH plugin limitations

  • No idle swinging animation – the whip hangs vertically when not interacted with
  • Anchor point is fixed at the top-right corner of the viewport (not attached to editor edge)
  • Swing speed threshold is hardcoded at 2.0 px/ms and not configurable

dsh-plugin-spur DSH plugin: from the repository README

Quoted from the HuanLinOTO/dsh-plugin-spur README, the upstream source of the dsh-plugin-spur DSH plugin. Copyright remains with the original authors.

> 📌 本插件已收录于 [dshfind](https://dshfind.com/zh) 插件超市,点击上方徽章直达主页。 # dsh-spur [![npm version](https://img.shields.io/npm/v/@huanlin/dsh-plugin-spur)](https://www.npmjs.com/package/@huanlin/dsh-plugin-spur) > 小鲸鱼不听话?抽就完了。 一根悬挂在 DSH 聊天流中的辫子(皮鞭)。抓住辫梢甩动——速度足够快时,向 agent 发送一条 `go work!` 消息,鞭策它去干活。 ## 功能 - Verlet 物理引擎渲染的辫子,作为 `position: fixed` 的 SVG 叠层,锚定在视口右上角,垂入聊天区域。 - 辫梢圆点是唯一可抓取的元素(在整体 `pointer-events: none` 的叠层上设为 `pointer-events: auto`)。 - 鼠标按下 → 辫梢锁定到光标;鼠标移动 → 跟踪速度(指数移动平均);鼠标释放 → 带末速度释放。 - 释放速度超过阈值(2.0 px/ms)时: 1. 保存当前输入草稿。 2. `inputActions.setDraft('go work!')` 3. `inputActions.submit()` 4. 提交事务完成后(phase 回到 `plain`)恢复原草稿。 - 释放后辫子继续摆动,阻尼振荡直至静止。 ## 架构 单 bundle 双入口(host `.` + 浏览器 `./client` + invariant `./invariant`),仿照 `yet-another-subagent`。 - **宿主半边**(`src/index.ts`):空 `apply`——纯客户端插件。 - **浏览器半边**(`src/client/index.ts`):注册 `conversation.composer.dock` list slot(id `dsh-spur`,order 50)。dock 是编辑器卡片下方的条带;辫子本身是 `position: fixed` 的 SVG 叠层,通过 `createPortal` 挂载到 `document.body`。 - **物理引擎**(`src/client/physics.ts`):Verlet 积分绳索 + 距离约束。与 React 组件分离,便于单元测试。 ### Slot 选择 `conversation.composer.dock`(list,session 作用域)——编辑器卡片下方的条带,由 `ui-conversation` 拥有。session 作用域意味着辫子仅在 session

Read the full READMERepository license: NOASSERTION

dsh-plugin-spur DSH plugin questions

How do I install dsh-spur?

Run the command: `dsh plugin --profile web add @huanlin/dsh-plugin-spur`. This will install the plugin from npm. No additional configuration is needed.

Can I change the whip's swing speed threshold?

Currently the threshold is hardcoded at 2.0 px/ms and cannot be changed. The README mentions this as a known limitation, so future updates may add a configurable option.

Why doesn't the whip swing when I'm not interacting?

The plugin does not include idle swinging animation. The whip hangs vertically when not grabbed. This is a known limitation mentioned in the documentation.

Does the plugin interfere with my typed messages?

No. When the whip is flicked, it saves your current draft, submits 'go work!', and immediately restores your original draft. Your in-progress text is preserved.

How do I uninstall dsh-spur?

Use the command: `dsh plugin --profile web remove @huanlin/dsh-plugin-spur`. The plugin will be removed and the whip will disappear from the UI.