Venus BLE Vibrator Control
Control a Venus / Cachito (小猫爪) BLE vibrator using natural language through OpenClaw.
This is a device-specific skill for Cachito-protocol toys. If your device is supported by Buttplug.io, use the intiface-control skill instead — no reverse-engineering needed.
macOS only. The server uses CoreBluetooth.
Setup
Follow the ToyBridge setup guide — complete Steps 1–3 (discover device ID, configure, verify locally), then start the server:
CODEBLOCK0
Leave this terminal open. The server runs on port 8888.
Commands the agent will use
Vibrate at intensity
CODEBLOCK1
INLINECODE1 : 0–100 (0 = stop)
Stop immediately
CODEBLOCK2
Check status
CODEBLOCK3
If OpenClaw runs natively (not in Docker), replace host.docker.internal with localhost.
Intensity guide
Medium |
| 60–80 | Strong |
| 90–100 | Maximum |
Preset patterns
| Pattern | What it does |
|---|
| INLINECODE4 | Bursts of 80%, 5 times |
| INLINECODE5 |
Ramp up 20→100%, then back down, x2 |
|
tease | 30% → 70% → 100%, escalating, then stop |
Example: "Run the wave pattern" or "Give me a 30-second tease session"
Agent rules
- - Always stop (intensity 0) after a timed session unless user says to keep going
- Do not use the
notify tool — use bash with INLINECODE9 - Replace
host.docker.internal with localhost if OpenClaw is not in Docker
Troubleshooting
| Problem | Fix |
|---|
| INLINECODE12 error | Check Bluetooth is on, grant permission in System Settings → Privacy |
| INLINECODE13 |
Make sure
uv run 4-bridge/server.py is running |
| Device doesn't respond | Double-check
DEVICE_ID in
4-bridge/ble_worker.py matches your Cachito controller |
| Wrong intensity | Values are clamped to 0–100 |
Venus BLE 振动器控制
通过 OpenClaw 使用自然语言控制 Venus / Cachito(小猫爪)BLE 振动器。
这是一个针对 Cachito 协议玩具的设备专用技能。如果你的设备受 Buttplug.io 支持,请改用 intiface-control 技能——无需逆向工程。
仅限 macOS。 服务器使用 CoreBluetooth。
设置
按照 ToyBridge 设置指南 操作——完成步骤 1-3(发现设备 ID、配置、本地验证),然后启动服务器:
bash
uv run 4-bridge/server.py
保持此终端窗口打开。服务器运行在 端口 8888 上。
代理将使用的命令
按强度振动
bash
curl -s -X POST http://host.docker.internal:8888/vibrate \
-H Content-Type: application/json \
-d {intensity: 60}
intensity:0-100(0 = 停止)
立即停止
bash
curl -s -X POST http://host.docker.internal:8888/stop
检查状态
bash
curl -s http://host.docker.internal:8888/status
如果 OpenClaw 在本地运行(而非 Docker 中),请将 host.docker.internal 替换为 localhost。
强度指南
中等 |
| 60-80 | 强烈 |
| 90-100 | 最大 |
预设模式
| 模式 | 功能描述 |
|---|
| pulse | 80% 强度爆发,重复 5 次 |
| wave |
从 20% 逐渐升至 100%,再降回,重复 2 次 |
| tease | 30% → 70% → 100%,逐步升级,然后停止 |
示例:运行波浪模式 或 给我来一次 30 秒的挑逗模式
代理规则
- - 定时会话结束后始终停止(强度设为 0),除非用户要求继续
- 不要使用 notify 工具——请使用带 curl 的 bash
- 如果 OpenClaw 不在 Docker 中,请将 host.docker.internal 替换为 localhost
故障排除
| 问题 | 解决方法 |
|---|
| BT not ready 错误 | 检查蓝牙是否开启,在系统设置 → 隐私中授予权限 |
| connection refused |
确保 uv run 4-bridge/server.py 正在运行 |
| 设备无响应 | 再次确认 4-bridge/ble
worker.py 中的 DEVICEID 与你的 Cachito 控制器匹配 |
| 强度不正确 | 数值会被限制在 0-100 范围内 |