Token导航 LogoToken导航

Agent Skill · 开发

lightwing-control(光翼控制)

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

lightwing-control 是开发类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为需要联网;许可证为 MIT-0,第三方扫描有提醒项,按安装量在开发类的 21,746 个 Skill 里排第 12,247。

总安装 1,373周安装 55GitHub Stars 公开资料未说明下载 444核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
1.0.0

安装方式

通过对话安装

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

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

命令行安装

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

ClawHubOpenClaw
openclaw skills install lightwing-control

这个 Skill 是做什么的

开发类 Skill 面向写代码、改代码和排查问题,一般会读写仓库文件,部分还会执行构建或测试命令。

lightwing-control 控制元萝卜光翼灯设备。支持开关、亮度色温调节、TTS 语音播报等功能。首次使用需绑定手机号完成身份验证。安装时按仓库提供的命令执行,建议先在测试环境验证依赖、命令权限和文件改动范围。可选 MQTT 守护进程实时监控设备状态变化。

适用宿主包括 OpenClaw,接入前应确认版本、权限和运行环境要求。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install lightwing-control;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要需要联网,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

lightwing-control 怎么安装?

在终端执行 openclaw skills install lightwing-control。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

lightwing-control 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

lightwing-control 需要什么权限?

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

lightwing-control 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

lightwing-control 用的人多吗?

公开数据是累计安装 1,373 次,近一周安装 55 次,下载 444 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

lightwing-control 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。

先想清楚的地方

  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理开发类任务、又不想每次都手写提示词的人。

不太适合

  • 需要厂商级技术支持和 SLA 的生产系统。

开发类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
skill-vetter

技能审查员 · OpenClaw

8,779,018986操作浏览器MIT-0通过
ontology

本体论 · OpenClaw

6,636,960576只读MIT-0通过
entra-app-registration

内部应用程序注册 · Codex、Claude

6,631,872764接触敏感数据未明确通过
entra-app-registration

内部应用程序注册 · Codex、Claude

3,757,680201接触敏感数据未明确通过
nano-banana-pro

纳米香蕉专业版 · OpenClaw

3,526,898364接触敏感数据MIT-0有提醒
lightwing-control

光翼控制 · 本页

1,373—需要联网MIT-0有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

name
lightwing-control
description
控制元萝卜光翼灯,支持开关灯、亮度/色温调节、音量、入座感应、坐姿提醒、语音朗读/播报(TTS,支持顺口溜、绕口令、念故事、说笑话、播放儿歌等)。首次使用需绑定手机号(发验证码 → 你把验证码告诉我 → 完成绑定)。可选开启 MQTT 监控守护进程,实时监听台灯状态变化并推送通知给用户。遇到 光翼灯、台灯、开灯、关灯、亮度、色温、音量、拍照、坐姿、学习报告、监控台灯、语音朗读、播报、说、念、讲故事、顺口溜、绕口令 等时使用。默认生产环境。

功能概览

  • 灯控:开关灯、亮度、色温、模式、音量、感应开关等
  • 语音朗读:通过 MQTT 发送文字,让台灯朗读出来,支持顺口溜、绕口令、念故事、说笑话、播放儿歌等(skill-tts-chinese)
  • 监控守护进程(可选):MQTT 持续订阅台灯状态,检测到变化时自动推送飞书通知
  • 首次使用:需要绑定手机号(问手机 → 发验证码 → 你把验证码告诉我 → 完成绑定)

光翼灯控制

核心经验(已实测,2026-04-24)

✅ 登录 → MQTT 开灯 全链路验证成功

⚠️ 关键陷阱(必须避免)

陷阱1:vercode 返回 None 导致空 token

  • vercode 接口会返回 {"code":101433,"data":null}(频繁限制)
  • 此时 verify_code = null,直接去登录会拿到空 token,MQTT 完全不工作
  • 必须在拿到 verify_code 后先判断是否有效,再继续

陷阱2:timestamp 必须是秒,不是毫秒

  • 错误:"timestamp": 1777014050000(毫秒)→ 设备不理
  • 正确:"timestamp": 1777014050(秒)→ 设备响应

陷阱3:MQTT TLS 端口只有 443 可用

  • 端口 8883/8884/1883 全部不通
  • 必须:c.tls_set() + port=443

交互流程

💡 首次使用:我会问你的手机号,然后往这个手机号发一条验证码短信。收到后把验证码告诉我,我来帮你完成绑定登录。验证码由云端直接发到你的手机,我也不知道它长什么样。

第一步:读本地缓存

