@honor-claw/yoyo 1.2.0-beta.1 → 1.2.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/skills/yoyo-control/SKILL.md +45 -41
- package/skills/yoyo-control/references/app-uninstall.md +251 -0
- package/skills/yoyo-control/references/audio-record.md +225 -0
- package/skills/yoyo-control/references/battery.md +283 -0
- package/skills/yoyo-control/references/camera.md +242 -0
- package/src/cloud-channel/utils.ts +3 -4
- package/src/commands/env/impl.ts +3 -1
- package/src/commands/status/index.ts +2 -2
- package/src/modules/configs/config-manager.ts +16 -0
- package/src/services/connection/impl.ts +3 -1
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: yoyo_phone_control
|
|
3
3
|
version: 1.0.0
|
|
4
|
-
description: 通过YOYO
|
|
4
|
+
description: 通过YOYO操作手机系统用机功能,包括打开/关闭/卸载应用、发送/查找短信、拨打电话、搜索联系人、搜索通话记录、创建/打开/查询/关闭/删除闹钟、创建/添加/新建日程、录音、截屏、屏幕录制、调节音量、屏幕亮度调节、切换响铃/静音/勿扰/护眼/深色模式、管理移动数据或热点或蓝牙或WLAN、进行本地内容搜索、文件发送、调用相机拍照/录像、电池状态/电量查询与、开启/关闭定位服务、开启/关闭NFC功能、开启/关闭自动亮屏功能、USB共享网络、设备电源状态与屏幕状态控制、状态栏显示信息管理与控制等。
|
|
5
5
|
metadata: { "openclaw": { "emoji": "📱", "always": true } }
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -76,46 +76,50 @@ Before executing any device control operation, you **MUST** consult the correspo
|
|
|
76
76
|
|
|
77
77
|
### Available Tool References
|
|
78
78
|
|
|
79
|
-
| Required Node Caps | Reference File | Tool Description
|
|
80
|
-
| --------------------- | ----------------------------------- |
|
|
81
|
-
| `mobile-data` | `references/mobile-data.md` | 移动数据与流量管理工具。提供对移动数据及流量管理相关功能的综合管理与控制,支持开关移动数据、切换SIM卡、查询流量使用情况/账单/排行、设置流量限额与提醒、控制应用级流量、流量校准及省流量模式等功能。
|
|
82
|
-
| `hotspot` | `references/hotspot.md` | 个人热点管理工具。提供对个人热点功能的统一管理与控制,支持个人热点的开启与关闭。
|
|
83
|
-
| `volume` | `references/volume-operate.md` | 设备音量调节与管理工具。提供对设备音量的调节与管理功能,支持音量的设置、调高、调低、开启与关闭,以及当前音量状态的查询;可针对不同应用、不同设备及不同音量类型(如媒体、通话、通知等)进行精细化控制。
|
|
84
|
-
| `no-disturb` | `references/no-disturb.md` | 免打扰模式管理工具。支持在特定时间段或特定情况下屏蔽来电和通知,减少干扰,提高专注度。提供即时开关、定时设置、联系人例外、应用通知控制等功能。
|
|
85
|
-
| `screen-record` | `references/screen-record.md` | 设备屏幕录制管理与控制工具。提供对设备屏幕录制功能的管理与控制能力,支持对屏幕录制功能的开启与关闭、相关录制参数的设置、当前录制状态的查询,并可结合指定应用对其在特定应用场景下的录制行为进行管理。
|
|
86
|
-
| `quiet-mode` | `references/quiet-mode.md` | 设备静音模式管理与控制工具。提供对设备静音模式的管理与控制能力,支持静音模式的开启与关闭、当前状态的查询、静音持续时间的设置,以及结合指定应用或设备进行声音控制。
|
|
87
|
-
| `ringing-mode` | `references/ringing-mode.md` | 响铃模式管理工具。提供对系统响铃模式的管理与控制能力,支持对响铃模式的开启与关闭、相关行为的设置以及当前状态的查询,并可结合指定应用对其在响铃模式下的表现进行管理。
|
|
88
|
-
| `vibration-mode` | `references/vibration-mode.md` | 系统震动反馈管理与控制工具。提供对系统震动反馈功能的统一管理与控制能力,支持震动模式的设置、状态查询、打开与关闭,并可分别管理静音状态下震动、响铃状态下震动,以及在点击导航栏或设备解锁等交互场景中的震动反馈。
|
|
89
|
-
| `capture-screenshot` | `references/capture-screenshot.md` | 截屏功能管理与触发工具。提供对截屏功能的管理与触发能力,支持将当前手机屏幕内容以图片的形式保存,包括普通截屏和滚动截屏等操作。
|
|
90
|
-
| `app` | `references/app-open.md` | 应用打开工具。用于帮助用户打开指定的 APP 应用,且不涉及任何具体 App 内部操作。
|
|
91
|
-
| `app` | `references/app-close.md` | 应用关闭工具。用于帮助用户关闭指定的 APP 应用,且不涉及任何具体 App 内部操作。
|
|
92
|
-
| `
|
|
93
|
-
| `
|
|
94
|
-
| `call` | `references/call-
|
|
95
|
-
| `
|
|
96
|
-
| `message` | `references/message-
|
|
97
|
-
| `
|
|
98
|
-
| `
|
|
99
|
-
| `
|
|
100
|
-
| `alarm` | `references/alarm-
|
|
101
|
-
| `alarm` | `references/alarm-
|
|
102
|
-
| `alarm` | `references/alarm-
|
|
103
|
-
| `alarm` | `references/alarm-
|
|
104
|
-
| `
|
|
105
|
-
| `schedule` | `references/schedule-
|
|
106
|
-
| `schedule` | `references/schedule-
|
|
107
|
-
| `schedule` | `references/schedule-
|
|
108
|
-
| `
|
|
109
|
-
| `
|
|
110
|
-
| `
|
|
111
|
-
| `
|
|
112
|
-
| `
|
|
113
|
-
| `
|
|
114
|
-
| `
|
|
115
|
-
| `
|
|
116
|
-
| `
|
|
117
|
-
| `
|
|
118
|
-
| `
|
|
79
|
+
| Required Node Caps | Reference File | Tool Description |
|
|
80
|
+
| --------------------- | ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
81
|
+
| `mobile-data` | `references/mobile-data.md` | 移动数据与流量管理工具。提供对移动数据及流量管理相关功能的综合管理与控制,支持开关移动数据、切换SIM卡、查询流量使用情况/账单/排行、设置流量限额与提醒、控制应用级流量、流量校准及省流量模式等功能。 |
|
|
82
|
+
| `hotspot` | `references/hotspot.md` | 个人热点管理工具。提供对个人热点功能的统一管理与控制,支持个人热点的开启与关闭。 |
|
|
83
|
+
| `volume` | `references/volume-operate.md` | 设备音量调节与管理工具。提供对设备音量的调节与管理功能,支持音量的设置、调高、调低、开启与关闭,以及当前音量状态的查询;可针对不同应用、不同设备及不同音量类型(如媒体、通话、通知等)进行精细化控制。 |
|
|
84
|
+
| `no-disturb` | `references/no-disturb.md` | 免打扰模式管理工具。支持在特定时间段或特定情况下屏蔽来电和通知,减少干扰,提高专注度。提供即时开关、定时设置、联系人例外、应用通知控制等功能。 |
|
|
85
|
+
| `screen-record` | `references/screen-record.md` | 设备屏幕录制管理与控制工具。提供对设备屏幕录制功能的管理与控制能力,支持对屏幕录制功能的开启与关闭、相关录制参数的设置、当前录制状态的查询,并可结合指定应用对其在特定应用场景下的录制行为进行管理。 |
|
|
86
|
+
| `quiet-mode` | `references/quiet-mode.md` | 设备静音模式管理与控制工具。提供对设备静音模式的管理与控制能力,支持静音模式的开启与关闭、当前状态的查询、静音持续时间的设置,以及结合指定应用或设备进行声音控制。 |
|
|
87
|
+
| `ringing-mode` | `references/ringing-mode.md` | 响铃模式管理工具。提供对系统响铃模式的管理与控制能力,支持对响铃模式的开启与关闭、相关行为的设置以及当前状态的查询,并可结合指定应用对其在响铃模式下的表现进行管理。 |
|
|
88
|
+
| `vibration-mode` | `references/vibration-mode.md` | 系统震动反馈管理与控制工具。提供对系统震动反馈功能的统一管理与控制能力,支持震动模式的设置、状态查询、打开与关闭,并可分别管理静音状态下震动、响铃状态下震动,以及在点击导航栏或设备解锁等交互场景中的震动反馈。 |
|
|
89
|
+
| `capture-screenshot` | `references/capture-screenshot.md` | 截屏功能管理与触发工具。提供对截屏功能的管理与触发能力,支持将当前手机屏幕内容以图片的形式保存,包括普通截屏和滚动截屏等操作。 |
|
|
90
|
+
| `app` | `references/app-open.md` | 应用打开工具。用于帮助用户打开指定的 APP 应用,且不涉及任何具体 App 内部操作。 |
|
|
91
|
+
| `app` | `references/app-close.md` | 应用关闭工具。用于帮助用户关闭指定的 APP 应用,且不涉及任何具体 App 内部操作。 |
|
|
92
|
+
| `app` | `references/app-uninstall.md` | 应用卸载工具。用于执行已安装应用的卸载操作,专注于卸载动作本身,不涉及数据清理策略、账号处理或任何 App 内操作。 |
|
|
93
|
+
| `contact` | `references/contact-search.md` | 联系人查找服务工具。提供按姓名、昵称、电话号码检索联系人的能力,支持区分自然人名与机构/黄页条目,可处理模糊匹配、多结果列表展示及序号选择场景。 |
|
|
94
|
+
| `call` | `references/call-phone.md` | 智能电话拨打与管理工具。提供全面的电话呼叫功能,支持通过姓名、电话号码或黄页服务发起呼叫;支持指定拨号使用的SIM卡(移动/联通/电信/卡槽);具备重拨最后号码、回拨已接听来电、回拨未接听来电及通用回拨功能。 |
|
|
95
|
+
| `call` | `references/call-search.md` | 提供查看通话记录(全部、未接听、已接听,或按联系人筛选)服务。 |
|
|
96
|
+
| `message` | `references/message-send.md` | 提供发送短信的服务。支持通过电话号码或联系人名称发送短信内容,可使用黄页发送短信至公共服务号码,以及发送名片信息给指定联系人。 |
|
|
97
|
+
| `message` | `references/message-search.md` | 短信查询工具。用于查询设备上的短信记录,支持按联系人、电话号码或短信内容检索。当用户询问"查看/查询/搜索短信"等意图时调用。 |
|
|
98
|
+
| `local-search` | `references/local-search.md` | 查询手机文档、笔记、日程、图库、yoyo记忆、钱包等 |
|
|
99
|
+
| `file-upload` | `references/file-upload.md` | 文件上传工具。用于将本地文件上传到指定位置。当用户明确提供文件路径时直接调用;当用户仅描述文件(如"某文件"、"某照片")时,需先调用 local-search 查询获取文件路径,再执行上传。 |
|
|
100
|
+
| `alarm` | `references/alarm-create.md` | 闹钟创建工具。用于创建闹钟,当用户明确创建/定一个闹钟时,属于创建闹钟。 |
|
|
101
|
+
| `alarm` | `references/alarm-query.md` | 闹钟查询工具。用于查询已创建的闹钟列表,支持按时间、标题、重复类型等多维度筛选。 |
|
|
102
|
+
| `alarm` | `references/alarm-delete.md` | 闹钟删除工具。用于永久删除已创建的闹钟,支持批量删除多个闹钟。 |
|
|
103
|
+
| `alarm` | `references/alarm-disable.md` | 闹钟关闭工具。用于禁用已创建的闹钟,支持批量关闭多个闹钟。 |
|
|
104
|
+
| `alarm` | `references/alarm-enable.md` | 闹钟打开工具。用于启用已创建的闹钟,支持批量打开多个闹钟。 |
|
|
105
|
+
| `schedule` | `references/schedule-create.md` | 日程创建工具。用于在设备上创建新的日程安排,支持设置具体时间、日期和日程内容。当用户询问"创建/添加/新建日程"等意图时调用。用于创建日程的工具。当用户意图涉及添加日程/安排时,属于创建日程。 |
|
|
106
|
+
| `schedule` | `references/schedule-search.md` | 日程查询工具。用于查询设备上已创建的日程安排,支持按时间、内容等多维度检索。 当用户询问"查看/查询/搜索日程"等意图时调用。用于搜索日程的工具。当用户意图涉及查找日程/安排时,属于查询日程。 |
|
|
107
|
+
| `schedule` | `references/schedule-delete.md` | 日程删除工具。用于删除设备上已创建的日程安排,支持删除指定日程。当用户询问"删除/移除/取消日程"等意图时调用。用于删除日程的工具。当用户意图涉及移除日程/安排时,属于删除日程。 |
|
|
108
|
+
| `schedule` | `references/schedule-update.md` | 日程编辑修改工具。用于修改设备上已创建日程的属性,支持修改时间、内容、地点等。当用户询问"修改/编辑/更改日程"等意图时调用。用于更新日程的工具。当用户意图涉及修改日程/安排属性时,属于编辑修改日程。 |
|
|
109
|
+
| `wlan` | `references/wlan.md` | WLAN(无线网络、WiFi)管理工具。提供对WLAN及其相关能力的统一管理与控制,支持WLAN的开启与关闭、参数设置与状态查询,并可对WLAN使用的流量与流量提醒进行管理。 |
|
|
110
|
+
| `bluetooth` | `references/bluetooth.md` | 蓝牙设备管理工具。提供蓝牙设备的统一管理与控制,支持蓝牙的打开/关闭、参数设置、状态查询、设备搜索与配对,并能管理已接收的蓝牙文件。 |
|
|
111
|
+
| `location-service` | `references/location-service.md` | 设备定位服务管理工具。支持开启/关闭定位、设置相关权限或策略,并查询当前定位服务状态。 |
|
|
112
|
+
| `nfc` | `references/nfc.md` | 设备 NFC 管理与控制工具。支持开启/关闭、设置使用策略与参数、查询当前状态,以及基于 NFC 的刷卡感应操作。 |
|
|
113
|
+
| `usb-shared-network` | `references/usb-shared-network.md` | 统一管理与控制 USB 共享网络功能,支持开启/关闭、参数设置与状态查询,可结合指定应用进行操作。 |
|
|
114
|
+
| `eyecomfort` | `references/eye-comfort.md` | 护眼模式与视觉健康功能管理工具。支持开启/关闭、设置、查询与定时控制,并可独立管理助眠显示、干眼友好、视力舒缓、自然色彩显示及照明闪烁检测。 |
|
|
115
|
+
| `brightness` | `references/brightness.md` | 屏幕亮度管理工具。支持开启/关闭、调高/调低、设定指定亮度值、查询当前亮度与自动调节状态,并可管理自动调节亮度功能。 |
|
|
116
|
+
| `dark-mode` | `references/dark-mode.md` | 深色模式管理工具。支持开启、关闭、设置与查询,并可按指定应用执行操作,提升夜间或弱光环境下的观看舒适度。 |
|
|
117
|
+
| `device-operation` | `references/device-operation.md` | 设备电源与屏幕控制工具,支持开机、关机、重启、待机、休眠、灭屏、亮屏、锁屏等操作,并可结合定时、二次确认与指定应用执行。 |
|
|
118
|
+
| `status-bar-show` | `references/status-bar-show.md` | 状态栏显示统一管理工具。支持对运营商名称、实时网速、流量、通知与纯净模式进行开启、关闭、设置与查询,并可结合指定应用执行显示策略。 |
|
|
119
|
+
| `autoscreen-onnotice` | `references/autoscreen-onnotice.md` | 管理收到通知时自动亮屏功能。支持开启/关闭、进入设置、查询当前状态,并可按指定应用进行精细化控制。 |
|
|
120
|
+
| `battery` | `references/battery.md` | 设备电量与模式管理工具。支持设置、查询、打开或关闭电量相关功能,包括电量使用情况与剩余电量查询、性能/省电/超级省电模式切换、进入各类与电量相关的设置页面,以及电量百分比显示位置配置。支持多种设备的电量查询与模式切换,如蓝牙设备。 |
|
|
121
|
+
| `audio-record` | `references/audio-record.md` | 统一管理设备音频录制功能,支持录音、通话录音、播放与文件管理;可执行录制启停、播放控制及内容增删等操作。 |
|
|
122
|
+
| `camera` | `references/camera.md` | 相机控制工具。支持拍照、录像、自拍与模式的设置/查询/开启/关闭,使用时需明确动作类型、目标对象,并按需指定模式与摄像头。 |
|
|
119
123
|
|
|
120
124
|
### Command and Parameters Construction Workflow
|
|
121
125
|
|
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: app.uninstall
|
|
3
|
+
description: >
|
|
4
|
+
应用卸载工具。用于执行已安装应用的卸载操作,专注于卸载动作本身,不涉及数据清理策略、账号处理或任何 App 内操作。
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Uninstall App 应用卸载
|
|
8
|
+
|
|
9
|
+
## Tool Command
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
app.uninstall
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## 集成工作流
|
|
16
|
+
|
|
17
|
+
### Step 1: 意图解析与参数组装
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
21
|
+
│ Step 1: 意图识别与参数提取 │
|
|
22
|
+
│ - 识别操作意图: 卸载 + 应用 │
|
|
23
|
+
│ - 提取应用名称: 精确匹配用户提到的App名或别名 │
|
|
24
|
+
│ - 提取确认意图: 确认/取消等二次确认表述 │
|
|
25
|
+
│ - 特殊处理: "卸了/卸掉/移除/删除应用"等同义词统一识别 │
|
|
26
|
+
└─────────────────────────────────────────────────────────────┘
|
|
27
|
+
↓
|
|
28
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
29
|
+
│ Step 2: 用户提供[应用名/app]未提供[包名/pkgName]时,通过应用名称解析包名 │
|
|
30
|
+
│ 1. 优先查询下文的 app_name_to_pkgName 高频应用表 │
|
|
31
|
+
│ 2. 若未匹配,查询 references/app_name_to_pkgName.md 知识库 │
|
|
32
|
+
│ 3. 若仍未匹配,通过网络搜索查找包名 │
|
|
33
|
+
│ 4. 若匹配到多个结果 → 请用户选择 │
|
|
34
|
+
│ 5. 若最终无匹配结果 → 提示用户:暂时找不到这个app │
|
|
35
|
+
└─────────────────────────────────────────────────────────────┘
|
|
36
|
+
↓
|
|
37
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
38
|
+
│ Step 3: 用户提供[包名/pkgName]未提供[应用名/app]时,通过包名解析应用名称 │
|
|
39
|
+
│ 调用: app_name_to_pkgName,用App包名去查找App名称 │
|
|
40
|
+
│ 若匹配到多个结果 → 请用户选择 │
|
|
41
|
+
│ 若无匹配结果 → 通知用户并请求提供应用名称 │
|
|
42
|
+
└─────────────────────────────────────────────────────────────┘
|
|
43
|
+
↓
|
|
44
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
45
|
+
│ Step 4: 消歧与槽位填充 │
|
|
46
|
+
│ - 未指定应用时,需向用户追问具体App或范围 │
|
|
47
|
+
│ - 指代不明且多命中时,使用sequence消歧 │
|
|
48
|
+
│ - 当用户说“所有应用”,优先填写app=all │
|
|
49
|
+
│ - 必须进行二次确认,confirmState缺失需追问 │
|
|
50
|
+
│ - 验证规则:校验应用名称有效性(系统已安装) │
|
|
51
|
+
└─────────────────────────────────────────────────────────────┘
|
|
52
|
+
↓
|
|
53
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
54
|
+
│ Step 5: 生成工具调用 │
|
|
55
|
+
│ - 组装参数 │
|
|
56
|
+
│ - 生成平台特定的命令格式 │
|
|
57
|
+
└─────────────────────────────────────────────────────────────┘
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Step 2: 执行调用
|
|
61
|
+
|
|
62
|
+
- 根据操作系统选择对应的命令格式
|
|
63
|
+
- Windows: Cmd 格式(双引号需转义)
|
|
64
|
+
- Linux: Bash 格式(单引号包裹)
|
|
65
|
+
|
|
66
|
+
## 参数定义
|
|
67
|
+
|
|
68
|
+
```json
|
|
69
|
+
{
|
|
70
|
+
"app": {
|
|
71
|
+
"description": "必填参数,需要卸载的应用名称,指定具体应用 → 填写真实应用名称,如果用户提到是所有应用,则输出all",
|
|
72
|
+
"type": "string"
|
|
73
|
+
},
|
|
74
|
+
"pkgName": {
|
|
75
|
+
"type": "string",
|
|
76
|
+
"description": "必填参数,应用包名。按照集成工作流中的查找顺序(高频表→知识库→网络搜索)获取包名。"
|
|
77
|
+
},
|
|
78
|
+
"sequence": {
|
|
79
|
+
"type": "array",
|
|
80
|
+
"description": "列表序号,当需要用户进行列表选择的时候,此参数生效。如用户说第一个:sequence=第一。"
|
|
81
|
+
},
|
|
82
|
+
"confirmState": {
|
|
83
|
+
"type": "string",
|
|
84
|
+
"enum": ["cancel", "confirm"],
|
|
85
|
+
"description": "必填参数,二次确认的回答,涉及二次确认回答的归一化类型,如确认、取消"
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### 参数注意事项
|
|
91
|
+
|
|
92
|
+
1. **包名查找顺序**: 高频应用表 → 知识库 references/app_name_to_pkgName.md → 网络搜索 → 提示找不到
|
|
93
|
+
2. **序号选择**: `sequence` 需保持与用户原始输入一致的表述形式(如"第一"、"倒数第二个"、"3")
|
|
94
|
+
3. **未找到应用**: 若通过上述流程仍找不到应用,提示用户"暂时找不到这个app"。
|
|
95
|
+
4. **二次确认**: 为了避免误操作,必须与用户进行二次确认,`confirmState`缺失时需追问后再执行。
|
|
96
|
+
|
|
97
|
+
## app_name_to_pkgName(高频应用表)
|
|
98
|
+
|
|
99
|
+
| app | pkgName |
|
|
100
|
+
| :--------- | :----------------------------- |
|
|
101
|
+
| 手机淘宝 | com.taobao.taobao |
|
|
102
|
+
| 支付宝 | com.eg.android.AlipayGphone |
|
|
103
|
+
| 微信 | com.tencent.mm |
|
|
104
|
+
| QQ | com.tencent.mobileqq |
|
|
105
|
+
| 抖音短视频 | com.ss.android.ugc.aweme |
|
|
106
|
+
| 小红书 | com.xingin.xhs |
|
|
107
|
+
| 美团 | com.sankuai.meituan |
|
|
108
|
+
| 美团外卖 | com.sankuai.meituan.takeoutnew |
|
|
109
|
+
| 京东 | com.jingdong.app.mall |
|
|
110
|
+
| 拼多多 | com.xunmeng.pinduoduo |
|
|
111
|
+
| 高德地图 | com.autonavi.minimap |
|
|
112
|
+
| 百度地图 | com.baidu.BaiduMap |
|
|
113
|
+
| 爱奇艺 | com.qiyi.video |
|
|
114
|
+
| 腾讯视频 | com.tencent.qqlive |
|
|
115
|
+
| 微博 | com.sina.weibo |
|
|
116
|
+
| 今日头条 | com.ss.android.article.news |
|
|
117
|
+
|
|
118
|
+
## 回复语规则
|
|
119
|
+
|
|
120
|
+
| 执行结果 | 回复语 |
|
|
121
|
+
| :------- | :--------------------------------------------------------------------------------- |
|
|
122
|
+
| **成功** | "好的" |
|
|
123
|
+
| **失败** | 根据返回的错误信息输出具体原因,如:"打开失败,应用未安装"、"打开失败,权限不足"等 |
|
|
124
|
+
|
|
125
|
+
## Query 示例及输出
|
|
126
|
+
|
|
127
|
+
### 示例 1: 通过应用名卸载指定应用
|
|
128
|
+
|
|
129
|
+
**用户输入**: "把微信给我卸了"
|
|
130
|
+
**用户二次确认**: "好的"
|
|
131
|
+
**工具**: "app.uninstall"
|
|
132
|
+
|
|
133
|
+
**JSON 参数**:
|
|
134
|
+
|
|
135
|
+
```json
|
|
136
|
+
{
|
|
137
|
+
"app": "微信",
|
|
138
|
+
"pkgName": "com.tencent.mm",
|
|
139
|
+
"confirmState": "confirm"
|
|
140
|
+
}
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
**Windows (Cmd) 执行命令**:
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
cmd /c 'openclaw nodes invoke --node <ID> --command app.uninstall --params "{\"app\":\"微信\",\"pkgName\":\"com.tencent.mm\",\"confirmState\":\"confirm\"}"'
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
**Linux (Bash) 执行命令**:
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
openclaw nodes invoke --node <ID> --command app.uninstall --params '{"app":"微信","pkgName":"com.tencent.mm","confirmState":"confirm"}'
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
### 示例 2: 卸载倒数第二个同名应用
|
|
158
|
+
|
|
159
|
+
**用户输入**: "帮我卸载倒数第二个CNTV5+VIP应用吧"
|
|
160
|
+
**用户二次确认**: "好的"
|
|
161
|
+
**工具**: "app.uninstall"
|
|
162
|
+
|
|
163
|
+
**JSON 参数**:
|
|
164
|
+
|
|
165
|
+
```json
|
|
166
|
+
{
|
|
167
|
+
"app": "CNTV5+VIP",
|
|
168
|
+
"pkgName": "com.cntv.live",
|
|
169
|
+
"sequence": "倒数第二",
|
|
170
|
+
"confirmState": "confirm"
|
|
171
|
+
}
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
**Windows (Cmd) 执行命令**:
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
cmd /c 'openclaw nodes invoke --node <ID> --command app.uninstall --params "{\"app\":\"CNTV5+VIP\",\"pkgName\":\"com.cntv.live\",\"sequence\":\"倒数第二\",\"confirmState\":\"confirm\"}"'
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
**Linux (Bash) 执行命令**:
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
openclaw nodes invoke --node <ID> --command app.uninstall --params '{"app":"CNTV5+VIP","pkgName":"com.cntv.live","sequence":"倒数第二","confirmState":"confirm"}'
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
### 示例 3: 通过包名卸载指定应用
|
|
189
|
+
|
|
190
|
+
**用户输入**: "帮我卸载 com.tencent.mm"
|
|
191
|
+
**用户二次确认**: "好的"
|
|
192
|
+
**工具**: "app.uninstall"
|
|
193
|
+
|
|
194
|
+
**JSON 参数**:
|
|
195
|
+
|
|
196
|
+
```json
|
|
197
|
+
{
|
|
198
|
+
"app": "微信",
|
|
199
|
+
"pkgName": "com.tencent.mm",
|
|
200
|
+
"confirmState": "confirm"
|
|
201
|
+
}
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
**Windows (Cmd) 执行命令**:
|
|
205
|
+
|
|
206
|
+
```bash
|
|
207
|
+
cmd /c 'openclaw nodes invoke --node <ID> --command app.uninstall --params "{\"app\":\"微信\",\"pkgName\":\"com.tencent.mm\",\"confirmState\":\"confirm\"}"'
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
**Linux (Bash) 执行命令**:
|
|
211
|
+
|
|
212
|
+
```bash
|
|
213
|
+
openclaw nodes invoke --node <ID> --command app.uninstall --params '{"app":"微信","pkgName":"com.tencent.mm","confirmState":"confirm"}'
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
### 示例 4: 知识库/网络搜索查找应用
|
|
219
|
+
|
|
220
|
+
**用户输入**: "卸载网易云音乐"
|
|
221
|
+
**查找流程**:
|
|
222
|
+
|
|
223
|
+
1. 高频应用表:未找到
|
|
224
|
+
2. 查询 references/app_name_to_pkgName.md 知识库
|
|
225
|
+
3. 若知识库中找到:pkgName = "com.netease.cloudmusic"
|
|
226
|
+
**用户二次确认**: "好的"
|
|
227
|
+
**工具**: "app.uninstall"
|
|
228
|
+
|
|
229
|
+
**JSON 参数**:
|
|
230
|
+
|
|
231
|
+
```json
|
|
232
|
+
{
|
|
233
|
+
"app": "网易云音乐",
|
|
234
|
+
"pkgName": "com.netease.cloudmusic",
|
|
235
|
+
"confirmState": "confirm"
|
|
236
|
+
}
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
**Windows (Cmd) 执行命令**:
|
|
240
|
+
|
|
241
|
+
```bash
|
|
242
|
+
cmd /c 'openclaw nodes invoke --node <ID> --command app.uninstall --params "{\"app\":\"网易云音乐\",\"pkgName\":\"com.netease.cloudmusic\",\"confirmState\":\"confirm\"}"'
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
**Linux (Bash) 执行命令**:
|
|
246
|
+
|
|
247
|
+
```bash
|
|
248
|
+
openclaw nodes invoke --node <ID> --command app.uninstall --params '{"app":"网易云音乐","pkgName":"com.netease.cloudmusic","confirmState":"confirm"}'
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
---
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: audio-record
|
|
3
|
+
description: >
|
|
4
|
+
统一管理设备音频功能,支持录音、通话录音、播放与文件管理;可执行录制启停、播放控制及内容增删等操作。
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# audio-record 音频控制与录音管理
|
|
8
|
+
|
|
9
|
+
## Tool Command
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
audio-record
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## 集成工作流
|
|
16
|
+
|
|
17
|
+
### Step 1: 意图解析与参数组装
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
21
|
+
│ 意图识别与参数提取 │
|
|
22
|
+
│ - 识别操作类型: 设置/查询/录制/停止/播放/添加/删除 │
|
|
23
|
+
│ - 识别操作对象: 录音/通话录音 │
|
|
24
|
+
│ - 提取修饰词: 应用名称(app) │
|
|
25
|
+
│ - 判断功能开关语义: 打开/关闭 意义判定 │
|
|
26
|
+
│ - 特殊处理: "开始/结束录音" → 录制/停止 │
|
|
27
|
+
│ - 特殊处理: "清理/移除" → 删除;"回放" → 播放 │
|
|
28
|
+
└─────────────────────────────────────────────────────────────┘
|
|
29
|
+
↓
|
|
30
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
31
|
+
│ 消歧与槽位填充 │
|
|
32
|
+
│ - 未指定 target 时,默认为 录音 │
|
|
33
|
+
│ - "打开通话录音" → actionType 设为 设置 │
|
|
34
|
+
│ - "打开录音" → actionType 设为 录制;"关闭录音" → 停止 │
|
|
35
|
+
│ - app 仅当用户明确点名应用时填写 │
|
|
36
|
+
│ - 验证 app 是否有效(存在且可用) │
|
|
37
|
+
└─────────────────────────────────────────────────────────────┘
|
|
38
|
+
↓
|
|
39
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
40
|
+
│ 生成工具调用 │
|
|
41
|
+
│ - 组装 actionType, target 及可选参数(app) │
|
|
42
|
+
│ - 生成平台特定的命令格式 │
|
|
43
|
+
└─────────────────────────────────────────────────────────────┘
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Step 2: 执行调用
|
|
47
|
+
|
|
48
|
+
- 根据操作系统选择对应的命令格式
|
|
49
|
+
- Windows: Cmd 格式(双引号需转义)
|
|
50
|
+
- Linux: Bash 格式(单引号包裹)
|
|
51
|
+
|
|
52
|
+
## 参数定义
|
|
53
|
+
|
|
54
|
+
```json
|
|
55
|
+
{
|
|
56
|
+
"actionType": {
|
|
57
|
+
"type": "string",
|
|
58
|
+
"enum": ["设置", "查询", "录制", "停止", "播放", "添加", "删除"],
|
|
59
|
+
"description": "必填参数,音频相关操作的核心动作类型。当需要进入音频功能的配置页面或调整相关参数时使用设置;当获取音频功能状态或音频内容信息时使用查询;当启用音频功能或相关服务时使用打开;当停用音频功能或相关服务时使用关闭;当开始采集声音内容时使用录制;当结束当前录制行为时使用停止;当回放已录制或已有的音频内容时使用播放;当向音频列表中新增音频内容时使用添加;当移除已存在的音频内容时使用删除。"
|
|
60
|
+
},
|
|
61
|
+
"target": {
|
|
62
|
+
"type": "string",
|
|
63
|
+
"enum": ["录音", "通话录音"],
|
|
64
|
+
"description": "必填参数,音频操作的具体对象,用于限定 actionType 的作用范围。当涉及通过麦克风进行普通声音采集时使用录音;当涉及电话通话过程中的音频记录时使用通话录音。"
|
|
65
|
+
},
|
|
66
|
+
"app": {
|
|
67
|
+
"type": "string",
|
|
68
|
+
"description": "指定执行音频相关操作的应用名称。当明确要求在某个录音应用、通话应用或特定系统入口中进行音频操作时填写。"
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### 参数注意事项
|
|
74
|
+
|
|
75
|
+
1. **同义词/间接表述映射**: "开始/开始录音/开始录制"→`录制`;"停止/结束录音"→`停止`;"清理/移除/删除文件"→`删除`;"播放/回放"→`播放`;当语义为功能开关时:"打开/开启/启用"→`设置`(启用开关)、"关闭/禁用/停用"→`设置`(关闭开关)。
|
|
76
|
+
2. **默认值或缺省行为**: 未明确`target`时,默认理解为`录音`;未指定`app`时,默认使用系统内置的录音/通话录音入口。
|
|
77
|
+
3. **参数间关联/依赖关系**: 当`target`为`录音`且用户表述为"打开/开始录音"时,`actionType`填`录制`;当表述为"关闭录音"时,`actionType`填`停止`。当`target`为`通话录音`且用户表述为"打开/关闭通话录音"时,`actionType`统一填`设置`以表示开关配置行为。
|
|
78
|
+
4. **可选参数填写条件**: 仅当用户明确点名具体应用(如某第三方录音或通话应用)时填写`app`,否则不填写以避免误导。
|
|
79
|
+
|
|
80
|
+
## Query 示例及输出
|
|
81
|
+
|
|
82
|
+
### 示例 1: 清理普通录音文件
|
|
83
|
+
|
|
84
|
+
**用户输入**: "清理录音文件"
|
|
85
|
+
|
|
86
|
+
**工具**: "audio-record"
|
|
87
|
+
|
|
88
|
+
**JSON 参数**:
|
|
89
|
+
|
|
90
|
+
```json
|
|
91
|
+
{
|
|
92
|
+
"actionType": "删除",
|
|
93
|
+
"target": "录音"
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
**Windows (Cmd) 执行命令**:
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
cmd /c 'openclaw nodes invoke --node <ID> --command audio-record --params "{\"actionType\":\"删除\",\"target\":\"录音\"}"'
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
**Linux (Bash) 执行命令**:
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
openclaw nodes invoke --node <ID> --command audio-record --params '{"actionType":"删除","target":"录音"}'
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
### 示例 2: 开始普通录音
|
|
112
|
+
|
|
113
|
+
**用户输入**: "录音"
|
|
114
|
+
|
|
115
|
+
**工具**: "audio-record"
|
|
116
|
+
|
|
117
|
+
**JSON 参数**:
|
|
118
|
+
|
|
119
|
+
```json
|
|
120
|
+
{
|
|
121
|
+
"actionType": "录制",
|
|
122
|
+
"target": "录音"
|
|
123
|
+
}
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
**Windows (Cmd) 执行命令**:
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
cmd /c 'openclaw nodes invoke --node <ID> --command audio-record --params "{\"actionType\":\"录制\",\"target\":\"录音\"}"'
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
**Linux (Bash) 执行命令**:
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
openclaw nodes invoke --node <ID> --command audio-record --params '{"actionType":"录制","target":"录音"}'
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
### 示例 3: 打开通话录音功能(开关配置)
|
|
141
|
+
|
|
142
|
+
**用户输入**: "打开通话录音"
|
|
143
|
+
|
|
144
|
+
**工具**: "audio-record"
|
|
145
|
+
|
|
146
|
+
**JSON 参数**:
|
|
147
|
+
|
|
148
|
+
```json
|
|
149
|
+
{
|
|
150
|
+
"actionType": "设置",
|
|
151
|
+
"target": "通话录音"
|
|
152
|
+
}
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
**Windows (Cmd) 执行命令**:
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
cmd /c 'openclaw nodes invoke --node <ID> --command audio-record --params "{\"actionType\":\"设置\",\"target\":\"通话录音\"}"'
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
**Linux (Bash) 执行命令**:
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
openclaw nodes invoke --node <ID> --command audio-record --params '{"actionType":"设置","target":"通话录音"}'
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
### 示例 4: 查询通话录音内容
|
|
170
|
+
|
|
171
|
+
**用户输入**: "帮我查一下昨天下午的通话录音"
|
|
172
|
+
|
|
173
|
+
**工具**: "audio-record"
|
|
174
|
+
|
|
175
|
+
**JSON 参数**:
|
|
176
|
+
|
|
177
|
+
```json
|
|
178
|
+
{
|
|
179
|
+
"actionType": "查询",
|
|
180
|
+
"target": "通话录音"
|
|
181
|
+
}
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
**Windows (Cmd) 执行命令**:
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
cmd /c 'openclaw nodes invoke --node <ID> --command audio-record --params "{\"actionType\":\"查询\",\"target\":\"通话录音\"}"'
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
**Linux (Bash) 执行命令**:
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
openclaw nodes invoke --node <ID> --command audio-record --params '{"actionType":"查询","target":"通话录音"}'
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
### 示例 5: 播放通话录音
|
|
199
|
+
|
|
200
|
+
**用户输入**: "播放一下通话录音"
|
|
201
|
+
|
|
202
|
+
**工具**: "audio-record"
|
|
203
|
+
|
|
204
|
+
**JSON 参数**:
|
|
205
|
+
|
|
206
|
+
```json
|
|
207
|
+
{
|
|
208
|
+
"actionType": "播放",
|
|
209
|
+
"target": "通话录音"
|
|
210
|
+
}
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
**Windows (Cmd) 执行命令**:
|
|
214
|
+
|
|
215
|
+
```bash
|
|
216
|
+
cmd /c 'openclaw nodes invoke --node <ID> --command audio-record --params "{\"actionType\":\"播放\",\"target\":\"通话录音\"}"'
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
**Linux (Bash) 执行命令**:
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
openclaw nodes invoke --node <ID> --command audio-record --params '{"actionType":"播放","target":"通话录音"}'
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
---
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: battery
|
|
3
|
+
description: >
|
|
4
|
+
设备电量与模式管理工具。支持设置、查询、打开或关闭电量相关功能,包括电量使用情况与剩余电量查询、性能/省电/超级省电模式切换,以及电量百分比显示位置配置。支持多种设备的电量查询与模式切换,如蓝牙设备。
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Battery 电量管理
|
|
8
|
+
|
|
9
|
+
## Tool Command
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
battery
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## 集成工作流
|
|
16
|
+
|
|
17
|
+
### Step 1: 意图解析与参数组装
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
21
|
+
│ 意图识别与参数提取 │
|
|
22
|
+
│ - 识别操作类型: 设置/查询/打开/关闭 │
|
|
23
|
+
│ - 识别操作对象: 电量/百分比显示方式/使用情况/剩余电量/各类模式│
|
|
24
|
+
│ - 提取位置设置: 电池内/电池外 │
|
|
25
|
+
│ - 提取设备名称: 具体设备名(如手机、耳机、耳机盒子) │
|
|
26
|
+
│ - 提取应用名称: 指定单个应用(如微信) │
|
|
27
|
+
│ - 特殊处理: "显示电量百分比"等同义词统一识别为百分比显示方式 │
|
|
28
|
+
│ - 特殊处理: "开启/打开" → 映射为打开,"关闭/停用" → 映射为关闭 │
|
|
29
|
+
└─────────────────────────────────────────────────────────────┘
|
|
30
|
+
↓
|
|
31
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
32
|
+
│ 消歧与槽位填充 │
|
|
33
|
+
│ - 未指定操作对象时,默认对电量整体进行查询 │
|
|
34
|
+
│ - positionType仅当涉及百分比显示方式且用户指定位置时填写 │
|
|
35
|
+
│ - device仅当用户明确指定非本机设备时填写 │
|
|
36
|
+
│ - app仅在查询使用情况或耗电排行时填写 │
|
|
37
|
+
│ - 应用级操作需验证应用名称有效性 │
|
|
38
|
+
└─────────────────────────────────────────────────────────────┘
|
|
39
|
+
↓
|
|
40
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
41
|
+
│ 生成工具调用 │
|
|
42
|
+
│ - 组装 actionType, target 及可选参数(positionType, device, app)│
|
|
43
|
+
│ - 生成平台特定的命令格式 │
|
|
44
|
+
└─────────────────────────────────────────────────────────────┘
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Step 2: 执行调用
|
|
48
|
+
|
|
49
|
+
- 根据操作系统选择对应的命令格式
|
|
50
|
+
- Windows: Cmd 格式(双引号需转义)
|
|
51
|
+
- Linux: Bash 格式(单引号包裹)
|
|
52
|
+
|
|
53
|
+
## 参数定义
|
|
54
|
+
|
|
55
|
+
```json
|
|
56
|
+
{
|
|
57
|
+
"actionType": {
|
|
58
|
+
"type": "string",
|
|
59
|
+
"enum": ["设置", "查询", "打开", "关闭"],
|
|
60
|
+
"description": "必填参数,电量相关操作的动作类型,用于明确本次指令的主要行为。当涉及调整电量显示方式、使用模式或充电与耗电相关配置时使用设置;当获取当前电量状态、使用情况或统计信息时使用查询;当要求启用某项电量相关功能或模式时使用打开;当要求停用某项电量相关功能或模式时使用关闭。"
|
|
61
|
+
},
|
|
62
|
+
"target": {
|
|
63
|
+
"type": "string",
|
|
64
|
+
"enum": [
|
|
65
|
+
"电量",
|
|
66
|
+
"百分比显示方式",
|
|
67
|
+
"使用情况",
|
|
68
|
+
"剩余电量",
|
|
69
|
+
"性能模式",
|
|
70
|
+
"省电模式",
|
|
71
|
+
"超级省电模式",
|
|
72
|
+
"智能充电模式",
|
|
73
|
+
"耗电优化",
|
|
74
|
+
"耗电排行"
|
|
75
|
+
],
|
|
76
|
+
"description": "必填参数,电量操作或查询的具体对象,用于限定 actionType 的作用范围。当关注整体电池状态时使用电量;当调整电量百分比展示形式时使用百分比显示方式;当查看各功能或应用的电量消耗情况时使用使用情况或耗电排行;当查询当前可用续航时使用剩余电量;当切换不同电量使用策略时使用对应的性能模式、省电模式或超级省电模式;当涉及充电行为与耗电控制时使用智能充电模式或耗电优化。"
|
|
77
|
+
},
|
|
78
|
+
"positionType": {
|
|
79
|
+
"type": "string",
|
|
80
|
+
"enum": ["电池外", "电池内"],
|
|
81
|
+
"description": "电量百分比在状态栏电池图标中的显示位置设置项。用于控制电量百分比显示在电池图标的外部或内部。"
|
|
82
|
+
},
|
|
83
|
+
"device": {
|
|
84
|
+
"type": "string",
|
|
85
|
+
"description": "指定需要进行电量相关操作或查询的设备名称。当涉及多设备管理或明确指定某一设备时填写。"
|
|
86
|
+
},
|
|
87
|
+
"app": {
|
|
88
|
+
"type": "string",
|
|
89
|
+
"description": "指定执行电量查询或参与耗电统计的应用名称。当需要查看某个具体应用的耗电情况或对其进行电量优化时填写。"
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### 参数注意事项
|
|
95
|
+
|
|
96
|
+
1. 必填参数取值:`actionType` 与 `target` 均为必填参数,且 `actionType` 与 `target` 的取值必须在枚举列表中。`actionType` 与 `target` 必须同时出现,`target`的值用于限定`actionType`的作用范围。
|
|
97
|
+
2. 同义词/间接表述映射: `"开启/打开"→"打开"、"关闭/停用"→"关闭";"显示电量百分比/电量百分比"→target 填写"百分比显示方式";"耗电量/用电数"→target 填写"电量";"电量剩多少/还剩多少电"→target 填写"剩余电量";"高性能/游戏加速"→"性能模式";"省电/节电"→"省电模式";"超级省电/极限省电"→"超级省电模式"。`
|
|
98
|
+
3. 默认值或缺省行为: `未明确 target 时,默认按"电量"进行查询;无法从用户动词识别 actionType 时,默认执行"查询"。`
|
|
99
|
+
4. 可选参数填写条件: `positionType 仅在 target 为"百分比显示方式"时填写;app 仅在 target 为"使用情况"或"耗电排行"时填写;device 仅在用户明确指定非本机设备时填写。`
|
|
100
|
+
5. 参数间关联/互斥关系:
|
|
101
|
+
1. 当 target 为各类模式(性能/省电/超级省电/智能充电/耗电优化)时,不应填写 positionType;
|
|
102
|
+
2. 当 target 为"百分比显示方式",且 positionType 存在有效取值时,actionType 必须设置为 `打开` 或 `关闭`;
|
|
103
|
+
3. 查询使用情况时填写 app 表示按该应用过滤。
|
|
104
|
+
6. 特殊参数处理:
|
|
105
|
+
1. 当查看具体应用的耗电情况时,app 参数必须填写,且 target 为 "使用情况";
|
|
106
|
+
2. 当单纯查看耗电量是,actionType 必须设置为 "查询",且 target 为 "电量"。
|
|
107
|
+
|
|
108
|
+
## Query 示例及输出
|
|
109
|
+
|
|
110
|
+
### 示例 1: 打开省电模式
|
|
111
|
+
|
|
112
|
+
**用户输入**: "打开省电模式"
|
|
113
|
+
|
|
114
|
+
**工具**: "battery"
|
|
115
|
+
|
|
116
|
+
**JSON 参数**:
|
|
117
|
+
|
|
118
|
+
```json
|
|
119
|
+
{
|
|
120
|
+
"actionType": "打开",
|
|
121
|
+
"target": "省电模式"
|
|
122
|
+
}
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
**Windows (Cmd) 执行命令**:
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
cmd /c 'openclaw nodes invoke --node <ID> --command battery --params "{\"actionType\":\"打开\",\"target\":\"省电模式\"}"'
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
**Linux (Bash) 执行命令**:
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
openclaw nodes invoke --node <ID> --command battery --params '{"actionType":"打开","target":"省电模式"}'
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
### 示例 2: 电池百分比显示在电池内
|
|
140
|
+
|
|
141
|
+
**用户输入**: "电池百分比显示在电池内"
|
|
142
|
+
|
|
143
|
+
**工具**: "battery"
|
|
144
|
+
|
|
145
|
+
**JSON 参数**:
|
|
146
|
+
|
|
147
|
+
```json
|
|
148
|
+
{
|
|
149
|
+
"actionType": "打开",
|
|
150
|
+
"target": "百分比显示方式",
|
|
151
|
+
"positionType": "电池内"
|
|
152
|
+
}
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
**Windows (Cmd) 执行命令**:
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
cmd /c 'openclaw nodes invoke --node <ID> --command battery --params "{\"actionType\":\"打开\",\"target\":\"百分比显示方式\",\"positionType\":\"电池内\"}"'
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
**Linux (Bash) 执行命令**:
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
openclaw nodes invoke --node <ID> --command battery --params '{"actionType":"打开","target":"百分比显示方式","positionType":"电池内"}'
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
### 示例 3: 查询设备剩余电量
|
|
170
|
+
|
|
171
|
+
**用户输入**: "查询设备剩余电量"
|
|
172
|
+
|
|
173
|
+
**工具**: "battery"
|
|
174
|
+
|
|
175
|
+
**JSON 参数**:
|
|
176
|
+
|
|
177
|
+
```json
|
|
178
|
+
{
|
|
179
|
+
"actionType": "查询",
|
|
180
|
+
"target": "剩余电量"
|
|
181
|
+
}
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
**Windows (Cmd) 执行命令**:
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
cmd /c 'openclaw nodes invoke --node <ID> --command battery --params "{\"actionType\":\"查询\",\"target\":\"剩余电量\"}"'
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
**Linux (Bash) 执行命令**:
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
openclaw nodes invoke --node <ID> --command battery --params '{"actionType":"查询","target":"剩余电量"}'
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
### 示例 4: 查看微信app耗电量
|
|
199
|
+
|
|
200
|
+
**用户输入**: "查看微信app耗电量"
|
|
201
|
+
|
|
202
|
+
**工具**: "battery"
|
|
203
|
+
|
|
204
|
+
**JSON 参数**:
|
|
205
|
+
|
|
206
|
+
```json
|
|
207
|
+
{
|
|
208
|
+
"actionType": "查询",
|
|
209
|
+
"target": "使用情况",
|
|
210
|
+
"app": "微信"
|
|
211
|
+
}
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
**Windows (Cmd) 执行命令**:
|
|
215
|
+
|
|
216
|
+
```bash
|
|
217
|
+
cmd /c 'openclaw nodes invoke --node <ID> --command battery --params "{\"actionType\":\"查询\",\"target\":\"使用情况\",\"app\":\"微信\"}"'
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
**Linux (Bash) 执行命令**:
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
openclaw nodes invoke --node <ID> --command battery --params '{"actionType":"查询","target":"使用情况","app":"微信"}'
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
### 示例 5: 查询耳机盒子的电量
|
|
229
|
+
|
|
230
|
+
**用户输入**: "查询耳机盒子的电量。"
|
|
231
|
+
|
|
232
|
+
**工具**: "battery"
|
|
233
|
+
|
|
234
|
+
**JSON 参数**:
|
|
235
|
+
|
|
236
|
+
```json
|
|
237
|
+
{
|
|
238
|
+
"actionType": "查询",
|
|
239
|
+
"target": "电量",
|
|
240
|
+
"device": "耳机盒子"
|
|
241
|
+
}
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
**Windows (Cmd) 执行命令**:
|
|
245
|
+
|
|
246
|
+
```bash
|
|
247
|
+
cmd /c 'openclaw nodes invoke --node <ID> --command battery --params "{\"actionType\":\"查询\",\"target\":\"电量\",\"device\":\"耳机盒子\"}"'
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
**Linux (Bash) 执行命令**:
|
|
251
|
+
|
|
252
|
+
```bash
|
|
253
|
+
openclaw nodes invoke --node <ID> --command battery --params '{"actionType":"查询","target":"电量","device":"耳机盒子"}'
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
### 示例 6: 进入设置页面
|
|
259
|
+
|
|
260
|
+
**用户输入**: "进入电量百分比显示方式设置页面"
|
|
261
|
+
|
|
262
|
+
**工具**: "battery"
|
|
263
|
+
|
|
264
|
+
**JSON 参数**:
|
|
265
|
+
|
|
266
|
+
```json
|
|
267
|
+
{
|
|
268
|
+
"actionType": "设置",
|
|
269
|
+
"target": "省电模式"
|
|
270
|
+
}
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
**Windows (Cmd) 执行命令**:
|
|
274
|
+
|
|
275
|
+
```bash
|
|
276
|
+
cmd /c 'openclaw nodes invoke --node <ID> --command battery --params "{\"actionType\":\"设置\",\"target\":\"省电模式\"}"'
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
**Linux (Bash) 执行命令**:
|
|
280
|
+
|
|
281
|
+
```bash
|
|
282
|
+
openclaw nodes invoke --node <ID> --command battery --params '{"actionType":"设置","target":"省电模式"}'
|
|
283
|
+
```
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: camera
|
|
3
|
+
description: >
|
|
4
|
+
相机控制工具。支持拍照、录像、自拍与模式的设置/查询/开启/关闭,使用时需明确动作类型、目标对象,并按需指定模式与摄像头。
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Camera 相机
|
|
8
|
+
|
|
9
|
+
## Tool Command
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
camera
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## 集成工作流
|
|
16
|
+
|
|
17
|
+
### Step 1: 意图解析与参数组装
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
21
|
+
│ 意图识别与参数提取 │
|
|
22
|
+
│ - 识别操作类型: 设置/查询/打开/关闭 │
|
|
23
|
+
│ - 识别操作对象: 拍照/录像/自拍/模式 │
|
|
24
|
+
│ - 提取模式名称: 夜景/人像/慢动作/闪光灯等 │
|
|
25
|
+
│ - 提取摄像头类型: 前置/后置/广角/微距等 │
|
|
26
|
+
│ - 提取应用名称: 相机/第三方拍照应用 │
|
|
27
|
+
│ - 特殊处理: "录影/摄像" → 映射为录像 │
|
|
28
|
+
│ - 特殊处理: "照相/拍张" → 映射为拍照 │
|
|
29
|
+
└─────────────────────────────────────────────────────────────┘
|
|
30
|
+
↓
|
|
31
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
32
|
+
│ 消歧与槽位填充 │
|
|
33
|
+
│ - 未指定 target 时,依据动词推断或追问 │
|
|
34
|
+
│ - 未指定 actionType 时,按动词映射或追问 │
|
|
35
|
+
│ - 未指明摄像头: 拍照/录像默认后置,自拍默认前置 │
|
|
36
|
+
│ - mode 仅在用户明确提及时填写 │
|
|
37
|
+
│ - "开启/启动"→打开;"停止/结束/退出"→关闭 │
|
|
38
|
+
│ - app 仅当用户点名应用时填写 │
|
|
39
|
+
└─────────────────────────────────────────────────────────────┘
|
|
40
|
+
↓
|
|
41
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
42
|
+
│ 生成工具调用 │
|
|
43
|
+
│ - 组装 actionType, target 及可选参数(mode, camera, app) │
|
|
44
|
+
│ - 生成平台特定的命令格式 │
|
|
45
|
+
└─────────────────────────────────────────────────────────────┘
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Step 2: 执行调用
|
|
49
|
+
|
|
50
|
+
- 根据操作系统选择对应的命令格式
|
|
51
|
+
- Windows: Cmd 格式(双引号需转义)
|
|
52
|
+
- Linux: Bash 格式(单引号包裹)
|
|
53
|
+
|
|
54
|
+
## 参数定义
|
|
55
|
+
|
|
56
|
+
```json
|
|
57
|
+
{
|
|
58
|
+
"actionType": {
|
|
59
|
+
"type": "string",
|
|
60
|
+
"enum": ["设置", "查询", "打开", "关闭"],
|
|
61
|
+
"description": "必填参数,相机相关操作的动作类型,用于明确本次指令的主要行为。当涉及调整相机功能配置或拍摄参数时使用设置;当获取当前相机状态、模式或配置信息时使用查询;当要求启动相机功能以进入拍摄界面时使用打开;当要求退出或停止相机功能时使用关闭。"
|
|
62
|
+
},
|
|
63
|
+
"target": {
|
|
64
|
+
"type": "string",
|
|
65
|
+
"enum": ["拍照", "录像", "自拍", "模式"],
|
|
66
|
+
"description": "必填参数,相机操作的具体对象,用于限定 actionType 的作用范围。当需要执行照片拍摄时使用拍照;当需要进行视频录制时使用录像;当需要使用前置摄像头进行人像拍摄时使用自拍;当对相机拍摄模式或功能模式进行设置或调整时使用模式。"
|
|
67
|
+
},
|
|
68
|
+
"mode": {
|
|
69
|
+
"type": "string",
|
|
70
|
+
"description": "需要设置或查询的相机模式名称,用于指定具体的拍摄或功能模式。"
|
|
71
|
+
},
|
|
72
|
+
"camera": {
|
|
73
|
+
"type": "string",
|
|
74
|
+
"description": "使用的摄像头类型,用于指定拍摄时所采用的摄像头。"
|
|
75
|
+
},
|
|
76
|
+
"app": {
|
|
77
|
+
"type": "string",
|
|
78
|
+
"description": "指定执行相机相关操作的应用名称。当明确要求在某个特定应用内调用或管理相机能力时填写。"
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### 参数注意事项
|
|
84
|
+
|
|
85
|
+
1. **同义词/间接表述映射**: `"录影/摄像/录视频"`→`target`=`录像`;`"照相/拍张/来一张"`→`target`=`拍照`;`"开启/启动/打开相机"`→`actionType`=`打开`;`"停止/结束/退出"`→`actionType`=`关闭`;`"自拍"`优先映射为`target`=`自拍`。
|
|
86
|
+
2. **默认值或缺省行为**: 未指明`camera`时,`target`为`拍照`或`录像`默认使用后置;`target`为`自拍`默认使用前置;未指定`app`时默认调用系统相机;未提供`mode`时保持当前相机默认,不做推断。
|
|
87
|
+
3. **参数间关联/依赖/互斥关系**: `target`=`模式`时通常需提供`mode`(否则需追问);在`拍照/录像/自拍`场景下如同时提供`mode`,表示以该模式进行对应拍摄;`actionType`=`关闭`且`target`=`录像`表示停止当前录制;`actionType`=`关闭`、`target`=`模式`、`mode`=`闪光灯`表示关闭闪光灯。
|
|
88
|
+
4. **可选参数填写条件**: `camera`仅在用户明确提及前置/后置/广角等时填写;`app`仅当点名具体应用时填写;`mode`仅当用户明确提及模式名称或类别时填写,不对含糊描述进行臆断。
|
|
89
|
+
|
|
90
|
+
## Query 示例及输出
|
|
91
|
+
|
|
92
|
+
### 示例 1: 停止正在进行的录像
|
|
93
|
+
|
|
94
|
+
**用户输入**: "停止录制视频"
|
|
95
|
+
|
|
96
|
+
**工具**: "camera"
|
|
97
|
+
|
|
98
|
+
**JSON 参数**:
|
|
99
|
+
|
|
100
|
+
```json
|
|
101
|
+
{
|
|
102
|
+
"actionType": "关闭",
|
|
103
|
+
"target": "录像"
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
**Windows (Cmd) 执行命令**:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
cmd /c 'openclaw nodes invoke --node <ID> --command camera --params "{\"actionType\":\"关闭\",\"target\":\"录像\"}"'
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
**Linux (Bash) 执行命令**:
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
openclaw nodes invoke --node <ID> --command camera --params '{"actionType":"关闭","target":"录像"}'
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
### 示例 2: 使用前置摄像头拍照
|
|
122
|
+
|
|
123
|
+
**用户输入**: "front摄像头拍照"
|
|
124
|
+
|
|
125
|
+
**工具**: "camera"
|
|
126
|
+
|
|
127
|
+
**JSON 参数**:
|
|
128
|
+
|
|
129
|
+
```json
|
|
130
|
+
{
|
|
131
|
+
"actionType": "打开",
|
|
132
|
+
"target": "拍照",
|
|
133
|
+
"camera": "front"
|
|
134
|
+
}
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
**Windows (Cmd) 执行命令**:
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
cmd /c 'openclaw nodes invoke --node <ID> --command camera --params "{\"actionType\":\"打开\",\"target\":\"拍照\",\"camera\":\"front\"}"'
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
**Linux (Bash) 执行命令**:
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
openclaw nodes invoke --node <ID> --command camera --params '{"actionType":"打开","target":"拍照","camera":"front"}'
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
### 示例 3: 夜景模式拍照
|
|
152
|
+
|
|
153
|
+
**用户输入**: "用夜景拍张相吧"
|
|
154
|
+
|
|
155
|
+
**工具**: "camera"
|
|
156
|
+
|
|
157
|
+
**JSON 参数**:
|
|
158
|
+
|
|
159
|
+
```json
|
|
160
|
+
{
|
|
161
|
+
"actionType": "打开",
|
|
162
|
+
"target": "拍照",
|
|
163
|
+
"mode": "夜景"
|
|
164
|
+
}
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
**Windows (Cmd) 执行命令**:
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
cmd /c 'openclaw nodes invoke --node <ID> --command camera --params "{\"actionType\":\"打开\",\"target\":\"拍照\",\"mode\":\"夜景\"}"'
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
**Linux (Bash) 执行命令**:
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
openclaw nodes invoke --node <ID> --command camera --params '{"actionType":"打开","target":"拍照","mode":"夜景"}'
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
### 示例 4: 切换到前置摄像头的自拍拍摄模式
|
|
182
|
+
|
|
183
|
+
**用户输入**: "切换到前置摄像头的自拍拍摄模式"
|
|
184
|
+
|
|
185
|
+
**工具**: "camera"
|
|
186
|
+
|
|
187
|
+
**JSON 参数**:
|
|
188
|
+
|
|
189
|
+
```json
|
|
190
|
+
{
|
|
191
|
+
"actionType": "打开",
|
|
192
|
+
"target": "模式",
|
|
193
|
+
"mode": "自拍拍摄模式",
|
|
194
|
+
"camera": "前置",
|
|
195
|
+
"app": "相机"
|
|
196
|
+
}
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
**Windows (Cmd) 执行命令**:
|
|
200
|
+
|
|
201
|
+
```bash
|
|
202
|
+
cmd /c 'openclaw nodes invoke --node <ID> --command camera --params "{\"actionType\":\"打开\",\"target\":\"模式\",\"mode\":\"自拍拍摄模式\",\"camera\":\"前置\",\"app\":\"相机\"}"'
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
**Linux (Bash) 执行命令**:
|
|
206
|
+
|
|
207
|
+
```bash
|
|
208
|
+
openclaw nodes invoke --node <ID> --command camera --params '{"actionType":"打开","target":"模式","mode":"自拍拍摄模式","camera":"前置","app":"相机"}'
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
### 示例 5: 打开相机以广角模式拍照
|
|
214
|
+
|
|
215
|
+
**用户输入**: "打开相机使用广角镜头拍照"
|
|
216
|
+
|
|
217
|
+
**工具**: "camera"
|
|
218
|
+
|
|
219
|
+
**JSON 参数**:
|
|
220
|
+
|
|
221
|
+
```json
|
|
222
|
+
{
|
|
223
|
+
"actionType": "打开",
|
|
224
|
+
"target": "拍照",
|
|
225
|
+
"mode": "广角镜头",
|
|
226
|
+
"app": "相机"
|
|
227
|
+
}
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
**Windows (Cmd) 执行命令**:
|
|
231
|
+
|
|
232
|
+
```bash
|
|
233
|
+
cmd /c 'openclaw nodes invoke --node <ID> --command camera --params "{\"actionType\":\"打开\",\"target\":\"拍照\",\"mode\":\"广角镜头\",\"app\":\"相机\"}"'
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
**Linux (Bash) 执行命令**:
|
|
237
|
+
|
|
238
|
+
```bash
|
|
239
|
+
openclaw nodes invoke --node <ID> --command camera --params '{"actionType":"打开","target":"拍照","mode":"广角镜头","app":"相机"}'
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
---
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
+
import WebSocket from "ws";
|
|
1
2
|
import { takeApiHost } from "../apis/hosts.js";
|
|
3
|
+
import type { DeviceInfo, HonorUserInfo } from "../types.js";
|
|
2
4
|
import { uuid } from "../utils/id.js";
|
|
3
5
|
import { createWebSocketProxyAgent } from "../utils/proxy.js";
|
|
4
|
-
import type { DeviceInfo, HonorUserInfo } from "../types.js";
|
|
5
|
-
import WebSocket from "ws";
|
|
6
6
|
|
|
7
|
-
const CLOUD_SOCKET_PATH =
|
|
8
|
-
"/aicloud/yoyo-claw-service/v1/yoyoclaw/fullduplex";
|
|
7
|
+
const CLOUD_SOCKET_PATH = "/aicloud/yoyo-claw-service/v1/yoyoclaw/fullduplex";
|
|
9
8
|
const MAX_PAYLOAD_SIZE = 25 * 1024 * 1024;
|
|
10
9
|
|
|
11
10
|
export interface CloudSocketConnectParams {
|
package/src/commands/env/impl.ts
CHANGED
|
@@ -53,7 +53,9 @@ export function registerEnvCommand(_: unknown, command: Command) {
|
|
|
53
53
|
const envInfo = configManager.getEnvInfo();
|
|
54
54
|
const currentGrayTag = configManager.getGrayTag();
|
|
55
55
|
|
|
56
|
-
logger.info(
|
|
56
|
+
logger.info(
|
|
57
|
+
`📋 Current environment: ${envInfo.env} (source: ${SOURCE_LABEL[envInfo.source]})`,
|
|
58
|
+
);
|
|
57
59
|
if (currentGrayTag) {
|
|
58
60
|
logger.info(`📋 Current gray tag: ${currentGrayTag}`);
|
|
59
61
|
} else {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { type Command } from "commander";
|
|
2
2
|
import { type OpenClawPluginApi } from "openclaw/plugin-sdk";
|
|
3
|
-
import { getDeviceInfo } from "../../modules/device/device-info.js";
|
|
4
|
-
import { getConfigManager } from "../../modules/configs/config-manager.js";
|
|
5
3
|
import { loadToken } from "../../honor-auth/token-manager.js";
|
|
4
|
+
import { getConfigManager } from "../../modules/configs/config-manager.js";
|
|
5
|
+
import { getDeviceInfo } from "../../modules/device/device-info.js";
|
|
6
6
|
import { StatusStorage } from "../../services/connection/status-tracker/index.js";
|
|
7
7
|
import type { ConnectionStatusData } from "../../services/connection/status-tracker/index.js";
|
|
8
8
|
|
|
@@ -43,6 +43,22 @@ const YOYO_ALLOW_COMMANDS = [
|
|
|
43
43
|
"volume.operate",
|
|
44
44
|
"wlan",
|
|
45
45
|
"bluetooth",
|
|
46
|
+
"location-service",
|
|
47
|
+
"nfc",
|
|
48
|
+
"usb-shared-network",
|
|
49
|
+
"eyecomfort",
|
|
50
|
+
"status-bar-show",
|
|
51
|
+
"brightness",
|
|
52
|
+
"autoscreen-onnotice",
|
|
53
|
+
"dark-mode",
|
|
54
|
+
"device-operation",
|
|
55
|
+
"camera",
|
|
56
|
+
"app.uninstall",
|
|
57
|
+
"audio-record",
|
|
58
|
+
"battery",
|
|
59
|
+
"gui.create",
|
|
60
|
+
"gui.pause",
|
|
61
|
+
"gui.terminate",
|
|
46
62
|
];
|
|
47
63
|
|
|
48
64
|
/**
|
|
@@ -173,7 +173,9 @@ async function createChannel(deviceInfo: DeviceInfo, userInfo: HonorUserInfo): P
|
|
|
173
173
|
}
|
|
174
174
|
},
|
|
175
175
|
onUnauthorized: async () => {
|
|
176
|
-
useClawLogger().warn(
|
|
176
|
+
useClawLogger().warn(
|
|
177
|
+
"[yoyoclaw-conn] connection unauthorized (401), clearing token and destroying channel",
|
|
178
|
+
);
|
|
177
179
|
|
|
178
180
|
try {
|
|
179
181
|
await clearToken();
|