@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.
- package/index.ts +2 -2
- package/openclaw.plugin.json +7 -0
- package/package.json +20 -20
- package/skills/search/SKILL.md +182 -0
- package/skills/search/scripts/search.sh +69 -0
- package/skills/yoyo-control/SKILL.md +105 -120
- package/skills/yoyo-control/references/alarm-create.md +473 -0
- package/skills/yoyo-control/references/app-close.md +183 -0
- package/skills/yoyo-control/references/app-open.md +178 -0
- package/skills/yoyo-control/references/call-phone.md +250 -0
- package/skills/yoyo-control/references/capture-screenshot.md +205 -54
- package/skills/yoyo-control/references/contact-search.md +235 -0
- package/skills/yoyo-control/references/hotspot.md +208 -0
- package/skills/yoyo-control/references/local-search.md +224 -15
- package/skills/yoyo-control/references/message-send.md +246 -0
- package/skills/yoyo-control/references/mobile-data.md +248 -0
- package/skills/yoyo-control/references/no-disturb.md +239 -0
- package/skills/yoyo-control/references/quiet-mode.md +228 -0
- package/skills/yoyo-control/references/ringing-mode.md +223 -0
- package/skills/yoyo-control/references/screen-record.md +220 -0
- package/skills/yoyo-control/references/vibration-mode.md +235 -0
- package/skills/yoyo-control/references/volume-operate.md +274 -0
- package/skills/yoyo-control/scripts/invoke.js +33 -111
- package/src/agent/copy-templates.ts +56 -0
- package/src/agent/index.ts +3 -0
- package/src/agent/templates/AGENTS.md +223 -0
- package/src/apis/claw-cloud.ts +70 -23
- package/src/apis/honor-auth.ts +20 -10
- package/src/apis/types.ts +24 -1
- package/src/cloud-channel/channel.ts +245 -58
- package/src/cloud-channel/client.ts +87 -12
- package/src/cloud-channel/types.ts +30 -0
- package/src/commands/env/impl.ts +58 -0
- package/src/commands/env/index.ts +1 -0
- package/src/commands/index.ts +11 -1
- package/src/commands/login/impl.ts +17 -8
- package/src/commands/logout/impl.ts +23 -0
- package/src/commands/logout/index.ts +1 -53
- package/src/commands/status/index.ts +172 -42
- package/src/gateway-client/client.deprecated.ts +1 -1
- package/src/gateway-client/client.ts +15 -20
- package/src/gateway-client/types.ts +2 -2
- package/src/honor-auth/browser.ts +12 -15
- package/src/honor-auth/callback-server.ts +3 -6
- package/src/honor-auth/cloud.ts +65 -12
- package/src/honor-auth/config.ts +25 -17
- package/src/honor-auth/index.ts +1 -0
- package/src/honor-auth/token-manager.ts +24 -14
- package/src/modules/claw-configs/config-manager.ts +211 -11
- package/src/modules/claw-configs/hosts.ts +48 -0
- package/src/modules/claw-configs/index.ts +1 -0
- package/src/modules/claw-configs/types.ts +4 -0
- package/src/modules/device/device-info.ts +20 -9
- package/src/modules/device/providers/linux.ts +128 -0
- package/src/modules/device/providers/macos.ts +123 -0
- package/src/modules/device/providers/pad.ts +0 -16
- package/src/modules/device/registry.ts +12 -3
- package/src/modules/login/impl.ts +38 -16
- package/src/runtime.ts +44 -0
- package/src/schemas.ts +4 -1
- package/src/services/connection/impl.ts +89 -9
- package/src/services/connection/status-tracker/events.ts +127 -0
- package/src/services/connection/status-tracker/index.ts +31 -0
- package/src/services/connection/status-tracker/storage.ts +133 -0
- package/src/services/connection/status-tracker/tracker.ts +370 -0
- package/src/services/connection/status-tracker/types.ts +131 -0
- package/src/types.ts +0 -4
- package/src/utils/fs-safe.ts +544 -0
- package/src/utils/version.ts +29 -0
- package/src/utils/ws.ts +21 -0
- package/skills/yoyo-control/references/open-app.md +0 -54
- package/skills/yoyo-control/references/phone-call.md +0 -217
- package/skills/yoyo-control/references/schedule.md +0 -107
- package/skills/yoyo-control/references/screen-recorder.md +0 -67
- package/skills/yoyo-control/references/search-contact.md +0 -37
- package/skills/yoyo-control/references/send-message.md +0 -155
- package/skills/yoyo-control/references/volume.md +0 -536
- package/skills/yoyo-control/scripts/README.md +0 -103
- package/skills/yoyo-control/scripts/volume-up.json +0 -7
|
@@ -0,0 +1,473 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: alarm.create
|
|
3
|
+
description: >
|
|
4
|
+
闹钟创建工具。用于创建闹钟,当用户明确创建/定一个闹钟时,属于创建闹钟。
|
|
5
|
+
支持设置时间、重复类型、星期几、指定日期、节假日跳过、大小周等高级功能。
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Alarm Create 创建闹钟
|
|
9
|
+
|
|
10
|
+
## Tool Command
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
alarm.create
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## 功能概述
|
|
17
|
+
|
|
18
|
+
本工具用于创建闹钟,支持以下功能:
|
|
19
|
+
|
|
20
|
+
- 设置闹钟时间(24小时制)
|
|
21
|
+
- 配置重复类型(只响一次、每天、工作日、自定义等)
|
|
22
|
+
- 设置星期几响铃(按位运算)
|
|
23
|
+
- 指定具体日期(时间戳形式)
|
|
24
|
+
- 节假日跳过设置
|
|
25
|
+
- 大小周设置
|
|
26
|
+
|
|
27
|
+
## 集成工作流
|
|
28
|
+
|
|
29
|
+
### Step 1: 意图解析与参数组装
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
33
|
+
│ 意图识别与参数提取 │
|
|
34
|
+
│ - 识别创建意图: "创建/定/设置/添加" + 闹钟 │
|
|
35
|
+
│ - 提取时间: 具体时间 → 转换为 THH:mm:ss 格式 │
|
|
36
|
+
│ - 提取重复类型: 每天/工作日/只响一次/自定义 → realRepeatType │
|
|
37
|
+
│ - 提取星期几: 周一到周日 → daysOfWeek(按位运算) │
|
|
38
|
+
│ - 提取指定日期: 具体日期 → specialTimeMillis(时间戳) │
|
|
39
|
+
│ - 提取节假日设置: 跳过节假日 → skipHoliday: true │
|
|
40
|
+
│ - 提取大小周: 大周/小周 → bigWeek │
|
|
41
|
+
└─────────────────────────────────────────────────────────────┘
|
|
42
|
+
↓
|
|
43
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
44
|
+
│ 参数校验与槽位填充 │
|
|
45
|
+
│ - time 缺失时,需向用户追问闹钟时间 │
|
|
46
|
+
│ - realRepeatType = 3(自定义) 时,必须设置 daysOfWeek │
|
|
47
|
+
│ - realRepeatType = 5(指定日期) 时,必须设置 specialTimeMillis │
|
|
48
|
+
│ - realRepeatType = 9(大小周) 时,必须设置 bigWeek │
|
|
49
|
+
│ - 校验时间格式是否为 THH:mm:ss │
|
|
50
|
+
└─────────────────────────────────────────────────────────────┘
|
|
51
|
+
↓
|
|
52
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
53
|
+
│ 生成工具调用 │
|
|
54
|
+
│ - 组装 time, realRepeatType 及可选参数 │
|
|
55
|
+
│ - 生成平台特定的命令格式 │
|
|
56
|
+
└─────────────────────────────────────────────────────────────┘
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Step 2: 执行调用
|
|
60
|
+
|
|
61
|
+
- 根据操作系统选择对应的命令格式
|
|
62
|
+
- Windows: Cmd 格式(双引号需转义)
|
|
63
|
+
- Linux: Bash 格式(单引号包裹)
|
|
64
|
+
|
|
65
|
+
## 意图分类与参数映射
|
|
66
|
+
|
|
67
|
+
| 用户意图 | 关键词示例 | 必填参数 | 可选参数 |
|
|
68
|
+
| :--------------------- | :-------------------------- | :----------------------------------------------- | :------- |
|
|
69
|
+
| **创建基础闹钟** | 定一个十点的闹钟 | `time` | - |
|
|
70
|
+
| **创建每天闹钟** | 每天八点叫我起床 | `time`, `realRepeatType: 2` | - |
|
|
71
|
+
| **创建工作日闹钟** | 周一到周五早上七点的闹钟 | `time`, `realRepeatType: 1` | - |
|
|
72
|
+
| **创建自定义周期闹钟** | 每周三周五下午三点的闹钟 | `time`, `realRepeatType: 3`, `daysOfWeek` | - |
|
|
73
|
+
| **创建指定日期闹钟** | 2026年3月20日早上八点的闹钟 | `time`, `realRepeatType: 5`, `specialTimeMillis` | - |
|
|
74
|
+
| **创建节假日跳过闹钟** | 工作日闹钟,跳过节假日 | `time`, `realRepeatType: 1`, `skipHoliday: true` | - |
|
|
75
|
+
| **创建大小周闹钟** | 大小周工作日上午九点的闹钟 | `time`, `realRepeatType: 9`, `bigWeek` | - |
|
|
76
|
+
|
|
77
|
+
## 参数定义
|
|
78
|
+
|
|
79
|
+
```json
|
|
80
|
+
{
|
|
81
|
+
"title": {
|
|
82
|
+
"type": "string",
|
|
83
|
+
"description": "事件,闹钟的标题。当用户 query 中含有具体事件时,选用该参数。"
|
|
84
|
+
},
|
|
85
|
+
"time": {
|
|
86
|
+
"type": "string",
|
|
87
|
+
"description": "必填参数,闹钟的时间,格式为24小时制:THH:mm:ss,如T20:30:00。【时钟】取值范围:0——23;【分钟】取值范围:0——59"
|
|
88
|
+
},
|
|
89
|
+
"realRepeatType": {
|
|
90
|
+
"type": "int",
|
|
91
|
+
"enum": [0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11],
|
|
92
|
+
"description": "必填参数,闹钟重复类型。候选值含义如下:只响一次 0;周一到周五= 1;每天(每周一到周七)Y= 2;用户自定义 = 3;智能跳过节假日 = 4;指定日期的闹钟 = 5;轮班= 7;节假日及周末 = 8;大小周 = 9;单休(仅休周日) = 10;每天 = 11"
|
|
93
|
+
},
|
|
94
|
+
"daysOfWeek": {
|
|
95
|
+
"type": "int",
|
|
96
|
+
"enum": [0, 1, 2, 4, 8, 16, 32, 64],
|
|
97
|
+
"description": "必填参数,每周几响铃,按位运算。【注意必须在realRepeatType = 3再进行选择,否则都填0】。候选值含义如下:0:不重复;1:每周一;2:每周二;4:每周三;8:每周四;16:每周五;32:每周六;64:每周日"
|
|
98
|
+
},
|
|
99
|
+
"specialTimeMillis": {
|
|
100
|
+
"type": "long",
|
|
101
|
+
"description": "必填参数,指定时间,以时间戳形式输出,默认值为0。【注意必须在realRepeatType = 5指定日期,再进行选择,否则不填】"
|
|
102
|
+
},
|
|
103
|
+
"skipHoliday": {
|
|
104
|
+
"type": "boolean",
|
|
105
|
+
"enum": [false, true],
|
|
106
|
+
"description": "必填参数,是否跳过节假日,默认false。"
|
|
107
|
+
},
|
|
108
|
+
"bigWeek": {
|
|
109
|
+
"type": "boolean",
|
|
110
|
+
"enum": [false, true],
|
|
111
|
+
"description": "必填参数,大小周标识,默认true。【注意必须在realRepeatType=9大小周,再进行选择,否则不填】其中false:小周(仅休周日);true:大周(休周六、日)"
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### 参数注意事项
|
|
117
|
+
|
|
118
|
+
1. **time 格式**: 必须使用 `THH:mm:ss` 格式,T 为前缀,24小时制
|
|
119
|
+
2. **daysOfWeek 按位运算**: 多选时使用位或运算,如周一+周三 = 1 | 4 = 5
|
|
120
|
+
3. **specialTimeMillis**: 仅用于指定日期的闹钟(realRepeatType=5),其他情况填 0
|
|
121
|
+
4. **bigWeek**: 仅用于大小周模式(realRepeatType=9),其他情况可不填
|
|
122
|
+
|
|
123
|
+
## Query 示例
|
|
124
|
+
|
|
125
|
+
### 示例 1: 创建基础闹钟(只响一次)
|
|
126
|
+
|
|
127
|
+
**用户输入**: "定一个十点的闹钟"
|
|
128
|
+
|
|
129
|
+
**JSON 参数**:
|
|
130
|
+
|
|
131
|
+
```json
|
|
132
|
+
{
|
|
133
|
+
"time": "T10:00:00",
|
|
134
|
+
"realRepeatType": 0,
|
|
135
|
+
"daysOfWeek": 0,
|
|
136
|
+
"specialTimeMillis": 0,
|
|
137
|
+
"skipHoliday": false
|
|
138
|
+
}
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
**Windows (Cmd) 执行命令**:
|
|
142
|
+
|
|
143
|
+
```Cmd
|
|
144
|
+
openclaw nodes invoke <ID> --command alarm.create --params "{\"time\":\"T10:00:00\",\"realRepeatType\":0,\"daysOfWeek\":0,\"specialTimeMillis\":0,\"skipHoliday\":false}"
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
**Linux (Bash) 执行命令**:
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
openclaw nodes invoke <ID> --command alarm.create --params '{"time":"T10:00:00","realRepeatType":0,"daysOfWeek":0,"specialTimeMillis":0,"skipHoliday":false}'
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
### 示例 2: 创建带标题的闹钟
|
|
156
|
+
|
|
157
|
+
**用户输入**: "创建一个下午三点去购物的闹钟"
|
|
158
|
+
|
|
159
|
+
**JSON 参数**:
|
|
160
|
+
|
|
161
|
+
```json
|
|
162
|
+
{
|
|
163
|
+
"title": "购物",
|
|
164
|
+
"time": "T15:00:00",
|
|
165
|
+
"realRepeatType": 0,
|
|
166
|
+
"daysOfWeek": 0,
|
|
167
|
+
"specialTimeMillis": 0,
|
|
168
|
+
"skipHoliday": false
|
|
169
|
+
}
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
**Windows (Cmd) 执行命令**:
|
|
173
|
+
|
|
174
|
+
```Cmd
|
|
175
|
+
openclaw nodes invoke <ID> --command alarm.create --params "{\"title\":\"购物\",\"time\":\"T15:00:00\",\"realRepeatType\":0,\"daysOfWeek\":0,\"specialTimeMillis\":0,\"skipHoliday\":false}"
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
**Linux (Bash) 执行命令**:
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
openclaw nodes invoke <ID> --command alarm.create --params '{"title":"购物","time":"T15:00:00","realRepeatType":0,"daysOfWeek":0,"specialTimeMillis":0,"skipHoliday":false}'
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
### 示例 3: 创建每天闹钟
|
|
187
|
+
|
|
188
|
+
**用户输入**: "每天早上七点叫我起床"
|
|
189
|
+
|
|
190
|
+
**JSON 参数**:
|
|
191
|
+
|
|
192
|
+
```json
|
|
193
|
+
{
|
|
194
|
+
"title": "起床",
|
|
195
|
+
"time": "T07:00:00",
|
|
196
|
+
"realRepeatType": 2,
|
|
197
|
+
"daysOfWeek": 0,
|
|
198
|
+
"specialTimeMillis": 0,
|
|
199
|
+
"skipHoliday": false
|
|
200
|
+
}
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
**Windows (Cmd) 执行命令**:
|
|
204
|
+
|
|
205
|
+
```Cmd
|
|
206
|
+
openclaw nodes invoke <ID> --command alarm.create --params "{\"title\":\"起床\",\"time\":\"T07:00:00\",\"realRepeatType\":2,\"daysOfWeek\":0,\"specialTimeMillis\":0,\"skipHoliday\":false}"
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
**Linux (Bash) 执行命令**:
|
|
210
|
+
|
|
211
|
+
```bash
|
|
212
|
+
openclaw nodes invoke <ID> --command alarm.create --params '{"title":"起床","time":"T07:00:00","realRepeatType":2,"daysOfWeek":0,"specialTimeMillis":0,"skipHoliday":false}'
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
### 示例 4: 创建工作日闹钟(周一到周五)
|
|
218
|
+
|
|
219
|
+
**用户输入**: "创建周一到周五早上八点的闹钟"
|
|
220
|
+
|
|
221
|
+
**JSON 参数**:
|
|
222
|
+
|
|
223
|
+
```json
|
|
224
|
+
{
|
|
225
|
+
"time": "T08:00:00",
|
|
226
|
+
"realRepeatType": 1,
|
|
227
|
+
"daysOfWeek": 0,
|
|
228
|
+
"specialTimeMillis": 0,
|
|
229
|
+
"skipHoliday": false
|
|
230
|
+
}
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
**Windows (Cmd) 执行命令**:
|
|
234
|
+
|
|
235
|
+
```Cmd
|
|
236
|
+
openclaw nodes invoke <ID> --command alarm.create --params "{\"time\":\"T08:00:00\",\"realRepeatType\":1,\"daysOfWeek\":0,\"specialTimeMillis\":0,\"skipHoliday\":false}"
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
**Linux (Bash) 执行命令**:
|
|
240
|
+
|
|
241
|
+
```bash
|
|
242
|
+
openclaw nodes invoke <ID> --command alarm.create --params '{"time":"T08:00:00","realRepeatType":1,"daysOfWeek":0,"specialTimeMillis":0,"skipHoliday":false}'
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
247
|
+
### 示例 5: 创建自定义周期闹钟(周三、周五)
|
|
248
|
+
|
|
249
|
+
**用户输入**: "每周三周五下午三点的闹钟"
|
|
250
|
+
|
|
251
|
+
计算: 周三(4) | 周五(16) = 20
|
|
252
|
+
|
|
253
|
+
**JSON 参数**:
|
|
254
|
+
|
|
255
|
+
```json
|
|
256
|
+
{
|
|
257
|
+
"time": "T15:00:00",
|
|
258
|
+
"realRepeatType": 3,
|
|
259
|
+
"daysOfWeek": 20,
|
|
260
|
+
"specialTimeMillis": 0,
|
|
261
|
+
"skipHoliday": false
|
|
262
|
+
}
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
**Windows (Cmd) 执行命令**:
|
|
266
|
+
|
|
267
|
+
```Cmd
|
|
268
|
+
openclaw nodes invoke <ID> --command alarm.create --params "{\"time\":\"T15:00:00\",\"realRepeatType\":3,\"daysOfWeek\":20,\"specialTimeMillis\":0,\"skipHoliday\":false}"
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
**Linux (Bash) 执行命令**:
|
|
272
|
+
|
|
273
|
+
```bash
|
|
274
|
+
openclaw nodes invoke <ID> --command alarm.create --params '{"time":"T15:00:00","realRepeatType":3,"daysOfWeek":20,"specialTimeMillis":0,"skipHoliday":false}'
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
### 示例 6: 创建指定日期闹钟
|
|
280
|
+
|
|
281
|
+
**用户输入**: "2026年3月20日早上八点的闹钟"
|
|
282
|
+
|
|
283
|
+
**时间戳**: 2026-03-20 08:00:00 = 1773964800000
|
|
284
|
+
|
|
285
|
+
**JSON 参数**:
|
|
286
|
+
|
|
287
|
+
```json
|
|
288
|
+
{
|
|
289
|
+
"time": "T08:00:00",
|
|
290
|
+
"realRepeatType": 5,
|
|
291
|
+
"daysOfWeek": 0,
|
|
292
|
+
"specialTimeMillis": 1773964800000,
|
|
293
|
+
"skipHoliday": false
|
|
294
|
+
}
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
**Windows (Cmd) 执行命令**:
|
|
298
|
+
|
|
299
|
+
```Cmd
|
|
300
|
+
openclaw nodes invoke <ID> --command alarm.create --params "{\"time\":\"T08:00:00\",\"realRepeatType\":5,\"daysOfWeek\":0,\"specialTimeMillis\":1773964800000,\"skipHoliday\":false}"
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
**Linux (Bash) 执行命令**:
|
|
304
|
+
|
|
305
|
+
```bash
|
|
306
|
+
openclaw nodes invoke <ID> --command alarm.create --params '{"time":"T08:00:00","realRepeatType":5,"daysOfWeek":0,"specialTimeMillis":1773964800000,"skipHoliday":false}'
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
---
|
|
310
|
+
|
|
311
|
+
### 示例 7: 创建节假日跳过的工作日闹钟
|
|
312
|
+
|
|
313
|
+
**用户输入**: "工作日闹钟,跳过节假日"
|
|
314
|
+
|
|
315
|
+
**处理逻辑**: 先询问具体时间,假设用户说"早上九点"
|
|
316
|
+
|
|
317
|
+
**JSON 参数**:
|
|
318
|
+
|
|
319
|
+
```json
|
|
320
|
+
{
|
|
321
|
+
"time": "T09:00:00",
|
|
322
|
+
"realRepeatType": 1,
|
|
323
|
+
"daysOfWeek": 0,
|
|
324
|
+
"specialTimeMillis": 0,
|
|
325
|
+
"skipHoliday": true
|
|
326
|
+
}
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
**Windows (Cmd) 执行命令**:
|
|
330
|
+
|
|
331
|
+
```Cmd
|
|
332
|
+
openclaw nodes invoke <ID> --command alarm.create --params "{\"time\":\"T09:00:00\",\"realRepeatType\":1,\"daysOfWeek\":0,\"specialTimeMillis\":0,\"skipHoliday\":true}"
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
**Linux (Bash) 执行命令**:
|
|
336
|
+
|
|
337
|
+
```bash
|
|
338
|
+
openclaw nodes invoke <ID> --command alarm.create --params '{"time":"T09:00:00","realRepeatType":1,"daysOfWeek":0,"specialTimeMillis":0,"skipHoliday":true}'
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
---
|
|
342
|
+
|
|
343
|
+
### 示例 8: 创建大小周闹钟(大周)
|
|
344
|
+
|
|
345
|
+
**用户输入**: "大小周工作日上午九点的闹钟,大周"
|
|
346
|
+
|
|
347
|
+
**JSON 参数**:
|
|
348
|
+
|
|
349
|
+
```json
|
|
350
|
+
{
|
|
351
|
+
"time": "T09:00:00",
|
|
352
|
+
"realRepeatType": 9,
|
|
353
|
+
"daysOfWeek": 0,
|
|
354
|
+
"specialTimeMillis": 0,
|
|
355
|
+
"skipHoliday": false,
|
|
356
|
+
"bigWeek": true
|
|
357
|
+
}
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
**Windows (Cmd) 执行命令**:
|
|
361
|
+
|
|
362
|
+
```Cmd
|
|
363
|
+
openclaw nodes invoke <ID> --command alarm.create --params "{\"time\":\"T09:00:00\",\"realRepeatType\":9,\"daysOfWeek\":0,\"specialTimeMillis\":0,\"skipHoliday\":false,\"bigWeek\":true}"
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
**Linux (Bash) 执行命令**:
|
|
367
|
+
|
|
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}'
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
---
|
|
373
|
+
|
|
374
|
+
### 示例 9: 创建大小周闹钟(小周)
|
|
375
|
+
|
|
376
|
+
**用户输入**: "小周工作日上午九点的闹钟"
|
|
377
|
+
|
|
378
|
+
**JSON 参数**:
|
|
379
|
+
|
|
380
|
+
```json
|
|
381
|
+
{
|
|
382
|
+
"time": "T09:00:00",
|
|
383
|
+
"realRepeatType": 9,
|
|
384
|
+
"daysOfWeek": 0,
|
|
385
|
+
"specialTimeMillis": 0,
|
|
386
|
+
"skipHoliday": false,
|
|
387
|
+
"bigWeek": false
|
|
388
|
+
}
|
|
389
|
+
```
|
|
390
|
+
|
|
391
|
+
**Windows (Cmd) 执行命令**:
|
|
392
|
+
|
|
393
|
+
```Cmd
|
|
394
|
+
openclaw nodes invoke <ID> --command alarm.create --params "{\"time\":\"T09:00:00\",\"realRepeatType\":9,\"daysOfWeek\":0,\"specialTimeMillis\":0,\"skipHoliday\":false,\"bigWeek\":false}"
|
|
395
|
+
```
|
|
396
|
+
|
|
397
|
+
**Linux (Bash) 执行命令**:
|
|
398
|
+
|
|
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}'
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
---
|
|
404
|
+
|
|
405
|
+
### 示例 10: 创建智能跳过节假日闹钟
|
|
406
|
+
|
|
407
|
+
**用户输入**: "创建一个智能跳过节假日的闹钟"
|
|
408
|
+
|
|
409
|
+
**处理逻辑**: 询问具体时间和周期,假设"每天下午六点"
|
|
410
|
+
|
|
411
|
+
**JSON 参数**:
|
|
412
|
+
|
|
413
|
+
```json
|
|
414
|
+
{
|
|
415
|
+
"time": "T18:00:00",
|
|
416
|
+
"realRepeatType": 4,
|
|
417
|
+
"daysOfWeek": 0,
|
|
418
|
+
"specialTimeMillis": 0,
|
|
419
|
+
"skipHoliday": false
|
|
420
|
+
}
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
**Windows (Cmd) 执行命令**:
|
|
424
|
+
|
|
425
|
+
```Cmd
|
|
426
|
+
openclaw nodes invoke <ID> --command alarm.create --params "{\"time\":\"T18:00:00\",\"realRepeatType\":4,\"daysOfWeek\":0,\"specialTimeMillis\":0,\"skipHoliday\":false}"
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
**Linux (Bash) 执行命令**:
|
|
430
|
+
|
|
431
|
+
```bash
|
|
432
|
+
openclaw nodes invoke <ID> --command alarm.create --params '{"time":"T18:00:00","realRepeatType":4,"daysOfWeek":0,"specialTimeMillis":0,"skipHoliday":false}'
|
|
433
|
+
```
|
|
434
|
+
|
|
435
|
+
---
|
|
436
|
+
|
|
437
|
+
### 示例 11: 创建单休闹钟(仅休周日)
|
|
438
|
+
|
|
439
|
+
**用户输入**: "单休工作日上午八点半的闹钟"
|
|
440
|
+
|
|
441
|
+
**JSON 参数**:
|
|
442
|
+
|
|
443
|
+
```json
|
|
444
|
+
{
|
|
445
|
+
"time": "T08:30:00",
|
|
446
|
+
"realRepeatType": 10,
|
|
447
|
+
"daysOfWeek": 0,
|
|
448
|
+
"specialTimeMillis": 0,
|
|
449
|
+
"skipHoliday": false
|
|
450
|
+
}
|
|
451
|
+
```
|
|
452
|
+
|
|
453
|
+
**Windows (Cmd) 执行命令**:
|
|
454
|
+
|
|
455
|
+
```Cmd
|
|
456
|
+
openclaw nodes invoke <ID> --command alarm.create --params "{\"time\":\"T08:30:00\",\"realRepeatType\":10,\"daysOfWeek\":0,\"specialTimeMillis\":0,\"skipHoliday\":false}"
|
|
457
|
+
```
|
|
458
|
+
|
|
459
|
+
**Linux (Bash) 执行命令**:
|
|
460
|
+
|
|
461
|
+
```bash
|
|
462
|
+
openclaw nodes invoke <ID> --command alarm.create --params '{"time":"T08:30:00","realRepeatType":10,"daysOfWeek":0,"specialTimeMillis":0,"skipHoliday":false}'
|
|
463
|
+
```
|
|
464
|
+
|
|
465
|
+
## 错误处理
|
|
466
|
+
|
|
467
|
+
如果工具执行错误(300),可能原因如下:
|
|
468
|
+
|
|
469
|
+
1.设备闹钟没有权限 2.系统闹钟应用异常 3.当前设备环境限制 4.闹钟版本不支持
|
|
470
|
+
|
|
471
|
+
可以尝试以下操作:
|
|
472
|
+
|
|
473
|
+
1.检查设备闹钟权限是否开启 2.确认系统闹钟应用正常运行 3.升级闹钟应用到最新版本 4.或者你可以手动在手机上设置闹钟
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: app.close
|
|
3
|
+
description: >
|
|
4
|
+
应用关闭工具。用于帮助用户关闭指定的 APP 应用,
|
|
5
|
+
且不涉及任何具体 App 内部操作。
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# App Close 应用关闭
|
|
9
|
+
|
|
10
|
+
## Tool Command
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
app.close
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## 集成工作流
|
|
17
|
+
|
|
18
|
+
**⚠️ 重要: 关闭应用前请遵循以下工作流程**
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
22
|
+
│ Step 1: 检查输入参数 │
|
|
23
|
+
│ - 有应用名称? → 进入 Step 2 │
|
|
24
|
+
│ - 有包名(pkgName)? → 进入 Step 3 │
|
|
25
|
+
│ - 仅有类型描述(appDescription)? → 进入 Step 4 │
|
|
26
|
+
│ - 都没有? → 向用户追问应用名称或包名 │
|
|
27
|
+
│ - 值为 "all"? → 不支持打开所有应用,提示用户 │
|
|
28
|
+
└─────────────────────────────────────────────────────────────┘
|
|
29
|
+
|
|
30
|
+
↓
|
|
31
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
32
|
+
│ Step 2: 通过应用名称解析包名 │
|
|
33
|
+
│ 调用: app_name_to_pkgName(上文),用App名称去查找App包名 │
|
|
34
|
+
│ 若匹配到多个结果 → 请用户选择 │
|
|
35
|
+
│ 若无匹配结果 → 通知用户并请求提供包名 │
|
|
36
|
+
└─────────────────────────────────────────────────────────────┘
|
|
37
|
+
|
|
38
|
+
↓
|
|
39
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
40
|
+
│ Step 3: 通过包名解析应用名称 │
|
|
41
|
+
│ 调用: app_name_to_pkgName(上文),用App包名去查找App名称 │
|
|
42
|
+
│ 若匹配到多个结果 → 请用户选择 │
|
|
43
|
+
│ 若无匹配结果 → 通知用户并请求提供应用名称 │
|
|
44
|
+
└─────────────────────────────────────────────────────────────┘
|
|
45
|
+
|
|
46
|
+
↓
|
|
47
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
48
|
+
│ Step 4: 通过类型描述解析包名 │
|
|
49
|
+
│ 调用: 根据你的理解,基于app类型找到App名称和APP包名 │
|
|
50
|
+
│ 若匹配到多结果 → 请用户选择 │
|
|
51
|
+
│ 若无匹配结果 → 通知用户并请求提供应用名称或包名 │
|
|
52
|
+
└─────────────────────────────────────────────────────────────┘
|
|
53
|
+
↓
|
|
54
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
55
|
+
│ Step 5: 执行关闭应用 │
|
|
56
|
+
│ 调用: app.close,传入 pkgName │
|
|
57
|
+
│ - 根据操作系统选择对应的命令格式 │
|
|
58
|
+
│ - Windows: Cmd 格式(双引号需转义) │
|
|
59
|
+
│ - Linux: Bash 格式(单引号包裹) │
|
|
60
|
+
└─────────────────────────────────────────────────────────────┘
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## 意图分类与参数映射
|
|
64
|
+
|
|
65
|
+
| 用户意图 | 关键词示例 | 参数组合 |
|
|
66
|
+
| :----------------------- | :-------------------------------- | :---------------------------------- |
|
|
67
|
+
| **关闭指定应用** | 关闭/关掉/退出 + [应用名] | `app`, `pkgName` |
|
|
68
|
+
| **关闭所有应用** | 关闭/关掉 + 所有应用/全部应用 | `app`="all" |
|
|
69
|
+
| **关闭带类型描述的应用** | 关闭/关掉 + [应用名] + [类型描述] | `app`, `pkgName` ,`appDescription` |
|
|
70
|
+
| **通过序号选择应用** | 第一个/第二个/3 | `sequence` |
|
|
71
|
+
| **通过类型描述关闭** | 关闭 + [类型描述](未指定应用名) | `appDescription` |
|
|
72
|
+
|
|
73
|
+
## 参数定义
|
|
74
|
+
|
|
75
|
+
```json
|
|
76
|
+
{
|
|
77
|
+
"app": {
|
|
78
|
+
"type": "string",
|
|
79
|
+
"description": "需要关闭的应用名称,若用户指定具体应用,则填写应用名称,若用户明确表示"所有应用",则参数值为 all。"
|
|
80
|
+
},
|
|
81
|
+
"pkgName": {
|
|
82
|
+
"type": "string",
|
|
83
|
+
"description": "必填项,应用包名。根据集成工作流中 app_name_to_pkgName 的映射表,填写应用包名。"
|
|
84
|
+
},
|
|
85
|
+
"sequence": {
|
|
86
|
+
"type": "string",
|
|
87
|
+
"description": "列表序号。可使用中文或数字表示,需要和原始输入保持一致,示例:第一、第二个、3。"
|
|
88
|
+
},
|
|
89
|
+
"appDescription": {
|
|
90
|
+
"type": "string",
|
|
91
|
+
"description": "类型描述。对 app 的补充描述,无论是否为空,都可以有这个参数,当且仅当 app 为空时才调用 description。示例:办公应用、聊天软件、音乐类应用。"
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### 参数注意事项
|
|
97
|
+
|
|
98
|
+
1. **app 与 appDescription 的关系**: `appDescription` 是对 `app` 的补充描述,当 `app` 为空时可单独通过 `appDescription` 进行类型匹配
|
|
99
|
+
2. **所有应用**: 当用户明确表示关闭"所有应用"或"全部应用"时,`app` 参数值应设为 `all`
|
|
100
|
+
3. **序号选择**: `sequence` 需保持与用户原始输入一致的表述形式(如"第一"、"第二个"、"3")
|
|
101
|
+
|
|
102
|
+
## app_name_to_pkgName
|
|
103
|
+
|
|
104
|
+
| app | pkgName |
|
|
105
|
+
| :--------- | :----------------------------- |
|
|
106
|
+
| 手机淘宝 | com.taobao.taobao |
|
|
107
|
+
| 支付宝 | com.eg.android.AlipayGphone |
|
|
108
|
+
| 微信 | com.tencent.mm |
|
|
109
|
+
| QQ | com.tencent.mobileqq |
|
|
110
|
+
| 抖音短视频 | com.ss.android.ugc.aweme |
|
|
111
|
+
| 小红书 | com.xingin.xhs |
|
|
112
|
+
| 美团 | com.sankuai.meituan |
|
|
113
|
+
| 美团外卖 | com.sankuai.meituan.takeoutnew |
|
|
114
|
+
| 京东 | com.jingdong.app.mall |
|
|
115
|
+
| 拼多多 | com.xunmeng.pinduoduo |
|
|
116
|
+
| 高德地图 | com.autonavi.minimap |
|
|
117
|
+
| 百度地图 | com.baidu.BaiduMap |
|
|
118
|
+
| 爱奇艺 | com.qiyi.video |
|
|
119
|
+
| 腾讯视频 | com.tencent.qqlive |
|
|
120
|
+
| 微博 | com.sina.weibo |
|
|
121
|
+
| 今日头条 | com.ss.android.article.news |
|
|
122
|
+
|
|
123
|
+
## Query 示例及输出
|
|
124
|
+
|
|
125
|
+
### 示例 1: 关闭指定应用
|
|
126
|
+
|
|
127
|
+
**用户输入**: "用平板关掉淘宝"
|
|
128
|
+
|
|
129
|
+
**工具**: "app.close"
|
|
130
|
+
|
|
131
|
+
**JSON 参数**:
|
|
132
|
+
|
|
133
|
+
```json
|
|
134
|
+
{
|
|
135
|
+
"app": "淘宝",
|
|
136
|
+
"pkgName": "com.taobao.taobao"
|
|
137
|
+
}
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
**Windows (Cmd) 执行命令**:
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
openclaw nodes invoke --node <ID> --command app.close --params "{\"app\":\"淘宝\",\"pkgName\":\"com.taobao.taobao\}"
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
**Linux (Bash) 执行命令**:
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
openclaw nodes invoke --node <ID> --command app.close --params '{"app":"淘宝", "pkgName":"com.taobao.taobao}'
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
### 示例 2: 关闭带类型描述的应用
|
|
155
|
+
|
|
156
|
+
**用户输入**: "帮我把淘宝这个购物应用关掉"
|
|
157
|
+
|
|
158
|
+
**工具**: "app.close"
|
|
159
|
+
|
|
160
|
+
**JSON 参数**:
|
|
161
|
+
|
|
162
|
+
```json
|
|
163
|
+
{
|
|
164
|
+
"app": "淘宝",
|
|
165
|
+
"pkgName": "com.taobao.taobao",
|
|
166
|
+
"appDescription": "购物"
|
|
167
|
+
}
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
**Windows (Cmd) 执行命令**:
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
openclaw nodes invoke --node <ID> --command app.close --params "{\"app\":\"淘宝\",\"pkName\":\"com.taobao.taobao\",\"appDescription\":\"购物\"}"
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
**Linux (Bash) 执行命令**:
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
openclaw nodes invoke --node <ID> --command app.close --params '{"app":"淘宝","pkgName":"com.taobao.taobao","appDescription":"购物"}'
|
|
180
|
+
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
---
|