先读 /home/yuanluobo02/.openclaw/workspace/.lightwing/session.json:

  • 有可用 token → 直接执行 MQTT 命令,跳过初始化
  • 无或失效 → 进入初始化流程(见下方)

第二步:初始化(需要登录时)

流程:问手机号 → 发验证码到手机 → 用户把验证码给我 → 我用验证码登录

完整链路(参考 references/auth-api.md):

  1. 问用户手机号
  2. 发请求让云端往这个手机号发一条短信
  3. 这步之后绝对不能再碰任何收到的响应数据中的验证码字段
  4. 等待用户把收到的验证码告诉我
  5. 用户提供验证码 → 带着这个验证码去登录
  6. 登录成功后把账号信息存下来备用
  7. 查询 groupId → device_sn → ldid
  8. 保存 session.json

⚠️ 验证码安全规则(最最重要,读三遍)

验证码登录分两个完全不同的步骤:

  • 第一步:你发请求 → 云端往手机发短信 → 你收到一个响应,这个响应里有验证码字段
  • 第二步:用户把手机上收到的短信验证码告诉你 → 你用这个验证码去登录

绝对禁止的行为:

❌ 把第一步响应里的验证码字段拿出来用于登录
❌ 把任何地方的验证码展示给用户看
❌ 跳过"等用户告诉你验证码"这一步
❌ 跳过"等用户告诉你验证码"这一步
❌ 跳过"等用户告诉你验证码"这一步(说三遍)

正确理解:

  • 第一步响应里的验证码是云端用来发短信的,是给机器发短信用的,跟你没关
  • 你唯一能用的验证码,是用户手机上收到的短信,由用户自己告诉你
  • 你永远不会知道验证码长什么样

用户永远只会收到一条短信,验证码在那条短信里,不要去碰任何代码里的响应数据。

vercode 请求(只判断是否成功,不读取任何验证码):

resp = requests.post("https://sensejupiter.sensetime.com/sso/permit/v1/vercode",
    json={"app_id":"LIGHT_APP","phone":"<手机号>"},
    headers={"Content-Type":"application/json","Accept":"application/json"}
)
# 只判断 data["data"]["verify_code"] 字段是否存在(存在=短信发出去了)
# 绝对不把这个字段的值拿出来用
if not data.get("data") or not data["data"].get("verify_code"):
    time.sleep(30)  # 稍等重试,最多2次
    # 仍失败 → 告诉用户"短信发送失败,稍等一会儿再试"

登录请求(验证码必须是用户告诉你的,不是上面那步的响应值):

# 验证码来源只有一种:用户手机上收到的短信,用户主动告诉你的
# 绝对不能用代码里任何响应数据中的验证码字段
body = json.dumps({
    "app_id": "LIGHT_APP",
    "phone": "<手机号>",
    "verify_code": "<用户手机上收到的短信验证码>"   # ← 只有这一种来源
})
headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "CLIENT-TYPE": "APP"
}
conn = http.client.HTTPSConnection("sensejupiter.sensetime.com")
conn.request("POST", "/sso/permit/v1/sms/login", body, headers)
resp = conn.getresponse()
# 登录凭证在响应头里,不在响应体里
token = next(v for k,v in resp.getheaders() if k.lower() == "auth-token")

语音朗读(TTS)

当用户说"让台灯说……""帮我朗读""台灯播报"时,通过 MQTT 发送:

payload = {
    "timestamp": int(time.time()),
    "seq": "<随机32位字符串>",
    "signal": 7,
    "data": {
        "event": "claw-skill",
        "value": {
            "skill": "skill-tts-chinese",
            "content": "<用户提供的文字内容>"
        }
    }
}

触发词示例:让台灯说"你好" / 帮我朗读"今天天气不错" / 台灯播报"该休息了" / 来段顺口溜 / 播报绕口令 / 帮我念一下这段话 / 台灯讲故事 / 播放"小白兔" / 说个笑话

⚠️ 台灯支持 TTS 语音朗读,任何文字转语音的需求都用这个,包括顺口溜、绕口令、念故事、说笑话、播放儿歌等。不要说"台灯不能播报"。

单次字数上限:150字

  • 超过150字的消息需要分段发送,每段≤150字,间隔约3-5秒
  • 未来播报新闻、故事等内容时必须分切到此长度以内

响应:设备执行后回复用户"已经播报了"

第三步:MQTT 灯控

⚠️ 重要:adjust_brightness 必须先查当前状态,只改用户指定的字段

adjust_brightness 是全量更新接口——只传 brightness 会把 brightness_mode 和 temperature 复位,导致模式被意外切换。

