Token导航 LogoToken导航TokenDH.com
开发需要联网clawhub未标认证来源可访问clear审计通过

dg-labdg 实验室

Agent Skill

dg-lab 用于补充开发相关能力,适合在 OpenClaw 中需要让 Agent 承接开发相关任务时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

6,144

周安装

256

GitHub Stars

公开资料未说明

下载量

2,048
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:dg-lab(dg 实验室)
来源仓库:https://github.com/yuuluo/dg-lab
安装命令:
openclaw skills install dg-lab
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install dg-lab

简介

用于控制 DG-LAB Coyote 3.0 脉冲设备,管理波形发送和强度调节。

  • 适合在 OpenClaw 中实现生物电刺激或实验设备自动化控制。
  • 通过 clawhub 安装,需 WebSocket 连接和配对设备支持。
  • 操作不当可能造成设备损坏或安全风险,建议先阅读手册。
  • 仅限授权用户使用,禁止用于非医疗或非科研目的。

SKILL.md

name
dg-lab
description
Control DG-LAB Coyote 3.0 (郊狼) pulse device via WebSocket. Manage strength, send waveform patterns, handle device pairing. Use when the user mentions 郊狼, DG-LAB, coyote, pulse device, e-stim, 脉冲, 电脉冲, waveform control, or wants to interact with dungeon-lab hardware.
homepage
https://github.com/YuuLuo/DG-LAB-Skill
metadata
openclaw
emoji
requires
bins
["python3", "node", "npm"]
network
true
files
["scripts/*", "references/*"]

郊狼控制器

通过 WebSocket 协议控制郊狼脉冲主机 3.0 的 A/B 双通道:强度调节、波形发送、设备配对。 在中文语境中,本设备称为"郊狼"(英文:DG-LAB Coyote)。与用户交流时统一使用"郊狼"。

架构

AI Agent --curl/HTTP--> ws_client.py --WebSocket--> 中继服务器 --WS--> DG-LAB APP --BLE--> 郊狼 3.0

ws_client.py 是常驻后台进程,同时维护 WebSocket 连接和本地 HTTP API(默认 127.0.0.1:8899)。

启动工作流

每次用户要求使用郊狼时,严格按以下顺序执行。每一步都必须确认成功后再进入下一步。

第 1 步:环境检查

依次检查以下环境,将结果汇总向用户报告:

# 1. Python 3
python3 --version

# 2. websockets 包
python3 -c "import websockets; print(websockets.__version__)"

# 3. Node.js + npm
node --version && npm --version

# 4. 中继服务器仓库是否已克隆
ls ~/DG-LAB-OPENSOURCE/socket/v2/backend/package.json

第 2 步:安装缺失组件

根据检查结果,帮助用户安装缺失的组件:

websockets 未安装:

pip install websockets

中继服务器仓库不存在:

cd ~ && git clone https://github.com/DG-LAB-OPENSOURCE/DG-LAB-OPENSOURCE.git
cd ~/DG-LAB-OPENSOURCE/socket/v2/backend && npm install

中继服务器依赖未安装(node_modules 不存在):

cd ~/DG-LAB-OPENSOURCE/socket/v2/backend && npm install

安装完成后重新执行第 1 步确认全部通过。

第 3 步:启动服务

# 启动中继服务器(后台)
cd ~/DG-LAB-OPENSOURCE/socket/v2/backend && npm start &

# 等待服务器就绪后启动控制器
python scripts/ws_client.py --ws-url ws://localhost:9999 --strength-limit 50 &

验证两个服务都在运行:

curl -s http://127.0.0.1:8899/status

如果返回 connected: true,继续下一步。

第 4 步:发送配对二维码

curl -s http://127.0.0.1:8899/qrcode

将返回的 qr_url 发送给用户(如果当前聊天渠道支持发送图片,确保发送的是二维码图片并确认是否成功发送),并指引:

请打开DG-LAB APP → 点击 SOCKET 控制 → 点击 连接服务器 → 扫描此二维码完成配对。

然后轮询等待配对完成:

curl -s http://127.0.0.1:8899/status

直到 paired: true。如果 30 秒内未配对成功,提醒用户重试。

第 5 步:安全确认(必须执行)

配对成功后,必须向用户确认以下安全事项,获得明确肯定回答后才能开始输出脉冲:

使用前安全确认: 1. 电极片是否已正确贴好? 2. 电极片的贴放位置是否避开了心脏投影区域两侧?(电流路径不得经过心脏) 3. 身体是否存在心脏疾病、佩戴心脏起搏器、癫痫等禁忌症? 请确认以上条件均已满足后回复"确认"。

用户未明确确认前,禁止发送任何强度或波形指令。

第 6 步:确认已连接的通道

安全确认通过后,询问用户当前连接了哪些通道:

郊狼有 A、B 两个输出通道。你当前连接了哪个(哪些)通道? - 仅 A 通道 - 仅 B 通道 - A 和 B 双通道

记录用户回答,后续所有操作只对用户已连接的通道发送指令。未连接的通道禁止发送任何强度或波形命令。

第 7 步:开始使用

通道确认后,告知用户已就绪,并展示可用操作和预设列表。

HTTP API 参考

GET /status

返回连接状态、配对状态、当前强度、安全限制。

GET /qrcode

返回 APP 扫码配对的 URL。

GET /presets

列出所有可用波形预设及其描述。

POST /strength

