@honor-claw/yoyo 0.0.1-beta.2 → 0.0.1-beta.21

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 (79) hide show
  1. package/index.ts +2 -2
  2. package/openclaw.plugin.json +7 -0
  3. package/package.json +20 -20
  4. package/skills/search/SKILL.md +182 -0
  5. package/skills/search/scripts/search.sh +69 -0
  6. package/skills/yoyo-control/SKILL.md +105 -120
  7. package/skills/yoyo-control/references/alarm-create.md +473 -0
  8. package/skills/yoyo-control/references/app-close.md +183 -0
  9. package/skills/yoyo-control/references/app-open.md +178 -0
  10. package/skills/yoyo-control/references/call-phone.md +250 -0
  11. package/skills/yoyo-control/references/capture-screenshot.md +205 -54
  12. package/skills/yoyo-control/references/contact-search.md +235 -0
  13. package/skills/yoyo-control/references/hotspot.md +208 -0
  14. package/skills/yoyo-control/references/local-search.md +224 -15
  15. package/skills/yoyo-control/references/message-send.md +246 -0
  16. package/skills/yoyo-control/references/mobile-data.md +248 -0
  17. package/skills/yoyo-control/references/no-disturb.md +239 -0
  18. package/skills/yoyo-control/references/quiet-mode.md +228 -0
  19. package/skills/yoyo-control/references/ringing-mode.md +223 -0
  20. package/skills/yoyo-control/references/screen-record.md +220 -0
  21. package/skills/yoyo-control/references/vibration-mode.md +235 -0
  22. package/skills/yoyo-control/references/volume-operate.md +274 -0
  23. package/skills/yoyo-control/scripts/invoke.js +33 -111
  24. package/src/agent/copy-templates.ts +56 -0
  25. package/src/agent/index.ts +3 -0
  26. package/src/agent/templates/AGENTS.md +223 -0
  27. package/src/apis/claw-cloud.ts +70 -23
  28. package/src/apis/honor-auth.ts +20 -10
  29. package/src/apis/types.ts +24 -1
  30. package/src/cloud-channel/channel.ts +245 -58
  31. package/src/cloud-channel/client.ts +87 -12
  32. package/src/cloud-channel/types.ts +30 -0
  33. package/src/commands/env/impl.ts +58 -0
  34. package/src/commands/env/index.ts +1 -0
  35. package/src/commands/index.ts +11 -1
  36. package/src/commands/login/impl.ts +17 -8
  37. package/src/commands/logout/impl.ts +23 -0
  38. package/src/commands/logout/index.ts +1 -53
  39. package/src/commands/status/index.ts +172 -42
  40. package/src/gateway-client/client.deprecated.ts +1 -1
  41. package/src/gateway-client/client.ts +15 -20
  42. package/src/gateway-client/types.ts +2 -2
  43. package/src/honor-auth/browser.ts +12 -15
  44. package/src/honor-auth/callback-server.ts +3 -6
  45. package/src/honor-auth/cloud.ts +65 -12
  46. package/src/honor-auth/config.ts +25 -17
  47. package/src/honor-auth/index.ts +1 -0
  48. package/src/honor-auth/token-manager.ts +24 -14
  49. package/src/modules/claw-configs/config-manager.ts +211 -11
  50. package/src/modules/claw-configs/hosts.ts +48 -0
  51. package/src/modules/claw-configs/index.ts +1 -0
  52. package/src/modules/claw-configs/types.ts +4 -0
  53. package/src/modules/device/device-info.ts +20 -9
  54. package/src/modules/device/providers/linux.ts +128 -0
  55. package/src/modules/device/providers/macos.ts +123 -0
  56. package/src/modules/device/providers/pad.ts +0 -16
  57. package/src/modules/device/registry.ts +12 -3
  58. package/src/modules/login/impl.ts +38 -16
  59. package/src/runtime.ts +44 -0
  60. package/src/schemas.ts +4 -1
  61. package/src/services/connection/impl.ts +89 -9
  62. package/src/services/connection/status-tracker/events.ts +127 -0
  63. package/src/services/connection/status-tracker/index.ts +31 -0
  64. package/src/services/connection/status-tracker/storage.ts +133 -0
  65. package/src/services/connection/status-tracker/tracker.ts +370 -0
  66. package/src/services/connection/status-tracker/types.ts +131 -0
  67. package/src/types.ts +0 -4
  68. package/src/utils/fs-safe.ts +544 -0
  69. package/src/utils/version.ts +29 -0
  70. package/src/utils/ws.ts +21 -0
  71. package/skills/yoyo-control/references/open-app.md +0 -54
  72. package/skills/yoyo-control/references/phone-call.md +0 -217
  73. package/skills/yoyo-control/references/schedule.md +0 -107
  74. package/skills/yoyo-control/references/screen-recorder.md +0 -67
  75. package/skills/yoyo-control/references/search-contact.md +0 -37
  76. package/skills/yoyo-control/references/send-message.md +0 -155
  77. package/skills/yoyo-control/references/volume.md +0 -536
  78. package/skills/yoyo-control/scripts/README.md +0 -103
  79. package/skills/yoyo-control/scripts/volume-up.json +0 -7
@@ -0,0 +1,239 @@
1
+ ---
2
+ name: no-disturb
3
+ description: >
4
+ 免打扰模式管理工具。支持在特定时间段或特定情况下屏蔽来电和通知,
5
+ 减少干扰,提高专注度。提供即时开关、定时设置、联系人例外、应用通知控制等功能。
6
+ ---
7
+
8
+ # No Disturb 免打扰模式管理
9
+
10
+ ## Tool Command
11
+
12
+ ```bash
13
+ no-disturb
14
+ ```
15
+
16
+ ## 集成工作流
17
+
18
+ ### Step 1: 意图解析与参数组装
19
+
20
+ ```
21
+ ┌─────────────────────────────────────────────────────────────┐
22
+ │ 意图识别与参数提取 │
23
+ │ - 识别操作类型: 打开/关闭/设置/查询 │
24
+ │ - 识别时间规则: 是否定时、开始时间、结束时间 │
25
+ │ - 识别例外对象: 特定联系人、特定应用 │
26
+ │ - 特殊处理: "怎么/如何"类问题 → 标记为问答类型 │
27
+ └─────────────────────────────────────────────────────────────┘
28
+
29
+ ┌─────────────────────────────────────────────────────────────┐
30
+ │ 消歧与槽位填充 │
31
+ │ - 时间表达解析: 将自然语言时间转换为标准格式 │
32
+ │ · "周三12点半" → 具体日期时间 │
33
+ │ · "5月19号" → 仅日期,时间需补充或默认 │
34
+ │ · "晚上9点" → 21:00 │
35
+ │ · "两小时" → 从当前时间起计算 │
36
+ │ - 联系人验证: 确认联系人存在于通讯录 │
37
+ │ - 应用名称验证: 确认应用已安装 │
38
+ └─────────────────────────────────────────────────────────────┘
39
+
40
+ ┌─────────────────────────────────────────────────────────────┐
41
+ │ 生成工具调用 │
42
+ │ - 组装 actionType 及相关参数 │
43
+ │ - 处理时间参数: timing="是" 时,startTime/endTime 必填其一 │
44
+ │ - 生成平台特定的命令格式 │
45
+ └─────────────────────────────────────────────────────────────┘
46
+ ```
47
+
48
+ ### Step 2: 执行调用
49
+
50
+ - 根据操作系统选择对应的命令格式
51
+ - Windows: Cmd 格式(双引号需转义)
52
+ - Linux: Bash 格式(单引号包裹)
53
+
54
+ ## 意图分类与参数映射
55
+
56
+ | 用户意图 | 关键词示例 | actionType | 关键参数 | 说明 |
57
+ | :------------- | :----------------------------- | :------------ | :-------------------------------------- | :------------------------------------------- |
58
+ | **即时开关** | 开启/打开/关闭/关掉 + 免打扰 | `打开`/`关闭` | - | 立即生效,不涉及时间设置 |
59
+ | **定时设置** | \[时间段] + 免打扰/不打扰/安静 | `打开` | `timing="是"`, `startTime`, `endTime` | 指定起止时间的免打扰 |
60
+ | **单时间设置** | 从\[时间]开始 / 到\[时间]结束 | `打开` | `timing="是"`, `startTime` 或 `endTime` | 只提供单一时间点时,另一时间默认或从当前推断 |
61
+ | **联系人例外** | 允许/屏蔽 + \[联系人] + 来电 | `打开`/`设置` | `contact` | 设置特定联系人的免打扰规则 |
62
+ | **应用控制** | \[应用] + 通知 + 屏蔽/允许 | `设置` | `app` | 控制特定应用在免打扰下的通知行为 |
63
+ | **关闭定时** | 关闭/取消 + 定时免打扰 | `关闭` | `timing="是"` | 仅关闭定时规则,保留即时状态 |
64
+ | **状态查询** | 免打扰 + 状态/设置/怎么设置 | `查询` | - | 查询当前免打扰配置 |
65
+ | **使用帮助** | 怎么/如何 + 设置/使用 | `问答` | `query` | 提供免打扰功能使用指导 |
66
+
67
+ ## 参数定义
68
+
69
+ ```json
70
+ {
71
+ "action_type": {
72
+ "type": "string",
73
+ "enum": ["设置", "查询", "打开", "关闭"],
74
+ "description": "免打扰相关操作的动作类型,用于明确本次指令的主要行为。当涉及调整免打扰规则、时间段或放行条件时使用设置;当获取当前免打扰是否启用及相关配置状态时使用查询;当要求启用免打扰模式以屏蔽来电和通知时使用打开;当要求退出或关闭免打扰模式以恢复正常提醒时使用关闭。"
75
+ },
76
+ "contact": {
77
+ "type": "string",
78
+ "description": "指定在免打扰模式下需要特殊处理的联系人名称。当需要设置允许或限制某个特定联系人来电或消息时填写。"
79
+ },
80
+ "timing": {
81
+ "type": "string",
82
+ "enum": ["是", "否"],
83
+ "description": "是否启用定时免打扰操作,用于区分即时生效或按时间段自动生效的场景。"
84
+ },
85
+ "startTime": {
86
+ "type": "string",
87
+ "description": "免打扰定时规则的开始时间。当 timing 设置为是时,用于指定免打扰模式生效的起始时间。"
88
+ },
89
+ "endTime": {
90
+ "type": "string",
91
+ "description": "免打扰定时规则的结束时间。当 timing 设置为是时,用于指定免打扰模式结束并恢复通知的时间。"
92
+ },
93
+ "app": {
94
+ "type": "string",
95
+ "description": "指定在免打扰模式下需要单独控制通知行为的应用名称。当需要对某个应用进行通知屏蔽或例外设置时填写。"
96
+ }
97
+ }
98
+ ```
99
+
100
+ ## Query 示例及输出
101
+
102
+ ### 示例 1: 开启免打扰(即时)
103
+
104
+ **用户输入**: "开启免打扰"
105
+
106
+ **工具**: "no-disturb"
107
+
108
+ **JSON 参数**:
109
+
110
+ ```json
111
+ {
112
+ "actionType": "打开"
113
+ }
114
+ ```
115
+
116
+ **Windows (Cmd) 执行命令**:
117
+
118
+ ```bash
119
+ openclaw nodes invoke --node <ID> --command no-disturb --params "{\"actionType\":\"打开\"}"
120
+ ```
121
+
122
+ **Linux (Bash) 执行命令**:
123
+
124
+ ```bash
125
+ openclaw nodes invoke --node <ID> --command no-disturb --params '{"actionType":"打开"}'
126
+ ```
127
+
128
+ ---
129
+
130
+ ### 示例 2: 关闭免打扰
131
+
132
+ **用户输入**: "关闭免打扰"
133
+
134
+ **JSON 参数**:
135
+
136
+ ```json
137
+ {
138
+ "actionType": "关闭"
139
+ }
140
+ ```
141
+
142
+ **Windows (Cmd) 执行命令**:
143
+
144
+ ```bash
145
+ openclaw nodes invoke --node <ID> --command no-disturb --params "{\"actionType\":\"关闭\"}"
146
+ ```
147
+
148
+ **Linux (Bash) 执行命令**:
149
+
150
+ ```bash
151
+ openclaw nodes invoke --node <ID> --command no-disturb --params '{"actionType":"关闭"}'
152
+ ```
153
+
154
+ ---
155
+
156
+ ### 示例 3: 设置定时免打扰(完整时间段)
157
+
158
+ **用户输入**: "打开从周三12点半到18点的免打扰"
159
+
160
+ **JSON 参数**:
161
+
162
+ ```json
163
+ {
164
+ "actionType": "打开",
165
+ "timing": "是",
166
+ "startTime": "周三12点半",
167
+ "endTime": "18点"
168
+ }
169
+ ```
170
+
171
+ **Windows (Cmd) 执行命令**:
172
+
173
+ ```bash
174
+ openclaw nodes invoke --node <ID> --command no-disturb --params "{\"actionType\":\"打开\",\"timing\":\"是\",\"startTime\":\"周三12点半\",\"endTime\":\"18点\"}"
175
+ ```
176
+
177
+ **Linux (Bash) 执行命令**:
178
+
179
+ ```bash
180
+ openclaw nodes invoke --node <ID> --command no-disturb --params '{"actionType":"打开","timing":"是","startTime":"周三12点半","endTime":"18点"}'
181
+ ```
182
+
183
+ ---
184
+
185
+ ### 示例 4: 设置特定日期免打扰(仅开始时间)
186
+
187
+ **用户输入**: "帮我设置5月19号不接受来电"
188
+
189
+ **JSON 参数**:
190
+
191
+ ```json
192
+ {
193
+ "actionType": "打开",
194
+ "timing": "是",
195
+ "startTime": "5月19号"
196
+ }
197
+ ```
198
+
199
+ **Windows (Cmd) 执行命令**:
200
+
201
+ ```bash
202
+ openclaw nodes invoke --node <ID> --command no-disturb --params "{\"actionType\":\"打开\",\"timing\":\"是\",\"startTime\":\"5月19号\"}"
203
+ ```
204
+
205
+ **Linux (Bash) 执行命令**:
206
+
207
+ ```bash
208
+ openclaw nodes invoke --node <ID> --command no-disturb --params '{"actionType":"打开","timing":"是","startTime":"5月19号"}'
209
+ ```
210
+
211
+ ---
212
+
213
+ ### 示例 5: 设置到指定时间结束的免打扰(仅结束时间)
214
+
215
+ **用户输入**: "一直到晚上9点设置手机不打扰模式"
216
+
217
+ **JSON 参数**:
218
+
219
+ ```json
220
+ {
221
+ "actionType": "打开",
222
+ "timing": "是",
223
+ "endTime": "晚上9点"
224
+ }
225
+ ```
226
+
227
+ **Windows (Cmd) 执行命令**:
228
+
229
+ ```bash
230
+ openclaw nodes invoke --node <ID> --command no-disturb --params "{\"actionType\":\"打开\",\"timing\":\"是\",\"endTime\":\"晚上9点\"}"
231
+ ```
232
+
233
+ **Linux (Bash) 执行命令**:
234
+
235
+ ```bash
236
+ openclaw nodes invoke --node <ID> --command no-disturb --params '{"actionType":"打开","timing":"是","endTime":"晚上9点"}'
237
+ ```
238
+
239
+ ---
@@ -0,0 +1,228 @@
1
+ ---
2
+ name: quiet-mode
3
+ description: >
4
+ 设备静音模式管理与控制工具。提供对设备静音模式的管理与控制能力,
5
+ 支持静音模式的开启与关闭、当前状态的查询、静音持续时间的设置,
6
+ 以及结合指定应用或设备进行声音控制。
7
+ ---
8
+
9
+ # Quiet Mode 静音模式管理
10
+
11
+ ## Tool Command
12
+
13
+ ```bash
14
+ quiet-mode
15
+ ```
16
+
17
+ ## 集成工作流
18
+
19
+ ### Step 1: 意图解析与参数组装
20
+
21
+ ```
22
+ ┌─────────────────────────────────────────────────────────────┐
23
+ │ 意图识别与参数提取 │
24
+ │ - 识别操作类型: 打开/关闭/设置/查询 │
25
+ │ - 提取修饰词: 应用名称、持续时间、设备名称 │
26
+ │ - 特殊处理: "无声/不响"等同义词 → 映射为打开静音模式 │
27
+ └─────────────────────────────────────────────────────────────┘
28
+
29
+ ┌─────────────────────────────────────────────────────────────┐
30
+ │ 消歧与槽位填充 │
31
+ │ - 多设备场景未指定设备时,需向用户确认目标设备 │
32
+ │ - 应用级操作需验证应用名称有效性 │
33
+ │ - 持续时间缺省时,默认为永久生效直到手动关闭 │
34
+ └─────────────────────────────────────────────────────────────┘
35
+
36
+ ┌─────────────────────────────────────────────────────────────┐
37
+ │ 生成工具调用 │
38
+ │ - 组装 actionType 及可选参数(app, duration, device) │
39
+ │ - 生成平台特定的命令格式 │
40
+ └─────────────────────────────────────────────────────────────┘
41
+ ```
42
+
43
+ ### Step 2: 执行调用
44
+
45
+ - 根据操作系统选择对应的命令格式
46
+ - Windows: Cmd 格式(双引号需转义)
47
+ - Linux: Bash 格式(单引号包裹)
48
+
49
+ ## 意图分类与参数映射
50
+
51
+ | 用户意图 | 关键词示例 | actionType | 可选参数 |
52
+ | :----------- | :----------------------------------- | :--------- | :-------------------------- |
53
+ | **开启静音** | 打开/开启/启用 + 静音模式,无声/不响 | `打开` | `app`, `duration`, `device` |
54
+ | **关闭静音** | 关闭/退出/取消 + 静音模式,恢复声音 | `关闭` | `app`, `device` |
55
+ | **设置静音** | 设置/调整 + 静音时长/声音控制规则 | `设置` | `app`, `duration`, `device` |
56
+ | **查询状态** | 查询/查看 + 静音状态/是否静音 | `查询` | `device` |
57
+
58
+ ## 参数定义
59
+
60
+ ```json
61
+ {
62
+ "actionType": {
63
+ "type": "string",
64
+ "enum": ["设置", "查询", "打开", "关闭"],
65
+ "description": "静音模式相关操作的动作类型,用于明确本次指令的主要行为。当涉及调整静音持续时间或相关声音控制规则时使用设置;当获取当前是否处于静音模式及其状态信息时使用查询;当要求立即启用静音模式以关闭系统和应用声音时使用打开;当要求退出或关闭静音模式以恢复正常声音时使用关闭。"
66
+ },
67
+ "app": {
68
+ "type": "string",
69
+ "description": "指定在静音模式下需要重点控制或关注声音行为的应用名称。当明确要求某个应用在静音模式中的声音策略时填写。"
70
+ },
71
+ "duration": {
72
+ "type": "string",
73
+ "description": "静音模式生效的持续时间或时间段设置,用于控制静音模式在指定时长后自动结束。"
74
+ },
75
+ "device": {
76
+ "type": "string",
77
+ "description": "指定需要进行静音模式操作的设备名称。当涉及多设备管理或明确针对某一设备设置静音模式时填写。"
78
+ }
79
+ }
80
+ ```
81
+
82
+ ### 参数注意事项
83
+
84
+ 1. **持续时间默认**: 打开静音模式未指定持续时间时,默认为永久生效直到手动关闭
85
+ 2. **同义词映射**: "无声"、"不响"、"静音"等表述均应映射为静音模式打开操作
86
+ 3. **多设备场景**: 当用户涉及多设备操作但未指定设备时,需通过槽位追问确认目标设备
87
+
88
+ ## Query 示例及输出
89
+
90
+ ### 示例 1: 打开静音模式
91
+
92
+ **用户输入**: "打开静音模式"
93
+
94
+ **工具**: "quiet-mode"
95
+
96
+ **JSON 参数**:
97
+
98
+ ```json
99
+ {
100
+ "actionType": "打开"
101
+ }
102
+ ```
103
+
104
+ **Windows (Cmd) 执行命令**:
105
+
106
+ ```bash
107
+ openclaw nodes invoke --node <ID> --command quiet-mode --params "{\"actionType\":\"打开\"}"
108
+ ```
109
+
110
+ **Linux (Bash) 执行命令**:
111
+
112
+ ```bash
113
+ openclaw nodes invoke --node <ID> --command quiet-mode --params '{"actionType":"打开"}'
114
+ ```
115
+
116
+ ---
117
+
118
+ ### 示例 2: 关闭静音模式
119
+
120
+ **用户输入**: "关闭静音模式"
121
+
122
+ **工具**: "quiet-mode"
123
+
124
+ **JSON 参数**:
125
+
126
+ ```json
127
+ {
128
+ "actionType": "关闭"
129
+ }
130
+ ```
131
+
132
+ **Windows (Cmd) 执行命令**:
133
+
134
+ ```bash
135
+ openclaw nodes invoke --node <ID> --command quiet-mode --params "{\"actionType\":\"关闭\"}"
136
+ ```
137
+
138
+ **Linux (Bash) 执行命令**:
139
+
140
+ ```bash
141
+ openclaw nodes invoke --node <ID> --command quiet-mode --params '{"actionType":"关闭"}'
142
+ ```
143
+
144
+ ---
145
+
146
+ ### 示例 3: 定时开启静音模式
147
+
148
+ **用户输入**: "30分钟后静音"
149
+
150
+ **JSON 参数**:
151
+
152
+ ```json
153
+ {
154
+ "actionType": "打开",
155
+ "duration": "30分钟后"
156
+ }
157
+ ```
158
+
159
+ **Windows (Cmd) 执行命令**:
160
+
161
+ ```bash
162
+ openclaw nodes invoke --node <ID> --command quiet-mode --params "{\"actionType\":\"打开\",\"duration\":\"30分钟后\"}"
163
+ ```
164
+
165
+ **Linux (Bash) 执行命令**:
166
+
167
+ ```bash
168
+ openclaw nodes invoke --node <ID> --command quiet-mode --params '{"actionType":"打开","duration":"30分钟后"}'
169
+ ```
170
+
171
+ ---
172
+
173
+ ### 示例 4: 指定应用静音
174
+
175
+ **用户输入**: "将高德导航的提示音设置为无声"
176
+
177
+ **JSON 参数**:
178
+
179
+ ```json
180
+ {
181
+ "actionType": "打开",
182
+ "app": "高德导航"
183
+ }
184
+ ```
185
+
186
+ **Windows (Cmd) 执行命令**:
187
+
188
+ ```bash
189
+ openclaw nodes invoke --node <ID> --command quiet-mode --params "{\"actionType\":\"打开\",\"app\":\"高德导航\"}"
190
+ ```
191
+
192
+ **Linux (Bash) 执行命令**:
193
+
194
+ ```bash
195
+ openclaw nodes invoke --node <ID> --command quiet-mode --params '{"actionType":"打开","app":"高德导航"}'
196
+ ```
197
+
198
+ ---
199
+
200
+ ### 示例 5: 指定设备与应用静音
201
+
202
+ **用户输入**: "将车载导航的音响静音"
203
+
204
+ **工具**: "quiet-mode"
205
+
206
+ **JSON 参数**:
207
+
208
+ ```json
209
+ {
210
+ "actionType": "打开",
211
+ "app": "导航",
212
+ "device": "车载"
213
+ }
214
+ ```
215
+
216
+ **Windows (Cmd) 执行命令**:
217
+
218
+ ```bash
219
+ openclaw nodes invoke --node <ID> --command quiet-mode --params "{\"actionType\":\"打开\",\"app\":\"导航\",\"device\":\"车载\"}"
220
+ ```
221
+
222
+ **Linux (Bash) 执行命令**:
223
+
224
+ ```bash
225
+ openclaw nodes invoke --node <ID> --command quiet-mode --params '{"actionType":"打开","app":"导航","device":"车载"}'
226
+ ```
227
+
228
+ ---
@@ -0,0 +1,223 @@
1
+ ---
2
+ name: ringing-mode
3
+ description: >
4
+ 响铃模式管理工具。提供对系统响铃模式的管理与控制能力,
5
+ 支持对响铃模式的开启与关闭、相关行为的设置以及当前状态的查询,
6
+ 并可结合指定应用对其在响铃模式下的表现进行管理。
7
+ ---
8
+
9
+ # Ringing Mode 响铃模式管理
10
+
11
+ ## Tool Command
12
+
13
+ ```bash
14
+ ringing-mode
15
+ ```
16
+
17
+ ## 集成工作流
18
+
19
+ ### Step 1: 意图解析与参数组装
20
+
21
+ ```
22
+ ┌─────────────────────────────────────────────────────────────┐
23
+ │ 意图识别与参数提取 │
24
+ │ - 识别操作类型: 设置/查询/打开/关闭 │
25
+ │ - 识别操作对象: 响铃模式/来电铃声/提醒音效等 │
26
+ │ - 提取修饰词: 应用名称、铃声类型 │
27
+ │ - 特殊处理: "停止声音通知" → 标记为关闭类型 │
28
+ └─────────────────────────────────────────────────────────────┘
29
+
30
+ ┌─────────────────────────────────────────────────────────────┐
31
+ │ 消歧与槽位填充 │
32
+ │ - 未明确操作对象时,默认对系统响铃模式整体进行操作 │
33
+ │ - 应用级操作需验证应用名称有效性 │
34
+ │ - "来电提醒音效"等间接表述需映射到响铃模式操作 │
35
+ └─────────────────────────────────────────────────────────────┘
36
+
37
+ ┌─────────────────────────────────────────────────────────────┐
38
+ │ 生成工具调用 │
39
+ │ - 组装 actionType 及可选参数 │
40
+ │ - 生成平台特定的命令格式 │
41
+ └─────────────────────────────────────────────────────────────┘
42
+ ```
43
+
44
+ ### Step 2: 执行调用
45
+
46
+ - 根据操作系统选择对应的命令格式
47
+ - Windows: Cmd 格式(双引号需转义)
48
+ - Linux: Bash 格式(单引号包裹)
49
+
50
+ ## 意图分类与参数映射
51
+
52
+ | 用户意图 | 关键词示例 | actionType | 可选参数 |
53
+ | :--------------- | :--------------------------------- | :--------- | :------- |
54
+ | **开启响铃模式** | 打开/开启/恢复 + 响铃模式/铃声 | `打开` | `app` |
55
+ | **关闭响铃模式** | 关闭/停止/关掉 + 响铃模式/声音通知 | `关闭` | `app` |
56
+ | **设置响铃行为** | 设置/调整/进入 + 响铃模式/铃声配置 | `设置` | `app` |
57
+ | **查询响铃状态** | 查询/查看/当前 + 响铃模式/铃声状态 | `查询` | `app` |
58
+ | **开启响铃提醒** | 开启/打开 + 来电提醒/短信提醒音 | `打开` | `app` |
59
+ | **关闭提醒音效** | 关闭/停止 + 来电音效/提醒音效 | `关闭` | `app` |
60
+
61
+ ## 参数定义
62
+
63
+ ```json
64
+ {
65
+ "actionType": {
66
+ "type": "string",
67
+ "enum": ["设置", "查询", "打开", "关闭"],
68
+ "description": "响铃模式相关操作的动作类型,用于明确本次指令的主要行为。当涉及调整响铃模式相关规则或行为配置时使用设置;当获取当前是否处于响铃模式及其状态信息时使用查询;当要求启用响铃模式以允许声音提示时使用打开;当要求关闭响铃模式或切换至非响铃状态时使用关闭。"
69
+ },
70
+ "app": {
71
+ "type": "string",
72
+ "description": "指定执行响铃模式相关操作的应用名称。当明确要求针对某个特定应用控制其在响铃模式下的声音表现时填写。"
73
+ }
74
+ }
75
+ ```
76
+
77
+ ### 参数注意事项
78
+
79
+ 1. **actionType 必填**: 每次调用必须明确指定操作类型
80
+ 2. **app 可选**: 仅在用户明确指定某个应用的响铃模式行为时填写,不指定则默认为系统全局响铃模式
81
+ 3. **间接表述映射**: 当用户提及"停止来电声音通知"、"关闭提醒音效"等间接表述时,应映射为 `关闭` 类型;提及"来电和提醒都应该开启"时,应映射为 `打开` 类型
82
+
83
+ ## Query 示例及输出
84
+
85
+ ### 示例 1: 打开响铃模式
86
+
87
+ **用户输入**: "打开响铃模式"
88
+
89
+ **工具**: "ringing-mode"
90
+
91
+ **JSON 参数**:
92
+
93
+ ```json
94
+ {
95
+ "actionType": "打开"
96
+ }
97
+ ```
98
+
99
+ **Windows (Cmd) 执行命令**:
100
+
101
+ ```bash
102
+ openclaw nodes invoke --node <ID> --command ringing-mode --params "{\"actionType\":\"打开\"}"
103
+ ```
104
+
105
+ **Linux (Bash) 执行命令**:
106
+
107
+ ```bash
108
+ openclaw nodes invoke --node <ID> --command ringing-mode --params '{"actionType":"打开"}'
109
+ ```
110
+
111
+ ---
112
+
113
+ ### 示例 2: 关闭响铃模式
114
+
115
+ **用户输入**: "关闭响铃模式"
116
+
117
+ **工具**: "ringing-mode"
118
+
119
+ **JSON 参数**:
120
+
121
+ ```json
122
+ {
123
+ "actionType": "关闭"
124
+ }
125
+ ```
126
+
127
+ **Windows (Cmd) 执行命令**:
128
+
129
+ ```bash
130
+ openclaw nodes invoke --node <ID> --command ringing-mode --params "{\"actionType\":\"关闭\"}"
131
+ ```
132
+
133
+ **Linux (Bash) 执行命令**:
134
+
135
+ ```bash
136
+ openclaw nodes invoke --node <ID> --command ringing-mode --params '{"actionType":"关闭"}'
137
+ ```
138
+
139
+ ---
140
+
141
+ ### 示例 3: 进入响铃模式设置页面
142
+
143
+ **用户输入**: "进入响铃模式设置页面"
144
+
145
+ **工具**: "ringing-mode"
146
+
147
+ **JSON 参数**:
148
+
149
+ ```json
150
+ {
151
+ "actionType": "设置"
152
+ }
153
+ ```
154
+
155
+ **Windows (Cmd) 执行命令**:
156
+
157
+ ```bash
158
+ openclaw nodes invoke --node <ID> --command ringing-mode --params "{\"actionType\":\"设置\"}"
159
+ ```
160
+
161
+ **Linux (Bash) 执行命令**:
162
+
163
+ ```bash
164
+ openclaw nodes invoke --node <ID> --command ringing-mode --params '{"actionType":"设置"}'
165
+ ```
166
+
167
+ ---
168
+
169
+ ### 示例 4: 停止来电声音通知
170
+
171
+ **用户输入**: "停止来电声音通知方式"
172
+
173
+ **工具**: "ringing-mode"
174
+
175
+ **JSON 参数**:
176
+
177
+ ```json
178
+ {
179
+ "actionType": "关闭"
180
+ }
181
+ ```
182
+
183
+ **Windows (Cmd) 执行命令**:
184
+
185
+ ```bash
186
+ openclaw nodes invoke --node <ID> --command ringing-mode --params "{\"actionType\":\"关闭\"}"
187
+ ```
188
+
189
+ **Linux (Bash) 执行命令**:
190
+
191
+ ```bash
192
+ openclaw nodes invoke --node <ID> --command ringing-mode --params '{"actionType":"关闭"}'
193
+ ```
194
+
195
+ ---
196
+
197
+ ### 示例 5: 关闭来电和短信的提醒音效
198
+
199
+ **用户输入**: "您好YOYO关闭来电和短信的提醒音效和声音和模式"
200
+
201
+ **工具**: "ringing-mode"
202
+
203
+ **JSON 参数**:
204
+
205
+ ```json
206
+ {
207
+ "actionType": "关闭"
208
+ }
209
+ ```
210
+
211
+ **Windows (Cmd) 执行命令**:
212
+
213
+ ```bash
214
+ openclaw nodes invoke --node <ID> --command ringing-mode --params "{\"actionType\":\"关闭\"}"
215
+ ```
216
+
217
+ **Linux (Bash) 执行命令**:
218
+
219
+ ```bash
220
+ openclaw nodes invoke --node <ID> --command ringing-mode --params '{"actionType":"关闭"}'
221
+ ```
222
+
223
+ ---