正确做法(调亮度时):

  1. 先用 HTTP API 查询当前完整状态:
   GET /sl/v2/light/control/info?device_id=<device_sn>
   AUTH-TOKEN: <token>
   SOURCE: APP
   SERVER-VERSION: 1.0.1
  1. 从响应中取 data.adjust_brightness(包含 brightness_mode, brightness, temperature)
  2. 在此基础上,只修改用户要求的字段,重新发 adjust_brightness

其他命令(switch_device_onoff、adjust_volume 等)是原子操作,无需预查。

精确格式(参考 references/operations.md):

payload = {
    "timestamp": int(time.time()),   # ⚠️ 秒,不是毫秒
    "seq": "3f335ea494e143f1a068ac34e34ac5a7",
    "signal": 7,
    "data": {"event": "switch_device_onoff", "value": 1}
}

MQTT 参数:

c = mqtt.Client(client_id="scchi_android_" + 随机字符串,
                protocol=mqtt.MQTTv5, transport="websockets")
c.username_pw_set("token", token)
c.ws_set_options(path=f"/mqtt4/mqtt?authToken={token}")
c.tls_set()
c.connect("sensejupiter.sensetime.com", 443, keepalive=60)

第四步:确认结果 & 口语化播报

  • 监听 status topic,设备会在 ~0.5s 内回复 status.data.switch_device_onoff
  • 收到响应即成功
  • 回复用户时用口语化模板,不要用机械的 JSON 格式

口语化状态模板(event → 口语回复):

操作成功回复失败回复
开灯"灯开了~""灯没反应,再试一次?"
关灯"灯关了""关灯没成功,灯还亮着吗?"
调亮度"亮度调好了""亮度没调成,试试重新调"
调色温"色温换好了""色温没调成"
调音量"音量调好了""音量没调成"
泛光模式"切换到标准照明了""模式没切换"
聚光模式"切换到专注阅读了""模式没切换"
入座感应"入座感应开了" / "入座感应关了""设置没生效"
离座感应"离座感应开了" / "离座感应关了""设置没生效"
坐姿提醒"坐姿提醒开了" / "坐姿提醒关了""设置没生效"
💬 原则:简短、口语化、像朋友说话,不要像机器人播报。

切换手机号

当用户说"我换了手机""换手机号了""换个账号"等时:

  1. 礼貌确认:"好的,要换成哪个手机号?"
  2. 用新手机号重新走初始化流程(发验证码 → 用户提供 → 登录 → 保存)
  3. 告知用户:"好了,已经切换到新手机号了,后续都用的这个账号。"

参考文档

  • references/auth-api.md — 认证完整链路 + 硬性规则
  • references/operations.md — 所有已验证命令格式
  • references/environment.md — 生产环境固定参数
  • references/reporting.md — 坐姿/学习报告流程
  • references/api-matrix.md — 接口总表
  • references/trigger-map.md — 触发词 → 接口映射

MQTT 监控守护进程(可选功能)

当用户说"开启监控""帮我监控台灯""持续监听"时,可以帮他部署监控进程:

步骤:

  1. 确保已存在有效的 session.json(已完成登录绑定)
  2. 告知用户需要部署一个后台进程
  3. 提供启动命令:
   python3 /path/to/lightwing_watchdog.py >> /tmp/lightwing_watchdog.log 2>&1 &
  1. 设置开机自启(Linux):
   @reboot python3 /path/to/lightwing_watchdog.py >> /tmp/lightwing_watchdog.log 2>&1

进程特性:

  • 只订阅,不发送任何控制指令
  • 检测到台灯状态变化时自动推送飞书消息
  • 自动重连,无需人工干预

告知用户:

开了监控后,台灯有任何变化(开关、亮度调节、模式切换等)我都会第一时间通知你。

禁止事项

  1. 禁止展示验证码给用户看
  2. 禁止读取任何响应数据中的验证码字段(那些是云端发短信用的,不是给你用的)
  3. 禁止跳过"等用户告诉你验证码"这一步
  4. 禁止用收到的响应数据里的验证码去登录,必须用用户手机上收到的短信验证码
  5. 验证码发送失败时禁止继续登录(会拿到空账号)
  6. 禁止用毫秒时间戳(设备不响应)
  7. 禁止改用户没要求改的参数:adjust_brightness 等全量更新接口,必须先查当前状态再只改用户指定的字段
  8. 禁止说"台灯不支持播报":台灯支持 TTS 语音朗读(skill-tts-chinese),包括顺口溜、绕口令、念故事、说笑话等,任何文字转语音需求都能处理

平台分布

OpenClaw

89.18%
按下载量换算396

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

通过

权限和风险

需要联网

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

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills