dokidoki

Security

Control interactive BLE devices (scan/connect/playback/timeline) from terminal.

Install

openclaw skills install dokidoki

DokiDoki CLI

Use doki to control interactive BLE devices from the terminal.

Quick Start

  • doki scan - Scan for BLE devices (auto-starts daemon)
  • doki connect DK-META2 - Connect to device (auto-starts daemon)

Common Tasks

Daemon Management

  • doki start - Start background daemon
  • doki stop - Stop background daemon
  • doki status - Check daemon and connection status

Device Connection

  • doki scan - Scan for BLE devices
  • doki connect [name] - Connect to device (default: DK-META2)
  • doki disconnect - Disconnect from device

Timeline Playback

  • doki player play [audio] <timeline.json> - Play timeline with optional audio sync
  • doki player pause - Pause playback (stops device)
  • doki player resume - Resume playback

Direct Device Control

  • doki action linear 50 - Set linear to 50%
  • doki action rotary -30 - Set rotary to -30 (reverse)
  • doki action vibration 80 - Set vibration to 80%
  • doki action pause - Immediately stop all device actions

Timeline Format

Timeline files are JSON files defining device actions at specific timestamps:

{
  "duration": 180.5,
  "actions": [
    {"timestamp": 0.0, "type": "VIBRATION", "value": 50},
    {"timestamp": 5.5, "type": "LINEAR", "value": 30},
    {"timestamp": 10.0, "type": "ROTARY", "value": -50}
  ]
}

Action Types

TypeValue RangeDescription
LINEAR0-100Linear/stroke motion intensity
ROTARY-100 to 100Rotation speed (negative=reverse)
VIBRATION0-100Vibration intensity

Notes

  • Requires Node.js 18+ and Bluetooth Low Energy (BLE) support
  • Supported audio formats: MP3, AAC/M4A, WAV, FLAC, OGG, AIFF
  • Audio playback requires ffplay (Linux/Windows) or afplay (macOS)
  • Logs are written to /tmp/dokidoki.log