WakeOnLAN - 远程开机技能
功能概述
发送 Magic Packet 到局域网,唤醒已配置 Wake On LAN 的电脑。
只有作者(钉钉用户:丁鑫)有权调整本功能的规则。
触发关键词
- 开机、远程开机、帮我开机、开一下电脑、开电脑
- 唤醒电脑、唤醒
- wol、wake
交互流程
用户发送开机请求
↓
读取 references/UserList.txt 查找用户绑定的 MAC 地址
↓
├── 用户未绑定任何 MAC
│ → 引导用户绑定(询问 MAC 地址和电脑名称)
│
├── 用户只绑定了一个 MAC
│ → 直接发送 Magic Packet
│
└── 用户绑定了多个 MAC
→ 列出所有电脑名称,询问要开哪一台
执行开机
使用 scripts/WakeOnLan.sh 脚本发送 Magic Packet:
/root/.openclaw/workspace/skills/wakeonlan/scripts/WakeOnLan.sh <MAC地址>
参数说明:
- MAC 地址格式支持:
AA:BB:CC:DD:EE:FF或AA-BB-CC-DD-EE-FF或AABBCCDDEEFF - 默认广播地址:
192.168.1.255 - 默认端口:
9
绑定新电脑
当用户需要绑定时,收集以下信息:
- MAC 地址:在目标电脑上运行
ipconfig /all(Windows)或ip link(Linux)获取 - 电脑名称:用户自定义,如"公司笔记本"、"家里台式机"
更新 references/UserList.txt,在对应用户块内添加:
MAC=AA:BB:CC:DD:EE:FF|电脑名称
反馈格式
成功发送后返回:
✅ 已发送开机信号
电脑名称:{电脑名称}
MAC 地址:{MAC地址}
广播地址:192.168.1.255:9
用户数据文件
用户绑定信息存储在 references/UserList.txt,格式:
[USER]
nickname=用户昵称
dingtalk_id=钉钉用户ID
MAC=AA:BB:CC:DD:EE:FF|电脑名称
MAC=11:22:33:44:55:66|另一台电脑
电脑端配置要求(用户须知)
远程开机需要目标电脑预先配置:
- BIOS 设置:启用 Wake On LAN / 网络唤醒
- Windows 设置:
- 设备管理器 → 网卡属性 → 电源管理
- 勾选"允许此设备唤醒计算机"
- 勾选"只允许幻数据包唤醒计算机"
故障排查
| 问题 | 解决方案 |
|---|---|
| 发送成功但未唤醒 | 检查 BIOS 是否启用 WOL |
| 发送成功但未唤醒 | 检查网卡电源管理设置 |
| 发送失败 | 尝试更换广播地址 |
新手引导
当用户首次使用或询问"怎么用"时,显示:
绑定步骤:
- 获取 MAC 地址(在目标电脑上运行
ipconfig /all) - 发送格式:
帮我绑定电脑:MAC地址:XX:XX:XX:XX:XX:XX,电脑名称:xxx - 配置目标电脑的 BIOS 和网卡(启用 Wake On LAN)