字段类型说明
channel"A" / "B"通道(只能使用用户已确认连接的通道
action"set" / "increase" / "decrease"操作
valueint目标值或变化量

POST /waveform

字段类型说明
channel"A" / "B"通道(只能使用用户已确认连接的通道
presetstring预设名(与 data 二选一)
datastring[]自定义 HEX 数组(与 preset 二选一)
durationint持续秒数(1-60,默认 5)

POST /clear

清空指定通道波形队列。{"channel": "A"}只能操作用户已确认连接的通道

POST /emergency-stop

紧急停止:双通道强度归零 + 清空波形队列。无需参数。

POST /stop

优雅关闭控制器进程。

可用波形预设

ID中文名时长特点
breathing呼吸1.2s缓慢淡入淡出,轻柔放松
tide潮汐2.3s平滑波浪,频率和强度渐变
combo连击2.4s快速开关脉冲,带递减尾部
quick-pinch快速按捏4.4s恒频快速交替开关
pinch-crescendo按捏渐强2.3s交替开关 + 强度逐次递增
heartbeat心跳节奏3.4s模拟心跳:强脉冲 + 间歇 + 弱脉冲
compression压缩2.1s频率递降 + 恒定满强度,压迫感
rhythm-step节奏步伐2.7s渐快的阶梯式节奏
grain-friction颗粒摩擦2.8s频率递增 + 脉冲式强度,颗粒质感
gradient-bounce渐变弹跳4.8s反复渐升 + 频率渐高,弹跳感
wave-ripple波浪涟漪5.3s分层波浪 + 阶梯升频,涟漪扩散感
rain-rush雨水冲刷7.5s轻柔点触渐变为持续冲刷
variable-tap变速敲击8.4s节奏敲击加速后进入持续高频
signal信号灯4.0s长高频信号 + 短促警告式渐升
tease-1挑逗16.3s缓慢升到顶峰骤降,反复后快速开关
tease-2挑逗28.8s降频升强反复后加速交替脉冲

使用示例:

curl -X POST http://127.0.0.1:8899/waveform \
  -H "Content-Type: application/json" \
  -d '{"channel":"A","preset":"breathing","duration":10}'

自定义波形生成

使用 waveform.py 生成自定义波形数据:

python scripts/waveform.py list
python scripts/waveform.py constant 15 60 2000
python scripts/waveform.py ramp 10 0 80 3000

Python 调用:

from waveform import generate_sine, generate_pulse

data = generate_sine(freq=20, max_intensity=80, period_ms=1000, duration_ms=5000)
data = generate_pulse(freq=10, intensity=50, on_ms=200, off_ms=300, duration_ms=3000)

将生成的数据发送到设备:

DATA=$(python scripts/waveform.py constant 15 60 2000)
curl -X POST http://127.0.0.1:8899/waveform \
  -H "Content-Type: application/json" \
  -d "{\"channel\":\"A\",\"data\":$DATA,\"duration\":5}"

安全机制

通道限制

在第 6 步中用户会告知已连接的通道。此后严格只对已连接通道发送指令,向未连接通道发送指令无意义且可能导致意外。若用户中途更换通道连接,需重新确认。

强度上限

--strength-limit 参数(默认 50)限制可设置的最大强度值。任何超出此值的操作会被拒绝。

速率限制

连续强度命令间隔不得小于 100ms,防止意外快速递增。

紧急停止

POST /emergency-stop 立即将双通道强度归零并清空波形队列。任何时候用户说"停"、"stop"或表达不适,立即执行紧急停止。

协议验证

  • 所有波形 HEX 数据在发送前经过格式和范围校验
  • 频率范围 10-240,强度范围 0-100
  • JSON 消息长度不超过 1950 字符
  • duration 限制在 1-60 秒

连接恢复

WebSocket 断连后自动每 3 秒尝试重连。重连后需重新配对。

电极安全规则

  • 电极片禁止贴在心脏投影区域两侧(电流路径不得横穿心脏)
  • 有心脏疾病、心脏起搏器、癫痫病史的用户禁止使用
  • 皮肤破损、伤口处禁止贴放电极片
  • 首次使用必须从低强度开始,逐步增加

External Endpoints

端点方向说明
ws://HOST:PORT (默认 ws://localhost:9999)出站 → 本地中继服务器WebSocket 连接,传输设备控制指令和状态。数据不离开本机。
http://127.0.0.1:8899/*本地回环AI Agent 与 ws_client.py 之间的 HTTP 控制通道。仅监听 localhost。
https://github.com/DG-LAB-OPENSOURCE/DG-LAB-OPENSOURCE.git出站 → GitHub仅在首次安装时 clone 官方中继服务器代码,之后不再访问。

Security & Privacy

  • 所有控制通信均在本机完成:ws_client.py 连接的中继服务器运行在 localhost,HTTP API 仅监听 127.0.0.1
  • 不收集、不上传任何用户数据:本 skill 不向外部服务器发送任何使用数据、遥测或日志
  • 唯一的外部网络访问发生在首次安装时从 GitHub 克隆中继服务器仓库
  • 设备通信路径:本机中继服务器 ↔ 同一局域网内的 DG-LAB APP(通过 WebSocket),APP ↔ 郊狼设备(通过 BLE)
  • 脚本不读写用户文件系统中 skill 目录之外的任何文件(除日志输出到 stderr)

Trust Statement

本 skill 通过 WebSocket 与本地运行的 DG-LAB 官方中继服务器通信,控制指令经由用户手机上的 DG-LAB APP 转发至物理设备。所有通信均在本机或局域网内完成,不涉及第三方云服务。请确保中继服务器来源可信(仅使用 DG-LAB 官方仓库)。

参考文档

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

80.39%
按下载量换算1,646

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills