一个 OpenClaw 插件,用于通过 WebSocket 连接并控制 郊狼 (DG-Lab) V3 电刺激设备。
本插件控制电刺激设备,不当使用可能造成身体伤害。
/dg_emotion on 之前请充分了解这一点。使用本插件即表示您知晓这些风险并同意负责任地使用。
/dg_qr 生成二维码,DG-Lab App 扫码即连dg_shock 和 dg_pulse_list 让 AI 直接控制电刺激/dg_emotion on 开启后,AI 根据回复关键词自动触发刺激/dg_limit 设置软上限;同时尊重 App 端设置的硬件上限.pulses / .json5 / .json 文件,兼容 Coyote-Game-Hub 格式一键安装(推荐):
bash
bash -c "$(curl -fsSL https://raw.githubusercontent.com/FengYing1314/openclaw-plugin-dg-lab/main/install.sh)"
通过 NPM 安装:
bash
openclaw plugins install openclaw-plugin-dg-lab
或者:
bash
npm install -g openclaw-plugin-dg-lab
开发者/源码安装方式:
bash
cd ~/.openclaw/workspace/plugins
git clone https://github.com/FengYing1314/openclaw-plugin-dg-lab.git
cd openclaw-plugin-dg-lab
npm install
npm run build
# 链接安装插件
cd ~/.openclaw/workspace
openclaw plugins install -l ./plugins/openclaw-plugin-dg-lab
在 ~/.openclaw/openclaw.json 中添加:
json
{
"plugins": {
"entries": {
"openclaw-plugin-dg-lab": {
"enabled": true,
"config": {
"serverIp": "你的公网IP",
"port": 18888,
"limitIntensity": 40
}
}
}
}
}
配置项类型默认值说明serverIpstring127.0.0.1公网 IP 或域名,用于生成二维码portnumber18888WebSocket 服务器端口limitIntensitynumber40默认强度软上限 (0-200)
注意:请在防火墙中放行 TCP 18888 端口!
然后重启:
bash
openclaw gateway restart
指令说明/dg_qr生成连接二维码,用 App 扫码连接/dg_emotion on/off开启/关闭情感联动模式/dg_limit <0-200>设置强度软上限/dg_test +5手动测试强度调整/dg_status查看当前插件状态(连接数、强度、设备上限、队列)/dg_pulse list列出所有已加载的波形/dg_pulse load <文件>导入 .pulses / .json5 / .json 波形文件/dg_pulse play <名称>在 A 通道播放自定义波形/dg_pulse delete <id>删除波形
dg_shock#向连接的设备发送电刺激。
参数类型必填说明strengthnumber✓强度增量 (正=增加, 负=减少, 0=归零)durationnumber波形持续时间 ms (默认: 1000)waveformstringpunish / tease / test 或自定义波形名称 (默认: punish)channelstringA / B (默认: A)
dg_pulse_list#列出所有可用波形(内置 + 自定义)。
dg_qr_generate#生成配对二维码并返回文件路径。
名称频率强度描述punish~66Hz (15ms)100% 持续高频持续刺激tease~5Hz (200ms)20-80% 正弦低频呼吸式test~10Hz (100ms)50→90→50%中频短促测试
将 .pulses、 .json5 或 .json 文件放入插件的 data/ 目录,启动时自动加载。
支持的格式:
json5
[
{ id: 'abc123', name: '呼吸', pulseData: ['0A0A0A0A00000000', ...] }
]
单个波形: { name: "我的波形", pulseData: [...] }
纯 hex 数组: ["0A0A0A0A64646464", ...]
每个 hex 字符串 16 字符(8 字节):4 字节频率(压缩值, 10-240)+ 4 字节强度(0-100)。每条代表 100ms(4 × 25ms 窗口)。
通过 /dg_emotion on 启用后,插件分析 AI 回复中的关键词:
类型关键词(示例)增量波形惩罚罚、教训、电击、punish、maximum+15punish (3s)生气生气、哼、不听话、angry、warning+8punish (2s)安抚乖、奖励、摸摸、good girl、reward-3tease (5s)
text
DG-Lab App ←── WebSocket ──→ 插件 WS 服务器 ←── OpenClaw Gateway
↑
AI 调用 dg_shock
或情感引擎 Hook
/dg_qr 生成二维码: https://www.dungeon-lab.com/app-download.php#DGLAB-SOCKET#ws://IP:PORT/CONTROL_IDstrength-CH+MODE+VALUE) 和波形指令 ( pulse-CH:[hex...])strength-A+B+limitA+limitB)机制说明软件强度限制所有强度变化钳制到 min(插件上限, 设备上限)设备上限同步尊重 DG-Lab App 中设置的硬件上限1小时自动休息情感模式运行 60 分钟后强制冷却 10 分钟优雅关闭插件停止时所有通道归零消息长度检查超过 1950 字符(协议限制)的指令被丢弃最大 7 秒/段波形自动拆分为 ≤70 帧/次发送心跳包20 秒 WebSocket 保活断连清理设备断开时重置强度追踪
本插件实现了 DG-Lab V3 Socket 控制协议,并使用了 V3 频率压缩算法。
MIT © FengYing