@honor-claw/yoyo 1.0.6 → 1.0.7-beta.1
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 +4 -6
- package/skills/yoyo-control/SKILL.md +13 -6
- package/skills/yoyo-control/references/alarm-create.md +33 -33
- package/skills/yoyo-control/references/alarm-delete.md +361 -0
- package/skills/yoyo-control/references/alarm-disable.md +362 -0
- package/skills/yoyo-control/references/alarm-enable.md +362 -0
- package/skills/yoyo-control/references/alarm-query.md +568 -0
- package/skills/yoyo-control/references/app-close.md +12 -16
- package/skills/yoyo-control/references/app-open.md +10 -10
- package/skills/yoyo-control/references/call-phone.md +10 -10
- package/skills/yoyo-control/references/capture-screenshot.md +11 -11
- package/skills/yoyo-control/references/contact-search.md +11 -11
- package/skills/yoyo-control/references/file-upload.md +358 -0
- package/skills/yoyo-control/references/hotspot.md +11 -11
- package/skills/yoyo-control/references/local-search.md +10 -10
- package/skills/yoyo-control/references/message-send.md +10 -10
- package/skills/yoyo-control/references/mobile-data.md +11 -11
- package/skills/yoyo-control/references/no-disturb.md +11 -11
- package/skills/yoyo-control/references/quiet-mode.md +11 -11
- package/skills/yoyo-control/references/ringing-mode.md +11 -11
- package/skills/yoyo-control/references/screen-record.md +11 -11
- package/skills/yoyo-control/references/search-record.md +173 -0
- package/skills/yoyo-control/references/vibration-mode.md +11 -11
- package/skills/yoyo-control/references/volume-operate.md +13 -26
- package/src/apis/claw-cloud.ts +4 -4
- package/src/cloud-channel/admin-client-manager.ts +85 -0
- package/src/cloud-channel/channel.ts +35 -346
- package/src/cloud-channel/client.ts +10 -12
- package/src/cloud-channel/message-handler.ts +339 -0
- package/src/cloud-channel/session-manager.ts +127 -0
- package/src/cloud-channel/types.ts +5 -1
- package/src/commands/index.ts +1 -0
- package/src/gateway-client/admin-gateway-client.ts +34 -0
- package/src/gateway-client/client.ts +28 -9
- package/src/gateway-client/index.ts +4 -1
- package/src/gateway-client/node-gateway-client.ts +96 -0
- package/src/gateway-client/protocol/client.ts +68 -0
- package/src/gateway-client/protocol/index.ts +3 -0
- package/src/gateway-client/protocol/skill.ts +53 -0
- package/src/gateway-client/protocol/types.ts +92 -0
- package/src/gateway-client/protocol-client.ts +211 -0
- package/src/modules/claw-configs/provider.ts +2 -2
- package/src/modules/device/device-info.ts +1 -0
- package/src/modules/device/providers/base.ts +5 -0
- package/src/modules/device/providers/linux.ts +8 -0
- package/src/modules/device/providers/macos.ts +7 -0
- package/src/modules/device/providers/pad.ts +9 -0
- package/src/modules/device/providers/windows.ts +37 -0
- package/src/services/connection/impl.ts +1 -1
- package/src/types.ts +4 -0
- package/src/gateway-client/types.deprecated.ts +0 -217
- package/src/gateway-client/types.ts +0 -8
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@honor-claw/yoyo",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.7-beta.1",
|
|
4
4
|
"description": "OpenClaw Honor Yoyo connection plugin",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai",
|
|
@@ -23,7 +23,9 @@
|
|
|
23
23
|
"test:unit": "vitest run",
|
|
24
24
|
"test:unit:watch": "vitest",
|
|
25
25
|
"test:coverage": "vitest run --coverage",
|
|
26
|
-
"ci:check": "npx tsc --noEmit && npm run test:coverage"
|
|
26
|
+
"ci:check": "npx tsc --noEmit && npm run test:coverage",
|
|
27
|
+
"publish:beta": "node scripts/publish.js",
|
|
28
|
+
"publish:latest": "node scripts/publish.js --release"
|
|
27
29
|
},
|
|
28
30
|
"dependencies": {
|
|
29
31
|
"http-proxy-agent": "^8.0.0",
|
|
@@ -42,13 +44,9 @@
|
|
|
42
44
|
"@types/ws": "^8.5.13",
|
|
43
45
|
"@vitest/coverage-v8": "^2.1.8",
|
|
44
46
|
"commander": "^14.0.3",
|
|
45
|
-
"openclaw": "2026.3.8",
|
|
46
47
|
"typescript": "^5.7.0",
|
|
47
48
|
"vitest": "^2.1.8"
|
|
48
49
|
},
|
|
49
|
-
"peerDependencies": {
|
|
50
|
-
"openclaw": ">=2026.3.8"
|
|
51
|
-
},
|
|
52
50
|
"openclaw": {
|
|
53
51
|
"extensions": [
|
|
54
52
|
"./index.ts"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: YOYO-phone-control
|
|
3
3
|
version: 1.0.0
|
|
4
|
-
description:
|
|
4
|
+
description: 用于控制和操作手机系统功能及本地信息的工具集合,包括打开/关闭应用、发送短信、拨打电话、搜索联系人、搜索通话记录、创建/打开/查询/关闭/删除闹钟、截屏、屏幕录制、调节音量、切换响铃/静音/勿扰模式、管理移动数据或热点、进行本地内容搜索、文件发送等。
|
|
5
5
|
metadata: { "openclaw": { "emoji": "📱", "always": true } }
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -92,8 +92,15 @@ Before executing any device control operation, you **MUST** consult the correspo
|
|
|
92
92
|
| `contact` | `references/contact-search.md` | 联系人查找服务工具。提供按姓名、昵称、电话号码检索联系人的能力,支持区分自然人名与机构/黄页条目,可处理模糊匹配、多结果列表展示及序号选择场景。 |
|
|
93
93
|
| `call` | `references/call-phone.md` | 智能电话拨打与管理工具。提供全面的电话呼叫功能,支持通过姓名、电话号码或黄页服务发起呼叫;支持指定拨号使用的SIM卡(移动/联通/电信/卡槽);具备重拨最后号码、回拨已接听来电、回拨未接听来电及通用回拨功能。 |
|
|
94
94
|
| `message` | `references/message-send.md` | 提供发送短信的服务。支持通过电话号码或联系人名称发送短信内容,可使用黄页发送短信至公共服务号码,以及发送名片信息给指定联系人。 |
|
|
95
|
-
| `local-search` | `references/local-search.md` | 查询手机文档、笔记、日程、图库、yoyo记忆、钱包等
|
|
96
|
-
| `
|
|
95
|
+
| `local-search` | `references/local-search.md` | 查询手机文档、笔记、日程、图库、yoyo记忆、钱包等 |
|
|
96
|
+
| `file-upload` | `references/file-upload.md` | 文件上传工具。用于将本地文件上传到指定位置。当用户明确提供文件路径时直接调用;当用户仅描述文件(如"某文件"、"某照片")时,需先调用 local-search 查询获取文件路径,再执行上传。 |
|
|
97
|
+
| `alarm` | `references/alarm-create.md` | 闹钟创建工具。用于创建闹钟,当用户明确创建/定一个闹钟时,属于创建闹钟。 |
|
|
98
|
+
| `alarm` | `references/alarm-query.md` | 闹钟查询工具。用于查询已创建的闹钟列表,支持按时间、标题、重复类型等多维度筛选。 |
|
|
99
|
+
| `alarm` | `references/alarm-delete.md` | 闹钟删除工具。用于永久删除已创建的闹钟,支持批量删除多个闹钟。 |
|
|
100
|
+
| `alarm` | `references/alarm-disable.md` | 闹钟关闭工具。用于禁用已创建的闹钟,支持批量关闭多个闹钟。 |
|
|
101
|
+
| `alarm` | `references/alarm-enable.md` | 闹钟打开工具。用于启用已创建的闹钟,支持批量打开多个闹钟。 |
|
|
102
|
+
| `call` | `references/search-record.md` | 提供查看通话记录(全部、未接听、已接听,或按联系人筛选)服务。 |
|
|
103
|
+
|
|
97
104
|
|
|
98
105
|
### Command and Parameters Construction Workflow
|
|
99
106
|
|
|
@@ -143,7 +150,7 @@ Execute the following steps **in strict order** for each operation to construct
|
|
|
143
150
|
|
|
144
151
|
**Command**:
|
|
145
152
|
|
|
146
|
-
- window(
|
|
153
|
+
- window(Cmd): `cmd /c 'openclaw nodes invoke --node <ID> --command <command> --params "<json>"`
|
|
147
154
|
- Other: `openclaw nodes invoke --node <IP> --command <command> --params '<json>'`
|
|
148
155
|
|
|
149
156
|
**Purpose**: Send command to target node and initiate operation.
|
|
@@ -182,8 +189,8 @@ Before executing any command, you **MUST** detect the current platform and use t
|
|
|
182
189
|
|
|
183
190
|
| Platform | Shell Type | Quote Style | JSON Escaping Required | Example Command |
|
|
184
191
|
| ----------- | ---------- | ------------------------------- | ---------------------- | -------------------------------------------------------------------------------------------- |
|
|
185
|
-
| **Windows** | CMD | Double quotes, escape inner `"` | ✅ YES | `openclaw nodes invoke <
|
|
186
|
-
| **Windows** | PowerShell | Double quotes, escape inner `$` | ✅ YES | `openclaw nodes invoke <
|
|
192
|
+
| **Windows** | CMD | Double quotes, escape inner `"` | ✅ YES | `cmd /c 'openclaw nodes invoke --node <ID> --command phone.call --params "{\"actionType\":\"打电话\"}"` |
|
|
193
|
+
| **Windows** | PowerShell | Double quotes, escape inner `$` | ✅ YES | `cmd /c 'openclaw nodes invoke --node <ID> --command phone.call --params "{\`"actionType\`":\`"打电话\`"}"` |
|
|
187
194
|
| **Linux** | Bash | Single quotes | ❌ NO | `openclaw nodes invoke <IP> --command phone.call --params '{"actionType":"打电话"}'` |
|
|
188
195
|
| **macOS** | Bash/Zsh | Single quotes | ❌ NO | `openclaw nodes invoke <IP> --command phone.call --params '{"actionType":"打电话"}'` |
|
|
189
196
|
|
|
@@ -140,14 +140,14 @@ alarm.create
|
|
|
140
140
|
|
|
141
141
|
**Windows (Cmd) 执行命令**:
|
|
142
142
|
|
|
143
|
-
|
|
144
|
-
openclaw nodes invoke <ID> --command alarm.create --params "{
|
|
143
|
+
``Cmd
|
|
144
|
+
cmd /c 'openclaw nodes invoke --node <ID> --command alarm.create --params \"{\\\"time\\\":\\\"T10:00:00\\\",\\\"realRepeatType\\\":0,\\\"daysOfWeek\\\":0,\\\"specialTimeMillis\\\":0,\\\"skipHoliday\\\":false}\"'
|
|
145
145
|
```
|
|
146
146
|
|
|
147
147
|
**Linux (Bash) 执行命令**:
|
|
148
148
|
|
|
149
149
|
```bash
|
|
150
|
-
openclaw nodes invoke <ID> --command alarm.create --params '{"time":"T10:00:00","realRepeatType":0,"daysOfWeek":0,"specialTimeMillis":0,"skipHoliday":false}'
|
|
150
|
+
openclaw nodes invoke --node <ID> --command alarm.create --params '{"time":"T10:00:00","realRepeatType":0,"daysOfWeek":0,"specialTimeMillis":0,"skipHoliday":false}'
|
|
151
151
|
```
|
|
152
152
|
|
|
153
153
|
---
|
|
@@ -171,14 +171,14 @@ openclaw nodes invoke <ID> --command alarm.create --params '{"time":"T10:00:00",
|
|
|
171
171
|
|
|
172
172
|
**Windows (Cmd) 执行命令**:
|
|
173
173
|
|
|
174
|
-
|
|
175
|
-
openclaw nodes invoke <ID> --command alarm.create --params "{
|
|
174
|
+
``Cmd
|
|
175
|
+
cmd /c 'openclaw nodes invoke --node <ID> --command alarm.create --params \"{\\\"title\\\":\\\"购物\\\",\\\"time\\\":\\\"T15:00:00\\\",\\\"realRepeatType\\\":0,\\\"daysOfWeek\\\":0,\\\"specialTimeMillis\\\":0,\\\"skipHoliday\\\":false}\"'
|
|
176
176
|
```
|
|
177
177
|
|
|
178
178
|
**Linux (Bash) 执行命令**:
|
|
179
179
|
|
|
180
180
|
```bash
|
|
181
|
-
openclaw nodes invoke <ID> --command alarm.create --params '{"title":"购物","time":"T15:00:00","realRepeatType":0,"daysOfWeek":0,"specialTimeMillis":0,"skipHoliday":false}'
|
|
181
|
+
openclaw nodes invoke --node <ID> --command alarm.create --params '{"title":"购物","time":"T15:00:00","realRepeatType":0,"daysOfWeek":0,"specialTimeMillis":0,"skipHoliday":false}'
|
|
182
182
|
```
|
|
183
183
|
|
|
184
184
|
---
|
|
@@ -202,14 +202,14 @@ openclaw nodes invoke <ID> --command alarm.create --params '{"title":"购物","t
|
|
|
202
202
|
|
|
203
203
|
**Windows (Cmd) 执行命令**:
|
|
204
204
|
|
|
205
|
-
|
|
206
|
-
openclaw nodes invoke <ID> --command alarm.create --params "{
|
|
205
|
+
``Cmd
|
|
206
|
+
cmd /c 'openclaw nodes invoke --node <ID> --command alarm.create --params \"{\\\"title\\\":\\\"起床\\\",\\\"time\\\":\\\"T07:00:00\\\",\\\"realRepeatType\\\":2,\\\"daysOfWeek\\\":0,\\\"specialTimeMillis\\\":0,\\\"skipHoliday\\\":false}\"'
|
|
207
207
|
```
|
|
208
208
|
|
|
209
209
|
**Linux (Bash) 执行命令**:
|
|
210
210
|
|
|
211
211
|
```bash
|
|
212
|
-
openclaw nodes invoke <ID> --command alarm.create --params '{"title":"起床","time":"T07:00:00","realRepeatType":2,"daysOfWeek":0,"specialTimeMillis":0,"skipHoliday":false}'
|
|
212
|
+
openclaw nodes invoke --node <ID> --command alarm.create --params '{"title":"起床","time":"T07:00:00","realRepeatType":2,"daysOfWeek":0,"specialTimeMillis":0,"skipHoliday":false}'
|
|
213
213
|
```
|
|
214
214
|
|
|
215
215
|
---
|
|
@@ -232,14 +232,14 @@ openclaw nodes invoke <ID> --command alarm.create --params '{"title":"起床","t
|
|
|
232
232
|
|
|
233
233
|
**Windows (Cmd) 执行命令**:
|
|
234
234
|
|
|
235
|
-
|
|
236
|
-
openclaw nodes invoke <ID> --command alarm.create --params "{
|
|
235
|
+
``Cmd
|
|
236
|
+
cmd /c 'openclaw nodes invoke --node <ID> --command alarm.create --params \"{\\\"time\\\":\\\"T08:00:00\\\",\\\"realRepeatType\\\":1,\\\"daysOfWeek\\\":0,\\\"specialTimeMillis\\\":0,\\\"skipHoliday\\\":false}\"'
|
|
237
237
|
```
|
|
238
238
|
|
|
239
239
|
**Linux (Bash) 执行命令**:
|
|
240
240
|
|
|
241
241
|
```bash
|
|
242
|
-
openclaw nodes invoke <ID> --command alarm.create --params '{"time":"T08:00:00","realRepeatType":1,"daysOfWeek":0,"specialTimeMillis":0,"skipHoliday":false}'
|
|
242
|
+
openclaw nodes invoke --node <ID> --command alarm.create --params '{"time":"T08:00:00","realRepeatType":1,"daysOfWeek":0,"specialTimeMillis":0,"skipHoliday":false}'
|
|
243
243
|
```
|
|
244
244
|
|
|
245
245
|
---
|
|
@@ -264,14 +264,14 @@ openclaw nodes invoke <ID> --command alarm.create --params '{"time":"T08:00:00",
|
|
|
264
264
|
|
|
265
265
|
**Windows (Cmd) 执行命令**:
|
|
266
266
|
|
|
267
|
-
|
|
268
|
-
openclaw nodes invoke <ID> --command alarm.create --params "{
|
|
267
|
+
``Cmd
|
|
268
|
+
cmd /c 'openclaw nodes invoke --node <ID> --command alarm.create --params \"{\\\"time\\\":\\\"T15:00:00\\\",\\\"realRepeatType\\\":3,\\\"daysOfWeek\\\":20,\\\"specialTimeMillis\\\":0,\\\"skipHoliday\\\":false}\"'
|
|
269
269
|
```
|
|
270
270
|
|
|
271
271
|
**Linux (Bash) 执行命令**:
|
|
272
272
|
|
|
273
273
|
```bash
|
|
274
|
-
openclaw nodes invoke <ID> --command alarm.create --params '{"time":"T15:00:00","realRepeatType":3,"daysOfWeek":20,"specialTimeMillis":0,"skipHoliday":false}'
|
|
274
|
+
openclaw nodes invoke --node <ID> --command alarm.create --params '{"time":"T15:00:00","realRepeatType":3,"daysOfWeek":20,"specialTimeMillis":0,"skipHoliday":false}'
|
|
275
275
|
```
|
|
276
276
|
|
|
277
277
|
---
|
|
@@ -296,14 +296,14 @@ openclaw nodes invoke <ID> --command alarm.create --params '{"time":"T15:00:00",
|
|
|
296
296
|
|
|
297
297
|
**Windows (Cmd) 执行命令**:
|
|
298
298
|
|
|
299
|
-
|
|
300
|
-
openclaw nodes invoke <ID> --command alarm.create --params "{
|
|
299
|
+
``Cmd
|
|
300
|
+
cmd /c 'openclaw nodes invoke --node <ID> --command alarm.create --params \"{\\\"time\\\":\\\"T08:00:00\\\",\\\"realRepeatType\\\":5,\\\"daysOfWeek\\\":0,\\\"specialTimeMillis\\\":1773964800000,\\\"skipHoliday\\\":false}\"'
|
|
301
301
|
```
|
|
302
302
|
|
|
303
303
|
**Linux (Bash) 执行命令**:
|
|
304
304
|
|
|
305
305
|
```bash
|
|
306
|
-
openclaw nodes invoke <ID> --command alarm.create --params '{"time":"T08:00:00","realRepeatType":5,"daysOfWeek":0,"specialTimeMillis":1773964800000,"skipHoliday":false}'
|
|
306
|
+
openclaw nodes invoke --node <ID> --command alarm.create --params '{"time":"T08:00:00","realRepeatType":5,"daysOfWeek":0,"specialTimeMillis":1773964800000,"skipHoliday":false}'
|
|
307
307
|
```
|
|
308
308
|
|
|
309
309
|
---
|
|
@@ -328,14 +328,14 @@ openclaw nodes invoke <ID> --command alarm.create --params '{"time":"T08:00:00",
|
|
|
328
328
|
|
|
329
329
|
**Windows (Cmd) 执行命令**:
|
|
330
330
|
|
|
331
|
-
|
|
332
|
-
openclaw nodes invoke <ID> --command alarm.create --params "{
|
|
331
|
+
``Cmd
|
|
332
|
+
cmd /c 'openclaw nodes invoke --node <ID> --command alarm.create --params \"{\\\"time\\\":\\\"T09:00:00\\\",\\\"realRepeatType\\\":1,\\\"daysOfWeek\\\":0,\\\"specialTimeMillis\\\":0,\\\"skipHoliday\\\":true}\"'
|
|
333
333
|
```
|
|
334
334
|
|
|
335
335
|
**Linux (Bash) 执行命令**:
|
|
336
336
|
|
|
337
337
|
```bash
|
|
338
|
-
openclaw nodes invoke <ID> --command alarm.create --params '{"time":"T09:00:00","realRepeatType":1,"daysOfWeek":0,"specialTimeMillis":0,"skipHoliday":true}'
|
|
338
|
+
openclaw nodes invoke --node <ID> --command alarm.create --params '{"time":"T09:00:00","realRepeatType":1,"daysOfWeek":0,"specialTimeMillis":0,"skipHoliday":true}'
|
|
339
339
|
```
|
|
340
340
|
|
|
341
341
|
---
|
|
@@ -359,14 +359,14 @@ openclaw nodes invoke <ID> --command alarm.create --params '{"time":"T09:00:00",
|
|
|
359
359
|
|
|
360
360
|
**Windows (Cmd) 执行命令**:
|
|
361
361
|
|
|
362
|
-
|
|
363
|
-
openclaw nodes invoke <ID> --command alarm.create --params "{
|
|
362
|
+
``Cmd
|
|
363
|
+
cmd /c 'openclaw nodes invoke --node <ID> --command alarm.create --params \"{\\\"time\\\":\\\"T09:00:00\\\",\\\"realRepeatType\\\":9,\\\"daysOfWeek\\\":0,\\\"specialTimeMillis\\\":0,\\\"skipHoliday\\\":false,\\\"bigWeek\\\":true}\"'
|
|
364
364
|
```
|
|
365
365
|
|
|
366
366
|
**Linux (Bash) 执行命令**:
|
|
367
367
|
|
|
368
368
|
```bash
|
|
369
|
-
openclaw nodes invoke <ID> --command alarm.create --params '{"time":"T09:00:00","realRepeatType":9,"daysOfWeek":0,"specialTimeMillis":0,"skipHoliday":false,"bigWeek":true}'
|
|
369
|
+
openclaw nodes invoke --node <ID> --command alarm.create --params '{"time":"T09:00:00","realRepeatType":9,"daysOfWeek":0,"specialTimeMillis":0,"skipHoliday":false,"bigWeek":true}'
|
|
370
370
|
```
|
|
371
371
|
|
|
372
372
|
---
|
|
@@ -390,14 +390,14 @@ openclaw nodes invoke <ID> --command alarm.create --params '{"time":"T09:00:00",
|
|
|
390
390
|
|
|
391
391
|
**Windows (Cmd) 执行命令**:
|
|
392
392
|
|
|
393
|
-
|
|
394
|
-
openclaw nodes invoke <ID> --command alarm.create --params "{
|
|
393
|
+
``Cmd
|
|
394
|
+
cmd /c 'openclaw nodes invoke --node <ID> --command alarm.create --params \"{\\\"time\\\":\\\"T09:00:00\\\",\\\"realRepeatType\\\":9,\\\"daysOfWeek\\\":0,\\\"specialTimeMillis\\\":0,\\\"skipHoliday\\\":false,\\\"bigWeek\\\":false}\"'
|
|
395
395
|
```
|
|
396
396
|
|
|
397
397
|
**Linux (Bash) 执行命令**:
|
|
398
398
|
|
|
399
399
|
```bash
|
|
400
|
-
openclaw nodes invoke <ID> --command alarm.create --params '{"time":"T09:00:00","realRepeatType":9,"daysOfWeek":0,"specialTimeMillis":0,"skipHoliday":false,"bigWeek":false}'
|
|
400
|
+
openclaw nodes invoke --node <ID> --command alarm.create --params '{"time":"T09:00:00","realRepeatType":9,"daysOfWeek":0,"specialTimeMillis":0,"skipHoliday":false,"bigWeek":false}'
|
|
401
401
|
```
|
|
402
402
|
|
|
403
403
|
---
|
|
@@ -422,14 +422,14 @@ openclaw nodes invoke <ID> --command alarm.create --params '{"time":"T09:00:00",
|
|
|
422
422
|
|
|
423
423
|
**Windows (Cmd) 执行命令**:
|
|
424
424
|
|
|
425
|
-
|
|
426
|
-
openclaw nodes invoke <ID> --command alarm.create --params "{
|
|
425
|
+
``Cmd
|
|
426
|
+
cmd /c 'openclaw nodes invoke --node <ID> --command alarm.create --params \"{\\\"time\\\":\\\"T18:00:00\\\",\\\"realRepeatType\\\":4,\\\"daysOfWeek\\\":0,\\\"specialTimeMillis\\\":0,\\\"skipHoliday\\\":false}\"'
|
|
427
427
|
```
|
|
428
428
|
|
|
429
429
|
**Linux (Bash) 执行命令**:
|
|
430
430
|
|
|
431
431
|
```bash
|
|
432
|
-
openclaw nodes invoke <ID> --command alarm.create --params '{"time":"T18:00:00","realRepeatType":4,"daysOfWeek":0,"specialTimeMillis":0,"skipHoliday":false}'
|
|
432
|
+
openclaw nodes invoke --node <ID> --command alarm.create --params '{"time":"T18:00:00","realRepeatType":4,"daysOfWeek":0,"specialTimeMillis":0,"skipHoliday":false}'
|
|
433
433
|
```
|
|
434
434
|
|
|
435
435
|
---
|
|
@@ -452,14 +452,14 @@ openclaw nodes invoke <ID> --command alarm.create --params '{"time":"T18:00:00",
|
|
|
452
452
|
|
|
453
453
|
**Windows (Cmd) 执行命令**:
|
|
454
454
|
|
|
455
|
-
|
|
456
|
-
openclaw nodes invoke <ID> --command alarm.create --params "{
|
|
455
|
+
``Cmd
|
|
456
|
+
cmd /c 'openclaw nodes invoke --node <ID> --command alarm.create --params \"{\\\"time\\\":\\\"T08:30:00\\\",\\\"realRepeatType\\\":10,\\\"daysOfWeek\\\":0,\\\"specialTimeMillis\\\":0,\\\"skipHoliday\\\":false}\"'
|
|
457
457
|
```
|
|
458
458
|
|
|
459
459
|
**Linux (Bash) 执行命令**:
|
|
460
460
|
|
|
461
461
|
```bash
|
|
462
|
-
openclaw nodes invoke <ID> --command alarm.create --params '{"time":"T08:30:00","realRepeatType":10,"daysOfWeek":0,"specialTimeMillis":0,"skipHoliday":false}'
|
|
462
|
+
openclaw nodes invoke --node <ID> --command alarm.create --params '{"time":"T08:30:00","realRepeatType":10,"daysOfWeek":0,"specialTimeMillis":0,"skipHoliday":false}'
|
|
463
463
|
```
|
|
464
464
|
|
|
465
465
|
## 错误处理
|
|
@@ -0,0 +1,361 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: alarm.delete
|
|
3
|
+
description: >
|
|
4
|
+
闹钟删除工具。用于永久删除已创建的闹钟,支持批量删除多个闹钟。
|
|
5
|
+
当用户询问"删除/移除/取消闹钟"等意图时调用。
|
|
6
|
+
用于删除闹钟的工具。当用户意图涉及移除闹钟/闹铃时,属于删除闹钟。
|
|
7
|
+
**注意:调用本工具前必须先调用 alarm.query 查询闹钟,获取目标闹钟的 alarmId。**
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
# Alarm Delete 删除闹钟
|
|
12
|
+
|
|
13
|
+
## Tool Command
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
alarm.delete
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## 功能概述
|
|
20
|
+
|
|
21
|
+
本工具用于永久删除设备上已创建的闹钟,支持批量操作:
|
|
22
|
+
|
|
23
|
+
- 批量删除多个闹钟(通过闹钟ID列表)
|
|
24
|
+
- 删除操作不可逆,闹钟将从系统中永久移除
|
|
25
|
+
- 支持删除任意状态的闹钟(无论启用或禁用)
|
|
26
|
+
|
|
27
|
+
## 集成工作流
|
|
28
|
+
|
|
29
|
+
### Step 1: 前置查询(必需)
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
33
|
+
│ 必须先调用 alarm.query 查询目标闹钟 │
|
|
34
|
+
│ - 提取用户意图中的筛选条件(时间、标题、类型等) │
|
|
35
|
+
│ - 调用 alarm.query 获取候选闹钟列表 │
|
|
36
|
+
│ - 从返回结果中提取 alarmId │
|
|
37
|
+
│ - 建议向用户确认删除操作(涉及数据永久丢失) │
|
|
38
|
+
└─────────────────────────────────────────────────────────────┘
|
|
39
|
+
↓
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Step 2: ID提取与确认
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
46
|
+
│ ID提取与确认 │
|
|
47
|
+
│ - 遍历查询结果中的 alarmList │
|
|
48
|
+
│ - 提取所有待删除闹钟的 alarmId 组成 alarmIdList │
|
|
49
|
+
│ - 如无匹配闹钟,提示用户未找到符合条件的闹钟 │
|
|
50
|
+
│ - (可选)展示待删除闹钟列表,请求用户确认 │
|
|
51
|
+
└─────────────────────────────────────────────────────────────┘
|
|
52
|
+
↓
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Step 3: 参数组装与调用
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
59
|
+
│ 生成工具调用 │
|
|
60
|
+
│ - 将 alarmIdList 转换为 JSON 数组字符串 │
|
|
61
|
+
│ - 组装 params JSON 字符串 │
|
|
62
|
+
│ - 生成平台特定的命令格式 │
|
|
63
|
+
└─────────────────────────────────────────────────────────────┘
|
|
64
|
+
↓
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Step 4: 执行调用
|
|
68
|
+
|
|
69
|
+
- 根据操作系统选择对应的命令格式
|
|
70
|
+
- Windows: Cmd 格式(双引号需转义)
|
|
71
|
+
- Linux: Bash 格式(单引号包裹)
|
|
72
|
+
|
|
73
|
+
## 参数定义
|
|
74
|
+
|
|
75
|
+
```json
|
|
76
|
+
{
|
|
77
|
+
"alarmIdList": {
|
|
78
|
+
"type": "string",
|
|
79
|
+
"description": "JSON格式的闹钟ID列表字符串,包含待删除的所有闹钟ID",
|
|
80
|
+
"schema": {
|
|
81
|
+
"type": "array",
|
|
82
|
+
"items": {
|
|
83
|
+
"type": "int",
|
|
84
|
+
"description": "闹钟唯一标识ID,从alarm.query返回结果中的alarmId字段获取"
|
|
85
|
+
},
|
|
86
|
+
"example": "[1,2,3]"
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### 参数注意事项
|
|
93
|
+
|
|
94
|
+
1. **前置查询必需**:必须先调用 `alarm.query` 获取有效的 `alarmId`,禁止直接使用用户输入的ID
|
|
95
|
+
2. **永久删除**:删除操作不可逆,闹钟数据将从系统中永久清除
|
|
96
|
+
3. **ID格式**:`alarmIdList` 为JSON数组int格式,如 `"[1,2]"`
|
|
97
|
+
4. **空列表处理**:如果未查询到匹配闹钟,无需调用本工具,直接提示用户未找到
|
|
98
|
+
5. **批量限制**:建议单次操作不超过50个闹钟
|
|
99
|
+
|
|
100
|
+
## 出参定义
|
|
101
|
+
|
|
102
|
+
```json
|
|
103
|
+
{
|
|
104
|
+
"response": {
|
|
105
|
+
"code": 200,
|
|
106
|
+
"message": "success",
|
|
107
|
+
"data": {
|
|
108
|
+
"successList": [
|
|
109
|
+
{
|
|
110
|
+
"alarmId": {
|
|
111
|
+
"type": "string",
|
|
112
|
+
"description": "成功删除的闹钟ID"
|
|
113
|
+
},
|
|
114
|
+
"alarmTitle": {
|
|
115
|
+
"type": "string",
|
|
116
|
+
"description": "已删除的闹钟标题(名称)"
|
|
117
|
+
},
|
|
118
|
+
"alarmTime": {
|
|
119
|
+
"type": "string",
|
|
120
|
+
"description": "已删除的闹钟时间,格式为THH:mm:ss"
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
],
|
|
124
|
+
"failedList": [
|
|
125
|
+
{
|
|
126
|
+
"alarmId": {
|
|
127
|
+
"type": "string",
|
|
128
|
+
"description": "删除失败的闹钟ID"
|
|
129
|
+
},
|
|
130
|
+
"reason": {
|
|
131
|
+
"type": "string",
|
|
132
|
+
"description": "失败原因"
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
]
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### 出参返回示例
|
|
142
|
+
|
|
143
|
+
```json
|
|
144
|
+
{
|
|
145
|
+
"code": 200,
|
|
146
|
+
"message": "success",
|
|
147
|
+
"data": {
|
|
148
|
+
"successList": [
|
|
149
|
+
{
|
|
150
|
+
"alarmId": "3",
|
|
151
|
+
"alarmTitle": "临时提醒",
|
|
152
|
+
"alarmTime": "T14:30:00"
|
|
153
|
+
}
|
|
154
|
+
],
|
|
155
|
+
"failedList": []
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
## Delete 示例
|
|
161
|
+
|
|
162
|
+
### 示例 1: 删除指定时间的单个闹钟
|
|
163
|
+
|
|
164
|
+
**用户输入**: "删除八点的闹钟"
|
|
165
|
+
|
|
166
|
+
**前置查询**(alarm.query):
|
|
167
|
+
```json
|
|
168
|
+
{
|
|
169
|
+
"queryParams": "{\"timeList\":[\"T08:00:00\"]}"
|
|
170
|
+
}
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
**查询结果处理**:
|
|
174
|
+
- 返回闹钟ID为"3" → 加入待删除列表
|
|
175
|
+
|
|
176
|
+
**JSON 参数**:
|
|
177
|
+
|
|
178
|
+
```json
|
|
179
|
+
{
|
|
180
|
+
"alarmIdList": "[3]"
|
|
181
|
+
}
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
**Windows (Cmd) 执行命令**:
|
|
185
|
+
|
|
186
|
+
```Cmd
|
|
187
|
+
cmd /c 'openclaw nodes invoke --node <ID> --command alarm.delete --params "{\"alarmIdList\":\"[3]\"}"'
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
**Linux (Bash) 执行命令**:
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
openclaw nodes invoke --node <ID> --command alarm.delete --params '{"alarmIdList":"[3]"}'
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
### 示例 2: 批量删除多个闹钟
|
|
199
|
+
|
|
200
|
+
**用户输入**: "删除所有叫起床的闹钟"
|
|
201
|
+
|
|
202
|
+
**前置查询**(alarm.query):
|
|
203
|
+
```json
|
|
204
|
+
{
|
|
205
|
+
"queryParams": "{\"titleList\":[\"起床\"]}"
|
|
206
|
+
}
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
**查询结果处理**:
|
|
210
|
+
- 返回闹钟ID"1"、"5"、"8" → 全部加入待删除列表
|
|
211
|
+
|
|
212
|
+
**JSON 参数**:
|
|
213
|
+
|
|
214
|
+
```json
|
|
215
|
+
{
|
|
216
|
+
"alarmIdList": "[1,5,8]"
|
|
217
|
+
}
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
**Windows (Cmd) 执行命令**:
|
|
221
|
+
|
|
222
|
+
```Cmd
|
|
223
|
+
cmd /c 'openclaw nodes invoke --node <ID> --command alarm.delete --params "{\"alarmIdList\":\"[1,5,8]\"}"'
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
**Linux (Bash) 执行命令**:
|
|
227
|
+
|
|
228
|
+
```bash
|
|
229
|
+
openclaw nodes invoke --node <ID> --command alarm.delete --params '{"alarmIdList":"[1,5,8]"}'
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
### 示例 3: 删除工作日的闹钟
|
|
235
|
+
|
|
236
|
+
**用户输入**: "删除工作日的闹钟"
|
|
237
|
+
|
|
238
|
+
**前置查询**(alarm.query):
|
|
239
|
+
```json
|
|
240
|
+
{
|
|
241
|
+
"queryParams": "{\"repeatParamList\":[{\"realRepeatType\":1}]}"
|
|
242
|
+
}
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
**查询结果处理**:
|
|
246
|
+
- 返回多个闹钟ID:"2"、"4"、"6" → 全部加入待删除列表
|
|
247
|
+
|
|
248
|
+
**JSON 参数**:
|
|
249
|
+
|
|
250
|
+
```json
|
|
251
|
+
{
|
|
252
|
+
"alarmIdList": "[2,4,6]"
|
|
253
|
+
}
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
**Windows (Cmd) 执行命令**:
|
|
257
|
+
|
|
258
|
+
```Cmd
|
|
259
|
+
cmd /c 'openclaw nodes invoke --node <ID> --command alarm.delete --params "{\"alarmIdList\":\"[2,4,6]\"}"'
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
**Linux (Bash) 执行命令**:
|
|
263
|
+
|
|
264
|
+
```bash
|
|
265
|
+
openclaw nodes invoke --node <ID> --command alarm.delete --params '{"alarmIdList":"[2,4,6]"}'
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
---
|
|
269
|
+
|
|
270
|
+
### 示例 4: 未找到匹配闹钟
|
|
271
|
+
|
|
272
|
+
**用户输入**: "删除早上十点的闹钟"
|
|
273
|
+
|
|
274
|
+
**前置查询**(alarm.query):
|
|
275
|
+
```json
|
|
276
|
+
{
|
|
277
|
+
"queryParams": "{\"timeList\":[\"T10:00:00\"]}"
|
|
278
|
+
}
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
**查询结果处理**:
|
|
282
|
+
- 未返回任何闹钟数据
|
|
283
|
+
|
|
284
|
+
**处理结果**: 无需调用 alarm.delete,直接提示用户:"未找到符合条件的闹钟"
|
|
285
|
+
|
|
286
|
+
---
|
|
287
|
+
|
|
288
|
+
### 示例 5: 组合条件查询后删除
|
|
289
|
+
|
|
290
|
+
**用户输入**: "删除早上八点的起床闹钟"
|
|
291
|
+
|
|
292
|
+
**前置查询**(alarm.query):
|
|
293
|
+
```json
|
|
294
|
+
{
|
|
295
|
+
"queryParams": "{\"timeList\":[\"T08:00:00\"],\"titleList\":[\"起床\"]}"
|
|
296
|
+
}
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
**查询结果处理**:
|
|
300
|
+
- 返回闹钟ID"15" → 加入待删除列表
|
|
301
|
+
|
|
302
|
+
**JSON 参数**:
|
|
303
|
+
|
|
304
|
+
```json
|
|
305
|
+
{
|
|
306
|
+
"alarmIdList": "[15]"
|
|
307
|
+
}
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
**Windows (Cmd) 执行命令**:
|
|
311
|
+
|
|
312
|
+
```Cmd
|
|
313
|
+
cmd /c 'openclaw nodes invoke --node <ID> --command alarm.delete --params "{\"alarmIdList\":\"[15]\"}"'
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
**Linux (Bash) 执行命令**:
|
|
317
|
+
|
|
318
|
+
```bash
|
|
319
|
+
openclaw nodes invoke --node <ID> --command alarm.delete --params '{"alarmIdList":"[15]"}'
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
## 返回结果说明
|
|
323
|
+
|
|
324
|
+
删除操作成功时,返回操作结果详情:
|
|
325
|
+
|
|
326
|
+
| 字段 | 类型 | 说明 |
|
|
327
|
+
| :--- | :--- | :--- |
|
|
328
|
+
| successList | array | 成功删除的闹钟列表 |
|
|
329
|
+
| failedList | array | 删除失败的闹钟列表及原因 |
|
|
330
|
+
| alarmId | string | 闹钟唯一标识 |
|
|
331
|
+
| alarmTitle | string | 已删除的闹钟标题 |
|
|
332
|
+
| alarmTime | string | 已删除的响铃时间(THH:mm:ss 格式) |
|
|
333
|
+
| reason | string | 失败原因描述 |
|
|
334
|
+
|
|
335
|
+
## 错误处理
|
|
336
|
+
|
|
337
|
+
如果工具执行错误(300),可能原因如下:
|
|
338
|
+
|
|
339
|
+
1. **前置查询未执行**:未先调用 alarm.query 获取 alarmId
|
|
340
|
+
2. **闹钟ID不存在**:提供的 alarmId 在系统中不存在或已被删除
|
|
341
|
+
3. **闹钟应用无删除权限**:系统限制了对闹钟的删除操作
|
|
342
|
+
4. **参数格式错误**:alarmIdList JSON 格式不正确
|
|
343
|
+
5. **当前设备环境限制**:设备处于特殊模式(如访客模式、受限模式)
|
|
344
|
+
|
|
345
|
+
可以尝试以下操作:
|
|
346
|
+
|
|
347
|
+
1. 确认已先调用 alarm.query 获取有效的 alarmId
|
|
348
|
+
2. 检查 alarmIdList 的 JSON 格式是否正确(注意转义)
|
|
349
|
+
3. 检查设备闹钟权限是否开启
|
|
350
|
+
4. 确认系统闹钟应用正常运行
|
|
351
|
+
5. 检查设备是否处于限制删除操作的受限模式
|
|
352
|
+
|
|
353
|
+
---
|
|
354
|
+
|
|
355
|
+
## 注意事项
|
|
356
|
+
|
|
357
|
+
| 注意事项 | 说明 |
|
|
358
|
+
| :--- | :--- |
|
|
359
|
+
| 数据不可恢复 | 删除操作永久生效,无法撤销或恢复 |
|
|
360
|
+
| 状态无关 | 无论闹钟处于启用(alarmState=1)或禁用(alarmState=2)状态,均可删除 |
|
|
361
|
+
| 批量谨慎 | 批量删除前建议向用户展示待删除列表,避免误删 |
|