@honor-claw/yoyo 1.2.0-beta.1 → 1.2.0-beta.11

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.
Files changed (33) hide show
  1. package/package.json +1 -1
  2. package/skills/yoyo-control/SKILL.md +47 -41
  3. package/skills/yoyo-control/references/app-uninstall.md +229 -0
  4. package/skills/yoyo-control/references/audio-record.md +211 -0
  5. package/skills/yoyo-control/references/autoscreen-onnotice.md +7 -27
  6. package/skills/yoyo-control/references/battery.md +252 -0
  7. package/skills/yoyo-control/references/brightness.md +1 -26
  8. package/skills/yoyo-control/references/camera.md +217 -0
  9. package/skills/yoyo-control/references/dark-mode.md +7 -22
  10. package/skills/yoyo-control/references/device-operation.md +16 -28
  11. package/skills/yoyo-control/references/eyecomfort.md +19 -24
  12. package/skills/yoyo-control/references/location-service.md +6 -26
  13. package/skills/yoyo-control/references/nfc.md +1 -21
  14. package/skills/yoyo-control/references/schedule-delete.md +1 -1
  15. package/skills/yoyo-control/references/status-bar-show.md +14 -28
  16. package/skills/yoyo-control/references/usb-shared-network.md +7 -22
  17. package/src/apis/claw-cloud.ts +4 -2
  18. package/src/apis/types.ts +1 -0
  19. package/src/cloud-channel/channel.ts +1 -1
  20. package/src/cloud-channel/client.ts +3 -24
  21. package/src/cloud-channel/message-handler.ts +51 -17
  22. package/src/cloud-channel/types.ts +21 -1
  23. package/src/cloud-channel/utils.ts +3 -4
  24. package/src/commands/env/impl.ts +3 -1
  25. package/src/commands/logout/impl.ts +0 -1
  26. package/src/commands/status/index.ts +2 -2
  27. package/src/gateway-client/admin-client.ts +20 -1
  28. package/src/gateway-client/client.ts +4 -4
  29. package/src/gateway-client/types/client.ts +1 -1
  30. package/src/gateway-client/types/protocol.ts +52 -0
  31. package/src/honor-auth/cloud.ts +18 -24
  32. package/src/modules/configs/config-manager.ts +16 -0
  33. package/src/services/connection/impl.ts +3 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@honor-claw/yoyo",
3
- "version": "1.2.0-beta.1",
3
+ "version": "1.2.0-beta.11",
4
4
  "description": "OpenClaw Honor Yoyo connection plugin",
5
5
  "keywords": [
6
6
  "ai",
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: yoyo_phone_control
3
3
  version: 1.0.0
4
- description: 通过YOYO操作手机系统用机功能,包括打开/关闭应用、发送/查找短信、拨打电话、搜索联系人、搜索通话记录、创建/打开/查询/关闭/删除闹钟、创建/添加/新建日程、截屏、屏幕录制、调节音量、切换响铃/静音/勿扰模式、管理移动数据或热点或蓝牙或WLAN、进行本地内容搜索、文件发送等。
4
+ description: 通过YOYO操作手机系统用机功能,包括打开/关闭/卸载应用、发送/查找短信、拨打电话、搜索联系人、搜索通话记录、创建/打开/查询/关闭/删除闹钟、创建/添加/新建日程、录音、截屏、屏幕录制、调节音量、屏幕亮度调节、切换响铃/静音/勿扰/护眼/深色模式、管理移动数据或热点或蓝牙或WLAN、进行本地内容搜索、文件发送、调用相机拍照/录像、电池状态/电量查询与、开启/关闭定位服务、开启/关闭NFC功能、开启/关闭自动亮屏功能、USB共享网络、设备电源状态与屏幕状态控制、状态栏显示信息管理与控制等。
5
5
  metadata: { "openclaw": { "emoji": "📱", "always": true } }
6
6
  ---
7
7
 
@@ -73,49 +73,55 @@ Match device capabilities with user intent:
73
73
  **⚠️ MANDATORY: Consult tool reference before every operation**
74
74
 
75
75
  Before executing any device control operation, you **MUST** consult the corresponding tool's definition file in the `references/` directory. This is a non-negotiable requirement to ensure correct command and parameters.
76
+ !!!在执行任何设备控制操作之前,你**必须**按照`Available Tool References`里指定的文件路径,在 `references/` 目录中查阅相应工具的定义文件。**这是一个不可避免的强制要求,你必须严格执行,以确保正确命令和参数。**
76
77
 
77
78
  ### Available Tool References
78
79
 
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
- | `contact` | `references/contact-search.md` | 联系人查找服务工具。提供按姓名、昵称、电话号码检索联系人的能力,支持区分自然人名与机构/黄页条目,可处理模糊匹配、多结果列表展示及序号选择场景。 |
93
- | `call` | `references/call-phone.md` | 智能电话拨打与管理工具。提供全面的电话呼叫功能,支持通过姓名、电话号码或黄页服务发起呼叫;支持指定拨号使用的SIM卡(移动/联通/电信/卡槽);具备重拨最后号码、回拨已接听来电、回拨未接听来电及通用回拨功能。 |
94
- | `call` | `references/call-search.md` | 提供查看通话记录(全部、未接听、已接听,或按联系人筛选)服务。 |
95
- | `message` | `references/message-send.md` | 提供发送短信的服务。支持通过电话号码或联系人名称发送短信内容,可使用黄页发送短信至公共服务号码,以及发送名片信息给指定联系人。 |
96
- | `message` | `references/message-search.md` | 短信查询工具。用于查询设备上的短信记录,支持按联系人、电话号码或短信内容检索。当用户询问"查看/查询/搜索短信"等意图时调用。 |
97
- | `local-search` | `references/local-search.md` | 查询手机文档、笔记、日程、图库、yoyo记忆、钱包等 |
98
- | `file-upload` | `references/file-upload.md` | 文件上传工具。用于将本地文件上传到指定位置。当用户明确提供文件路径时直接调用;当用户仅描述文件(如"某文件"、"某照片")时,需先调用 local-search 查询获取文件路径,再执行上传。 |
99
- | `alarm` | `references/alarm-create.md` | 闹钟创建工具。用于创建闹钟,当用户明确创建/定一个闹钟时,属于创建闹钟。 |
100
- | `alarm` | `references/alarm-query.md` | 闹钟查询工具。用于查询已创建的闹钟列表,支持按时间、标题、重复类型等多维度筛选。 |
101
- | `alarm` | `references/alarm-delete.md` | 闹钟删除工具。用于永久删除已创建的闹钟,支持批量删除多个闹钟。 |
102
- | `alarm` | `references/alarm-disable.md` | 闹钟关闭工具。用于禁用已创建的闹钟,支持批量关闭多个闹钟。 |
103
- | `alarm` | `references/alarm-enable.md` | 闹钟打开工具。用于启用已创建的闹钟,支持批量打开多个闹钟。 |
104
- | `schedule` | `references/schedule-create.md` | 日程创建工具。用于在设备上创建新的日程安排,支持设置具体时间、日期和日程内容。当用户询问"创建/添加/新建日程"等意图时调用。用于创建日程的工具。当用户意图涉及添加日程/安排时,属于创建日程。 |
105
- | `schedule` | `references/schedule-search.md` | 日程查询工具。用于查询设备上已创建的日程安排,支持按时间、内容等多维度检索。 当用户询问"查看/查询/搜索日程"等意图时调用。用于搜索日程的工具。当用户意图涉及查找日程/安排时,属于查询日程。 |
106
- | `schedule` | `references/schedule-delete.md` | 日程删除工具。用于删除设备上已创建的日程安排,支持删除指定日程。当用户询问"删除/移除/取消日程"等意图时调用。用于删除日程的工具。当用户意图涉及移除日程/安排时,属于删除日程。 |
107
- | `schedule` | `references/schedule-update.md` | 日程编辑修改工具。用于修改设备上已创建日程的属性,支持修改时间、内容、地点等。当用户询问"修改/编辑/更改日程"等意图时调用。用于更新日程的工具。当用户意图涉及修改日程/安排属性时,属于编辑修改日程。 |
108
- | `wlan` | `references/wlan.md` | WLAN(无线网络、WiFi)管理工具。提供对WLAN及其相关能力的统一管理与控制,支持WLAN的开启与关闭、参数设置与状态查询,并可对WLAN使用的流量与流量提醒进行管理。 |
109
- | `bluetooth` | `references/bluetooth.md` | 蓝牙设备管理工具。提供蓝牙设备的统一管理与控制,支持蓝牙的打开/关闭、参数设置、状态查询、设备搜索与配对,并能管理已接收的蓝牙文件。 |
110
- | `location-service` | `references/location-service.md` | 设备定位服务管理工具。支持开启/关闭定位、设置相关权限或策略,并查询当前定位服务状态。 |
111
- | `nfc` | `references/nfc.md` | 设备 NFC 管理与控制工具。支持开启/关闭、设置使用策略与参数、查询当前状态,以及基于 NFC 的刷卡感应操作。 |
112
- | `usb-shared-network` | `references/usb-shared-network.md` | 统一管理与控制 USB 共享网络功能,支持开启/关闭、参数设置与状态查询,可结合指定应用进行操作。 |
113
- | `eyecomfort` | `references/eye-comfort.md` | 护眼模式与视觉健康功能管理工具。支持开启/关闭、设置、查询与定时控制,并可独立管理助眠显示、干眼友好、视力舒缓、自然色彩显示及照明闪烁检测。 |
114
- | `brightness` | `references/brightness.md` | 屏幕亮度管理工具。支持开启/关闭、调高/调低、设定指定亮度值、查询当前亮度与自动调节状态,并可管理自动调节亮度功能。 |
115
- | `dark-mode` | `references/dark-mode.md` | 深色模式管理工具。支持开启、关闭、设置与查询,并可按指定应用执行操作,提升夜间或弱光环境下的观看舒适度。 |
116
- | `device-operation` | `references/device-operation.md` | 设备电源与屏幕控制工具,支持开机、关机、重启、待机、休眠、灭屏、亮屏、锁屏等操作,并可结合定时、二次确认与指定应用执行。 |
117
- | `status-bar-show` | `references/status-bar-show.md` | 状态栏显示统一管理工具。支持对运营商名称、实时网速、流量、通知与纯净模式进行开启、关闭、设置与查询,并可结合指定应用执行显示策略。 |
118
- | `autoscreen-onnotice` | `references/autoscreen-onnotice.md` | 管理收到通知时自动亮屏功能。支持开启/关闭、进入设置、查询当前状态,并可按指定应用进行精细化控制。 |
80
+ | Required Node Caps | Reference File | Tool Description |
81
+ | -------------------- | ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
82
+ | `mobile-data` | `references/mobile-data.md` | 移动数据与流量管理工具。提供对移动数据及流量管理相关功能的综合管理与控制,支持开关移动数据、切换SIM卡、查询流量使用情况/账单/排行、设置流量限额与提醒、控制应用级流量、流量校准及省流量模式等功能。 |
83
+ | `hotspot` | `references/hotspot.md` | 个人热点管理工具。提供对个人热点功能的统一管理与控制,支持个人热点的开启与关闭。 |
84
+ | `volume` | `references/volume-operate.md` | 设备音量调节与管理工具。提供对设备音量的调节与管理功能,支持音量的设置、调高、调低、开启与关闭,以及当前音量状态的查询;可针对不同应用、不同设备及不同音量类型(如媒体、通话、通知等)进行精细化控制。 |
85
+ | `no-disturb` | `references/no-disturb.md` | 免打扰模式管理工具。支持在特定时间段或特定情况下屏蔽来电和通知,减少干扰,提高专注度。提供即时开关、定时设置、联系人例外、应用通知控制等功能。 |
86
+ | `screen-record` | `references/screen-record.md` | 设备屏幕录制管理与控制工具。提供对设备屏幕录制功能的管理与控制能力,支持对屏幕录制功能的开启与关闭、相关录制参数的设置、当前录制状态的查询,并可结合指定应用对其在特定应用场景下的录制行为进行管理。 |
87
+ | `quiet-mode` | `references/quiet-mode.md` | 设备静音模式管理与控制工具。提供对设备静音模式的管理与控制能力,支持静音模式的开启与关闭、当前状态的查询、静音持续时间的设置,以及结合指定应用或设备进行声音控制。 |
88
+ | `ringing-mode` | `references/ringing-mode.md` | 响铃模式管理工具。提供对系统响铃模式的管理与控制能力,支持对响铃模式的开启与关闭、相关行为的设置以及当前状态的查询,并可结合指定应用对其在响铃模式下的表现进行管理。 |
89
+ | `vibration-mode` | `references/vibration-mode.md` | 系统震动反馈管理与控制工具。提供对系统震动反馈功能的统一管理与控制能力,支持震动模式的设置、状态查询、打开与关闭,并可分别管理静音状态下震动、响铃状态下震动,以及在点击导航栏或设备解锁等交互场景中的震动反馈。 |
90
+ | `capture-screenshot` | `references/capture-screenshot.md` | 截屏功能管理与触发工具。提供对截屏功能的管理与触发能力,支持将当前手机屏幕内容以图片的形式保存,包括普通截屏和滚动截屏等操作。 |
91
+ | `app` | `references/app-open.md` | 应用打开工具。用于帮助用户打开指定的 APP 应用,且不涉及任何具体 App 内部操作。 |
92
+ | `app` | `references/app-close.md` | 应用关闭工具。用于帮助用户关闭指定的 APP 应用,且不涉及任何具体 App 内部操作。 |
93
+ | `app` | `references/app-uninstall.md` | 应用卸载工具。用于执行已安装应用的卸载操作,专注于卸载动作本身,不涉及数据清理策略、账号处理或任何 App 内操作。 |
94
+ | `contact` | `references/contact-search.md` | 联系人查找服务工具。提供按姓名、昵称、电话号码检索联系人的能力,支持区分自然人名与机构/黄页条目,可处理模糊匹配、多结果列表展示及序号选择场景。 |
95
+ | `call` | `references/call-phone.md` | 智能电话拨打与管理工具。提供全面的电话呼叫功能,支持通过姓名、电话号码或黄页服务发起呼叫;支持指定拨号使用的SIM卡(移动/联通/电信/卡槽);具备重拨最后号码、回拨已接听来电、回拨未接听来电及通用回拨功能。 |
96
+ | `call` | `references/call-search.md` | 提供查看通话记录(全部、未接听、已接听,或按联系人筛选)服务。 |
97
+ | `message` | `references/message-send.md` | 提供发送短信的服务。支持通过电话号码或联系人名称发送短信内容,可使用黄页发送短信至公共服务号码,以及发送名片信息给指定联系人。 |
98
+ | `message` | `references/message-search.md` | 短信查询工具。用于查询设备上的短信记录,支持按联系人、电话号码或短信内容检索。当用户询问"查看/查询/搜索短信"等意图时调用。 |
99
+ | `local-search` | `references/local-search.md` | 查询手机文档、笔记、日程、图库、yoyo记忆、钱包等 |
100
+ | `file-upload` | `references/file-upload.md` | 文件上传工具。用于将本地文件上传到指定位置。当用户明确提供文件路径时直接调用;当用户仅描述文件(如"某文件"、"某照片")时,需先调用 local-search 查询获取文件路径,再执行上传。 |
101
+ | `alarm` | `references/alarm-create.md` | 闹钟创建工具。用于创建闹钟,当用户明确创建/定一个闹钟时,属于创建闹钟。 |
102
+ | `alarm` | `references/alarm-query.md` | 闹钟查询工具。用于查询已创建的闹钟列表,支持按时间、标题、重复类型等多维度筛选。 |
103
+ | `alarm` | `references/alarm-delete.md` | 闹钟删除工具。用于永久删除已创建的闹钟,支持批量删除多个闹钟。 |
104
+ | `alarm` | `references/alarm-disable.md` | 闹钟关闭工具。用于禁用已创建的闹钟,支持批量关闭多个闹钟。 |
105
+ | `alarm` | `references/alarm-enable.md` | 闹钟打开工具。用于启用已创建的闹钟,支持批量打开多个闹钟。 |
106
+ | `schedule` | `references/schedule-create.md` | 日程创建工具。用于在设备上创建新的日程安排,支持设置具体时间、日期和日程内容。当用户询问"创建/添加/新建日程"等意图时调用。用于创建日程的工具。当用户意图涉及添加日程/安排时,属于创建日程。 |
107
+ | `schedule` | `references/schedule-search.md` | 日程查询工具。用于查询设备上已创建的日程安排,支持按时间、内容等多维度检索。 当用户询问"查看/查询/搜索日程"等意图时调用。用于搜索日程的工具。当用户意图涉及查找日程/安排时,属于查询日程。 |
108
+ | `schedule` | `references/schedule-delete.md` | 日程删除工具。用于删除设备上已创建的日程安排,支持删除指定日程。当用户询问"删除/移除/取消日程"等意图时调用。用于删除日程的工具。当用户意图涉及移除日程/安排时,属于删除日程。 |
109
+ | `schedule` | `references/schedule-update.md` | 日程编辑修改工具。用于修改设备上已创建日程的属性,支持修改时间、内容、地点等。当用户询问"修改/编辑/更改日程"等意图时调用。用于更新日程的工具。当用户意图涉及修改日程/安排属性时,属于编辑修改日程。 |
110
+ | `wlan` | `references/wlan.md` | WLAN(无线网络、WiFi)管理工具。提供对WLAN及其相关能力的统一管理与控制,支持WLAN的开启与关闭、参数设置与状态查询,并可对WLAN使用的流量与流量提醒进行管理。 |
111
+ | `bluetooth` | `references/bluetooth.md` | 蓝牙设备管理工具。提供蓝牙设备的统一管理与控制,支持蓝牙的打开/关闭、参数设置、状态查询、设备搜索与配对,并能管理已接收的蓝牙文件。 |
112
+ | `location-service` | `references/location-service.md` | 设备定位服务管理工具。支持开启/关闭定位、设置相关权限或策略,并查询当前定位服务状态。 |
113
+ | `nfc` | `references/nfc.md` | 设备 NFC 管理与控制工具。支持开启/关闭、设置使用策略与参数、查询当前状态,以及基于 NFC 的刷卡感应操作。 |
114
+ | `usb-shared-network` | `references/usb-shared-network.md` | 统一管理与控制 USB 共享网络功能,支持开启/关闭、参数设置与状态查询,可结合指定应用进行操作。 |
115
+ | `eyecomfort` | `references/eye-comfort.md` | 护眼模式与视觉健康功能管理工具。支持开启/关闭、设置、查询与定时控制,并可独立管理助眠显示、干眼友好、视力舒缓、自然色彩显示及照明闪烁检测。 |
116
+ | `brightness` | `references/brightness.md` | 屏幕亮度管理工具。支持开启/关闭、调高/调低、设定指定亮度值、查询当前亮度与自动调节状态,并可管理自动调节亮度功能。 |
117
+ | `dark-mode` | `references/dark-mode.md` | 深色模式管理工具。支持开启、关闭、设置与查询,并可按指定应用执行操作,提升夜间或弱光环境下的观看舒适度。 |
118
+ | `device-operation` | `references/device-operation.md` | 设备电源与屏幕控制工具,支持开机、关机、重启、待机、休眠、灭屏、亮屏、锁屏等操作,并可结合定时、二次确认与指定应用执行。 |
119
+ | `status-bar-show` | `references/status-bar-show.md` | 状态栏显示统一管理工具。支持对运营商名称、实时网速、流量、通知与纯净模式进行开启、关闭、设置与查询,并可结合指定应用执行显示策略。 |
120
+ | `autoscreen-onnotice`| `references/autoscreen-onnotice.md`| 管理收到通知时自动亮屏功能。支持开启/关闭、进入设置、查询当前状态,并可按指定应用进行精细化控制。 |
121
+ | `battery` | `references/battery.md` | 设备电量与模式管理工具。支持设置、查询、打开或关闭电量相关功能,包括电量使用情况与剩余电量查询、性能/省电/超级省电模式切换、进入各类与电量相关的设置页面,以及电量百分比显示位置配置。支持多种设备的电量查询与模式切换,如蓝牙设备。 |
122
+ | `audio-record` | `references/audio-record.md` | 统一管理设备音频录制功能,支持录音、通话录音、播放与文件管理;可执行录制启停、播放控制及内容增删等操作。 |
123
+ | `camera` | `references/camera.md` | 相机控制工具。支持拍照、录像、自拍与模式的设置/查询/开启/关闭,使用时需明确动作类型、目标对象,并按需指定模式与摄像头。 |
124
+
119
125
 
120
126
  ### Command and Parameters Construction Workflow
121
127
 
@@ -0,0 +1,229 @@
1
+ ---
2
+ name: app.uninstall
3
+ description: >
4
+ 应用卸载工具。用于执行已安装应用的卸载操作,专注于卸载动作本身,不涉及数据清理策略、账号处理或任何 App 内操作。
5
+ ---
6
+
7
+ # Uninstall App 应用卸载
8
+
9
+ ## Tool Command
10
+ ```bash
11
+ app.uninstall
12
+ ```
13
+
14
+ ## 集成工作流
15
+
16
+ ### Step 1: 意图解析与参数组装
17
+ ```
18
+ ┌─────────────────────────────────────────────────────────────┐
19
+ │ Step 1: 意图识别与参数提取 │
20
+ │ - 识别操作意图: 卸载 + 应用 │
21
+ │ - 提取应用名称: 精确匹配用户提到的App名或别名 │
22
+ │ - 提取确认意图: 确认/取消等二次确认表述 │
23
+ │ - 特殊处理: "卸了/卸掉/移除/删除应用"等同义词统一识别 │
24
+ └─────────────────────────────────────────────────────────────┘
25
+
26
+ ┌─────────────────────────────────────────────────────────────┐
27
+ │ Step 2: 用户提供[应用名/app]未提供[包名/pkgName]时,通过应用名称解析包名 │
28
+ │ 1. 优先查询下文的 app_name_to_pkgName 高频应用表 │
29
+ │ 2. 若未匹配,查询 references/app_name_to_pkgName.md 知识库 │
30
+ │ 3. 若仍未匹配,通过网络搜索查找包名 │
31
+ │ 4. 若匹配到多个结果 → 请用户选择 │
32
+ │ 5. 若最终无匹配结果 → 提示用户:暂时找不到这个app │
33
+ └─────────────────────────────────────────────────────────────┘
34
+
35
+ ┌─────────────────────────────────────────────────────────────┐
36
+ │ Step 3: 用户提供[包名/pkgName]未提供[应用名/app]时,通过包名解析应用名称 │
37
+ │ 调用: app_name_to_pkgName,用App包名去查找App名称 │
38
+ │ 若匹配到多个结果 → 请用户选择 │
39
+ │ 若无匹配结果 → 通知用户并请求提供应用名称 │
40
+ └─────────────────────────────────────────────────────────────┘
41
+
42
+ ┌─────────────────────────────────────────────────────────────┐
43
+ │ Step 4: 消歧与槽位填充 │
44
+ │ - 未指定应用时,需向用户追问具体App或范围 │
45
+ │ - 指代不明且多命中时,使用sequence消歧 │
46
+ │ - 当用户说“所有应用”,优先填写app=all │
47
+ │ - 必须进行二次确认,confirmState缺失需追问 │
48
+ │ - 验证规则:校验应用名称有效性(系统已安装) │
49
+ └─────────────────────────────────────────────────────────────┘
50
+
51
+ ┌─────────────────────────────────────────────────────────────┐
52
+ │ Step 5: 生成工具调用 │
53
+ │ - 组装参数 │
54
+ │ - 生成平台特定的命令格式 │
55
+ └─────────────────────────────────────────────────────────────┘
56
+ ```
57
+
58
+ ### Step 2: 执行调用
59
+ - 根据操作系统选择对应的命令格式
60
+ - Windows: Cmd 格式(双引号需转义)
61
+ - Linux: Bash 格式(单引号包裹)
62
+
63
+ ## 参数定义
64
+ ```json
65
+ {
66
+ "app": {
67
+ "description": "必填参数,需要卸载的应用名称,指定具体应用 → 填写真实应用名称,如果用户提到是所有应用,则输出all",
68
+ "type": "string"
69
+ },
70
+ "pkgName": {
71
+ "type": "string",
72
+ "description": "必填参数,应用包名。按照集成工作流中的查找顺序(高频表→知识库→网络搜索)获取包名。"
73
+ },
74
+ "sequence": {
75
+ "type": "array",
76
+ "description": "列表序号,当需要用户进行列表选择的时候,此参数生效。如用户说第一个:sequence=第一。"
77
+ },
78
+ "confirmState": {
79
+ "type": "string",
80
+ "enum": ["cancel", "confirm"],
81
+ "description": "必填参数,二次确认的回答,涉及二次确认回答的归一化类型,如确认、取消"
82
+ }
83
+ }
84
+ ```
85
+
86
+ ### 参数注意事项
87
+ 1. **包名查找顺序**: 高频应用表 → 知识库 references/app_name_to_pkgName.md → 网络搜索 → 提示找不到
88
+ 2. **序号选择**: `sequence` 需保持与用户原始输入一致的表述形式(如"第一"、"倒数第二个"、"3")
89
+ 3. **未找到应用**: 若通过上述流程仍找不到应用,提示用户"暂时找不到这个app"。
90
+ 4. **二次确认**: 为了避免误操作,必须与用户进行二次确认,`confirmState`缺失时需追问后再执行。
91
+
92
+ ## app_name_to_pkgName(高频应用表)
93
+
94
+ | app | pkgName |
95
+ | :--------- | :----------------------------- |
96
+ | 手机淘宝 | com.taobao.taobao |
97
+ | 支付宝 | com.eg.android.AlipayGphone |
98
+ | 微信 | com.tencent.mm |
99
+ | QQ | com.tencent.mobileqq |
100
+ | 抖音短视频 | com.ss.android.ugc.aweme |
101
+ | 小红书 | com.xingin.xhs |
102
+ | 美团 | com.sankuai.meituan |
103
+ | 美团外卖 | com.sankuai.meituan.takeoutnew |
104
+ | 京东 | com.jingdong.app.mall |
105
+ | 拼多多 | com.xunmeng.pinduoduo |
106
+ | 高德地图 | com.autonavi.minimap |
107
+ | 百度地图 | com.baidu.BaiduMap |
108
+ | 爱奇艺 | com.qiyi.video |
109
+ | 腾讯视频 | com.tencent.qqlive |
110
+ | 微博 | com.sina.weibo |
111
+ | 今日头条 | com.ss.android.article.news |
112
+
113
+ ## 回复语规则
114
+
115
+ | 执行结果 | 回复语 |
116
+ | :------- | :--------------------------------------------------------------------------------- |
117
+ | **成功** | "好的" |
118
+ | **失败** | 根据返回的错误信息输出具体原因,如:"打开失败,应用未安装"、"打开失败,权限不足"等 |
119
+
120
+ ## Query 示例及输出
121
+
122
+ ### 示例 1: 通过应用名卸载指定应用
123
+ **用户输入**: "把微信给我卸了"
124
+ **用户二次确认**: "好的"
125
+ **工具**: "app.uninstall"
126
+
127
+ **JSON 参数**:
128
+ ```json
129
+ {
130
+ "app": "微信",
131
+ "pkgName": "com.tencent.mm",
132
+ "confirmState": "confirm"
133
+ }
134
+ ```
135
+
136
+ **Windows (Cmd) 执行命令**:
137
+ ```bash
138
+ cmd /c 'openclaw nodes invoke --node <ID> --command app.uninstall --params "{\"app\":\"微信\",\"pkgName\":\"com.tencent.mm\",\"confirmState\":\"confirm\"}"'
139
+ ```
140
+
141
+ **Linux (Bash) 执行命令**:
142
+ ```bash
143
+ openclaw nodes invoke --node <ID> --command app.uninstall --params '{"app":"微信","pkgName":"com.tencent.mm","confirmState":"confirm"}'
144
+ ```
145
+
146
+ ---
147
+
148
+ ### 示例 2: 卸载倒数第二个同名应用
149
+ **用户输入**: "帮我卸载倒数第二个CNTV5+VIP应用吧"
150
+ **用户二次确认**: "好的"
151
+ **工具**: "app.uninstall"
152
+
153
+ **JSON 参数**:
154
+ ```json
155
+ {
156
+ "app": "CNTV5+VIP",
157
+ "pkgName": "com.cntv.live",
158
+ "sequence": "倒数第二",
159
+ "confirmState": "confirm"
160
+ }
161
+ ```
162
+
163
+ **Windows (Cmd) 执行命令**:
164
+ ```bash
165
+ cmd /c 'openclaw nodes invoke --node <ID> --command app.uninstall --params "{\"app\":\"CNTV5+VIP\",\"pkgName\":\"com.cntv.live\",\"sequence\":\"倒数第二\",\"confirmState\":\"confirm\"}"'
166
+ ```
167
+
168
+ **Linux (Bash) 执行命令**:
169
+ ```bash
170
+ openclaw nodes invoke --node <ID> --command app.uninstall --params '{"app":"CNTV5+VIP","pkgName":"com.cntv.live","sequence":"倒数第二","confirmState":"confirm"}'
171
+ ```
172
+
173
+ ---
174
+
175
+ ### 示例 3: 通过包名卸载指定应用
176
+ **用户输入**: "帮我卸载 com.tencent.mm"
177
+ **用户二次确认**: "好的"
178
+ **工具**: "app.uninstall"
179
+
180
+ **JSON 参数**:
181
+ ```json
182
+ {
183
+ "app": "微信",
184
+ "pkgName": "com.tencent.mm",
185
+ "confirmState": "confirm"
186
+ }
187
+ ```
188
+
189
+ **Windows (Cmd) 执行命令**:
190
+ ```bash
191
+ cmd /c 'openclaw nodes invoke --node <ID> --command app.uninstall --params "{\"app\":\"微信\",\"pkgName\":\"com.tencent.mm\",\"confirmState\":\"confirm\"}"'
192
+ ```
193
+
194
+ **Linux (Bash) 执行命令**:
195
+ ```bash
196
+ openclaw nodes invoke --node <ID> --command app.uninstall --params '{"app":"微信","pkgName":"com.tencent.mm","confirmState":"confirm"}'
197
+ ```
198
+
199
+ ---
200
+
201
+ ### 示例 4: 知识库/网络搜索查找应用
202
+ **用户输入**: "卸载网易云音乐"
203
+ **查找流程**:
204
+ 1. 高频应用表:未找到
205
+ 2. 查询 references/app_name_to_pkgName.md 知识库
206
+ 3. 若知识库中找到:pkgName = "com.netease.cloudmusic"
207
+ **用户二次确认**: "好的"
208
+ **工具**: "app.uninstall"
209
+
210
+ **JSON 参数**:
211
+ ```json
212
+ {
213
+ "app": "网易云音乐",
214
+ "pkgName": "com.netease.cloudmusic",
215
+ "confirmState": "confirm"
216
+ }
217
+ ```
218
+
219
+ **Windows (Cmd) 执行命令**:
220
+ ```bash
221
+ cmd /c 'openclaw nodes invoke --node <ID> --command app.uninstall --params "{\"app\":\"网易云音乐\",\"pkgName\":\"com.netease.cloudmusic\",\"confirmState\":\"confirm\"}"'
222
+ ```
223
+
224
+ **Linux (Bash) 执行命令**:
225
+ ```bash
226
+ openclaw nodes invoke --node <ID> --command app.uninstall --params '{"app":"网易云音乐","pkgName":"com.netease.cloudmusic","confirmState":"confirm"}'
227
+ ```
228
+
229
+ ---
@@ -0,0 +1,211 @@
1
+ ---
2
+ name: audio-record
3
+ description: >
4
+ 统一管理设备音频功能,支持录音、通话录音、播放与文件管理;可执行录制启停、播放控制及内容增删等操作。
5
+ ---
6
+
7
+ # audio-record 音频控制与录音管理
8
+
9
+ ## Tool Command
10
+ ```bash
11
+ audio-record
12
+ ```
13
+
14
+ ## 集成工作流
15
+
16
+ ### Step 1: 意图解析与参数组装
17
+ ```
18
+ ┌─────────────────────────────────────────────────────────────┐
19
+ │ 意图识别与参数提取 │
20
+ │ - 识别操作类型: 设置/查询/录制/停止/播放/添加/删除 │
21
+ │ - 识别操作对象: 录音/通话录音 │
22
+ │ - 提取修饰词: 应用名称(app) │
23
+ │ - 判断功能开关语义: 打开/关闭 意义判定 │
24
+ │ - 特殊处理: "开始/结束录音" → 录制/停止 │
25
+ │ - 特殊处理: "清理/移除" → 删除;"回放" → 播放 │
26
+ └─────────────────────────────────────────────────────────────┘
27
+
28
+ ┌─────────────────────────────────────────────────────────────┐
29
+ │ 消歧与槽位填充 │
30
+ │ - 未指定 target 时,默认为 录音 │
31
+ │ - "打开通话录音" → actionType 设为 设置 │
32
+ │ - "打开录音" → actionType 设为 录制;"关闭录音" → 停止 │
33
+ │ - app 仅当用户明确点名应用时填写 │
34
+ │ - 验证 app 是否有效(存在且可用) │
35
+ └─────────────────────────────────────────────────────────────┘
36
+
37
+ ┌─────────────────────────────────────────────────────────────┐
38
+ │ 生成工具调用 │
39
+ │ - 组装 actionType, target 及可选参数(app) │
40
+ │ - 生成平台特定的命令格式 │
41
+ └─────────────────────────────────────────────────────────────┘
42
+ ```
43
+
44
+ ### Step 2: 执行调用
45
+ - 根据操作系统选择对应的命令格式
46
+ - Windows: Cmd 格式(双引号需转义)
47
+ - Linux: Bash 格式(单引号包裹)
48
+
49
+ ## 参数定义
50
+ ```json
51
+ {
52
+ "actionType": {
53
+ "type": "string",
54
+ "enum": [
55
+ "设置",
56
+ "查询",
57
+ "录制",
58
+ "停止",
59
+ "播放",
60
+ "添加",
61
+ "删除"
62
+ ],
63
+ "description": "必填参数,音频相关操作的核心动作类型。当需要进入音频功能的配置页面或调整相关参数时使用设置;当获取音频功能状态或音频内容信息时使用查询;当启用音频功能或相关服务时使用打开;当停用音频功能或相关服务时使用关闭;当开始采集声音内容时使用录制;当结束当前录制行为时使用停止;当回放已录制或已有的音频内容时使用播放;当向音频列表中新增音频内容时使用添加;当移除已存在的音频内容时使用删除。"
64
+ },
65
+ "target": {
66
+ "type": "string",
67
+ "enum": [
68
+ "录音",
69
+ "通话录音"
70
+ ],
71
+ "description": "必填参数,音频操作的具体对象,用于限定 actionType 的作用范围。当涉及通过麦克风进行普通声音采集时使用录音;当涉及电话通话过程中的音频记录时使用通话录音。"
72
+ },
73
+ "app": {
74
+ "type": "string",
75
+ "description": "指定执行音频相关操作的应用名称。当明确要求在某个录音应用、通话应用或特定系统入口中进行音频操作时填写。"
76
+ }
77
+ }
78
+ ```
79
+
80
+ ### 参数注意事项
81
+ 1. **同义词/间接表述映射**: "开始/开始录音/开始录制"→`录制`;"停止/结束录音"→`停止`;"清理/移除/删除文件"→`删除`;"播放/回放"→`播放`;当语义为功能开关时:"打开/开启/启用"→`设置`(启用开关)、"关闭/禁用/停用"→`设置`(关闭开关)。
82
+ 2. **默认值或缺省行为**: 未明确`target`时,默认理解为`录音`;未指定`app`时,默认使用系统内置的录音/通话录音入口。
83
+ 3. **参数间关联/依赖关系**: 当`target`为`录音`且用户表述为"打开/开始录音"时,`actionType`填`录制`;当表述为"关闭录音"时,`actionType`填`停止`。当`target`为`通话录音`且用户表述为"打开/关闭通话录音"时,`actionType`统一填`设置`以表示开关配置行为。
84
+ 4. **可选参数填写条件**: 仅当用户明确点名具体应用(如某第三方录音或通话应用)时填写`app`,否则不填写以避免误导。
85
+
86
+ ## Query 示例及输出
87
+
88
+ ### 示例 1: 清理普通录音文件
89
+ **用户输入**: "清理录音文件"
90
+
91
+ **工具**: "audio-record"
92
+
93
+ **JSON 参数**:
94
+ ```json
95
+ {
96
+ "actionType": "删除",
97
+ "target": "录音"
98
+ }
99
+ ```
100
+
101
+ **Windows (Cmd) 执行命令**:
102
+ ```bash
103
+ cmd /c 'openclaw nodes invoke --node <ID> --command audio-record --params "{\"actionType\":\"删除\",\"target\":\"录音\"}"'
104
+ ```
105
+
106
+ **Linux (Bash) 执行命令**:
107
+ ```bash
108
+ openclaw nodes invoke --node <ID> --command audio-record --params '{"actionType":"删除","target":"录音"}'
109
+ ```
110
+
111
+ ---
112
+
113
+ ### 示例 2: 开始普通录音
114
+ **用户输入**: "录音"
115
+
116
+ **工具**: "audio-record"
117
+
118
+ **JSON 参数**:
119
+ ```json
120
+ {
121
+ "actionType": "录制",
122
+ "target": "录音"
123
+ }
124
+ ```
125
+
126
+ **Windows (Cmd) 执行命令**:
127
+ ```bash
128
+ cmd /c 'openclaw nodes invoke --node <ID> --command audio-record --params "{\"actionType\":\"录制\",\"target\":\"录音\"}"'
129
+ ```
130
+
131
+ **Linux (Bash) 执行命令**:
132
+ ```bash
133
+ openclaw nodes invoke --node <ID> --command audio-record --params '{"actionType":"录制","target":"录音"}'
134
+ ```
135
+
136
+ ---
137
+
138
+ ### 示例 3: 打开通话录音功能(开关配置)
139
+ **用户输入**: "打开通话录音"
140
+
141
+ **工具**: "audio-record"
142
+
143
+ **JSON 参数**:
144
+ ```json
145
+ {
146
+ "actionType": "设置",
147
+ "target": "通话录音"
148
+ }
149
+ ```
150
+
151
+ **Windows (Cmd) 执行命令**:
152
+ ```bash
153
+ cmd /c 'openclaw nodes invoke --node <ID> --command audio-record --params "{\"actionType\":\"设置\",\"target\":\"通话录音\"}"'
154
+ ```
155
+
156
+ **Linux (Bash) 执行命令**:
157
+ ```bash
158
+ openclaw nodes invoke --node <ID> --command audio-record --params '{"actionType":"设置","target":"通话录音"}'
159
+ ```
160
+
161
+ ---
162
+
163
+ ### 示例 4: 查询通话录音内容
164
+ **用户输入**: "帮我查一下昨天下午的通话录音"
165
+
166
+ **工具**: "audio-record"
167
+
168
+ **JSON 参数**:
169
+ ```json
170
+ {
171
+ "actionType": "查询",
172
+ "target": "通话录音"
173
+ }
174
+ ```
175
+
176
+ **Windows (Cmd) 执行命令**:
177
+ ```bash
178
+ cmd /c 'openclaw nodes invoke --node <ID> --command audio-record --params "{\"actionType\":\"查询\",\"target\":\"通话录音\"}"'
179
+ ```
180
+
181
+ **Linux (Bash) 执行命令**:
182
+ ```bash
183
+ openclaw nodes invoke --node <ID> --command audio-record --params '{"actionType":"查询","target":"通话录音"}'
184
+ ```
185
+
186
+ ---
187
+
188
+ ### 示例 5: 播放通话录音
189
+ **用户输入**: "播放一下通话录音"
190
+
191
+ **工具**: "audio-record"
192
+
193
+ **JSON 参数**:
194
+ ```json
195
+ {
196
+ "actionType": "播放",
197
+ "target": "通话录音"
198
+ }
199
+ ```
200
+
201
+ **Windows (Cmd) 执行命令**:
202
+ ```bash
203
+ cmd /c 'openclaw nodes invoke --node <ID> --command audio-record --params "{\"actionType\":\"播放\",\"target\":\"通话录音\"}"'
204
+ ```
205
+
206
+ **Linux (Bash) 执行命令**:
207
+ ```bash
208
+ openclaw nodes invoke --node <ID> --command audio-record --params '{"actionType":"播放","target":"通话录音"}'
209
+ ```
210
+
211
+ ---