360 Secure SkillHub
360 安全技能中心

WakeOnLAN 远程开机

根据用户绑定信息读取 MAC 地址,调用 Shell 脚本向局域网广播地址发送 Magic Packet 实现远程开机;支持单台直接唤醒、多台选择及未绑定引导,并提供目标电脑 WOL 配置与故障排查说明。

duyiliu
duyiliu
热度 16.36
最近更新 2026-03-18 19:41:57
分类:自动化依赖:代码执行 / 读写文件应用场景:自动化脚本 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add wakeonlan
Metadata
name
wakeonlan
description
远程开机功能,通过 Wake On LAN 技术发送 Magic Packet 唤醒局域网内的电脑。当用户说"开机"、"远程开机"、"帮我开机"、"开一下电脑"、"唤醒电脑"、"wol" 等关键词时触发此技能。支持用户绑定多台电脑、通过 MAC 地址唤醒。

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

绑定新电脑

当用户需要绑定时,收集以下信息:

  1. MAC 地址:在目标电脑上运行 ipconfig /all(Windows)或 ip link(Linux)获取
  2. 电脑名称:用户自定义,如"公司笔记本"、"家里台式机"

更新 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|另一台电脑

电脑端配置要求(用户须知)

远程开机需要目标电脑预先配置:

  1. BIOS 设置:启用 Wake On LAN / 网络唤醒
  2. Windows 设置:
    • 设备管理器 → 网卡属性 → 电源管理
    • 勾选"允许此设备唤醒计算机"
    • 勾选"只允许幻数据包唤醒计算机"

故障排查

问题 解决方案
发送成功但未唤醒 检查 BIOS 是否启用 WOL
发送成功但未唤醒 检查网卡电源管理设置
发送失败 尝试更换广播地址

新手引导

当用户首次使用或询问"怎么用"时,显示:

绑定步骤:

  1. 获取 MAC 地址(在目标电脑上运行 ipconfig /all)
  2. 发送格式:帮我绑定电脑:MAC地址:XX:XX:XX:XX:XX:XX,电脑名称:xxx
  3. 配置目标电脑的 BIOS 和网卡(启用 Wake On LAN)