c3ll256/dsh-toy

Toy Control Protocol for DSH

dsh-toy connects Bluetooth intimate devices to the DSH agent. At connection time the agent asks for brand and model, then selects the protocol automatically: unknown hardware on macOS triggers read-only CoreBluetooth advertisement discovery; most Bluetooth/serial/USB devices route through Buttplug/Intiface (started automatically, with a SHA-256-verified binary downloaded if absent); sharing-link models from Ankni, MizzZee, and Zuiqingfeng use MonsterParty. Safety guardrails enforce a 30-second auto-stop, maximum intensity and duration caps, and zero-duration hold disabled by default. Sharing tokens never appear in model-visible tool arguments.

Other ★ 58 updated 2026-09-08 ✅ runtime-tested
View on GitHub ↗

Install

npx -y @deepseek-ai/dsh plugin --profile web add github:c3ll256/dsh-toy

Requires Node.js 22.19+ and pnpm on PATH. Install pnpm once with: npm install --global pnpm@10. Raw macOS BLE discovery additionally requires the Swift compiler from Xcode Command Line Tools. Remove: dsh plugin --profile web remove dsh-toy

Compatibility

DSH 0.1.0+. macOS (CoreBluetooth BLE), Windows/Linux (Buttplug/Intiface). Node.js 22.19+. MIT license.

Details

FAQ

What Bluetooth toy brands and protocols are supported?
Any device supported by Buttplug/Intiface Engine, sharing-link models from Ankni, MizzZee, and Zuiqingfeng via MonsterParty, and RoomFun Cannon via a built-in compatibility mapping. Unknown models trigger hardware discovery.
Does it require Intiface Central to be running beforehand?
No. The plugin checks for an existing Intiface server at 127.0.0.1:12345; if absent, it downloads a pinned Intiface Engine build (SHA-256 verified), caches it, and starts it automatically.
What safety limits are built in?
Output stops automatically after 30 seconds by default. maxIntensityPercent and maxDurationSeconds are enforced before backend dispatch. Zero-duration holds are disabled unless allowHold: true is configured.

Alternatives

Anionex/dsh-vision-toolkit · vlln/dsh-navbar

More plugins in Other

Browse more in Other

Guides for Other plugins