@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,220 @@
1
+ ---
2
+ name: screen-record
3
+ description: >
4
+ 设备屏幕录制管理与控制工具。提供对设备屏幕录制功能的管理与控制能力,
5
+ 支持对屏幕录制功能的开启与关闭、相关录制参数的设置、当前录制状态的查询,
6
+ 并可结合指定应用对其在特定应用场景下的录制行为进行管理。
7
+ ---
8
+
9
+ # Screen Record 屏幕录制管理
10
+
11
+ ## Tool Command
12
+
13
+ ```bash
14
+ screen-record
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) │
39
+ │ - 生成平台特定的命令格式 │
40
+ └─────────────────────────────────────────────────────────────┘
41
+ ```
42
+
43
+ ### Step 2: 执行调用
44
+
45
+ - 根据操作系统选择对应的命令格式
46
+ - Windows: Cmd 格式(双引号需转义)
47
+ - Linux: Bash 格式(单引号包裹)
48
+
49
+ ## 意图分类与参数映射
50
+
51
+ | 用户意图 | 关键词示例 | actionType | 可选参数 |
52
+ | :----------- | :----------------------------------------- | :--------- | :------- |
53
+ | **开启录屏** | 打开/开始/启用/恢复 + 屏幕录制/录屏 | `打开` | `app` |
54
+ | **关闭录屏** | 关闭/停止/断开/结束 + 屏幕录制/录屏 | `关闭` | `app` |
55
+ | **设置录屏** | 设置/调整 + 录制参数(分辨率、声音来源等) | `设置` | `app` |
56
+ | **查询状态** | 查询/查看 + 录屏状态/是否在录制 | `查询` | `app` |
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
+ }
72
+ ```
73
+
74
+ ### 参数注意事项
75
+
76
+ 1. **同义词映射**: "录屏"、"录制屏幕"、"屏幕录制"等表述均应统一识别为屏幕录制操作
77
+ 2. **开启同义词**: "恢复"、"开始"、"启用"均映射为打开操作
78
+ 3. **关闭同义词**: "停止"、"断开"、"结束"均映射为关闭操作
79
+
80
+ ## Query 示例及输出
81
+
82
+ ### 示例 1: 打开屏幕录制
83
+
84
+ **用户输入**: "打开屏幕录制"
85
+
86
+ **工具**: "screen-record"
87
+
88
+ **JSON 参数**:
89
+
90
+ ```json
91
+ {
92
+ "actionType": "打开"
93
+ }
94
+ ```
95
+
96
+ **Windows (Cmd) 执行命令**:
97
+
98
+ ```bash
99
+ openclaw nodes invoke --node <ID> --command screen-record --params "{\"actionType\":\"打开\"}"
100
+ ```
101
+
102
+ **Linux (Bash) 执行命令**:
103
+
104
+ ```bash
105
+ openclaw nodes invoke --node <ID> --command screen-record --params '{"actionType":"打开"}'
106
+ ```
107
+
108
+ ---
109
+
110
+ ### 示例 2: 关闭屏幕录制
111
+
112
+ **用户输入**: "关闭屏幕录制"
113
+
114
+ **工具**: "screen-record"
115
+
116
+ **JSON 参数**:
117
+
118
+ ```json
119
+ {
120
+ "actionType": "关闭"
121
+ }
122
+ ```
123
+
124
+ **Windows (Cmd) 执行命令**:
125
+
126
+ ```bash
127
+ openclaw nodes invoke --node <ID> --command screen-record --params "{\"actionType\":\"关闭\"}"
128
+ ```
129
+
130
+ **Linux (Bash) 执行命令**:
131
+
132
+ ```bash
133
+ openclaw nodes invoke --node <ID> --command screen-record --params '{"actionType":"关闭"}'
134
+ ```
135
+
136
+ ---
137
+
138
+ ### 示例 3: 恢复录屏功能
139
+
140
+ **用户输入**: "恢复录屏使用"
141
+
142
+ **工具**: "screen-record"
143
+
144
+ **JSON 参数**:
145
+
146
+ ```json
147
+ {
148
+ "actionType": "打开"
149
+ }
150
+ ```
151
+
152
+ **Windows (Cmd) 执行命令**:
153
+
154
+ ```bash
155
+ openclaw nodes invoke --node <ID> --command screen-record --params "{\"actionType\":\"打开\"}"
156
+ ```
157
+
158
+ **Linux (Bash) 执行命令**:
159
+
160
+ ```bash
161
+ openclaw nodes invoke --node <ID> --command screen-record --params '{"actionType":"打开"}'
162
+ ```
163
+
164
+ ---
165
+
166
+ ### 示例 4: 口语化打开录屏
167
+
168
+ **用户输入**: "请打开手机录制屏幕功能"
169
+
170
+ **工具**: "screen-record"
171
+
172
+ **JSON 参数**:
173
+
174
+ ```json
175
+ {
176
+ "actionType": "打开"
177
+ }
178
+ ```
179
+
180
+ **Windows (Cmd) 执行命令**:
181
+
182
+ ```bash
183
+ openclaw nodes invoke --node <ID> --command screen-record --params "{\"actionType\":\"打开\"}"
184
+ ```
185
+
186
+ **Linux (Bash) 执行命令**:
187
+
188
+ ```bash
189
+ openclaw nodes invoke --node <ID> --command screen-record --params '{"actionType":"打开"}'
190
+ ```
191
+
192
+ ---
193
+
194
+ ### 示例 5: 语音助手停止录屏
195
+
196
+ **用户输入**: "youyou停止录制屏幕"
197
+
198
+ **工具**: "screen-record"
199
+
200
+ **JSON 参数**:
201
+
202
+ ```json
203
+ {
204
+ "actionType": "关闭"
205
+ }
206
+ ```
207
+
208
+ **Windows (Cmd) 执行命令**:
209
+
210
+ ```bash
211
+ openclaw nodes invoke --node <ID> --command screen-record --params "{\"actionType\":\"关闭\"}"
212
+ ```
213
+
214
+ **Linux (Bash) 执行命令**:
215
+
216
+ ```bash
217
+ openclaw nodes invoke --node <ID> --command screen-record --params '{"actionType":"关闭"}'
218
+ ```
219
+
220
+ ---
@@ -0,0 +1,235 @@
1
+ ---
2
+ name: vibration-mode
3
+ description: >
4
+ 系统震动反馈管理与控制工具。提供对系统震动反馈功能的统一管理与控制能力,
5
+ 支持震动模式的设置、状态查询、打开与关闭,并可分别管理静音状态下震动、
6
+ 响铃状态下震动,以及在点击导航栏或设备解锁等交互场景中的震动反馈。
7
+ ---
8
+
9
+ # Vibration Mode 震动模式管理
10
+
11
+ ## Tool Command
12
+
13
+ ```bash
14
+ vibration-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, target 及可选参数(app) │
40
+ │ - 生成平台特定的命令格式 │
41
+ └─────────────────────────────────────────────────────────────┘
42
+ ```
43
+
44
+ ### Step 2: 执行调用
45
+
46
+ - 根据操作系统选择对应的命令格式
47
+ - Windows: Cmd 格式(双引号需转义)
48
+ - Linux: Bash 格式(单引号包裹)
49
+
50
+ ## 意图分类与参数映射
51
+
52
+ | 用户意图 | 关键词示例 | actionType | target | 可选参数 |
53
+ | :--------------------- | :-------------------------------- | :------------------- | :------------------------- | :------- |
54
+ | **开启震动模式** | 打开/开启 + 震动模式 | `打开` | `震动模式` | `app` |
55
+ | **关闭震动模式** | 关闭/停止 + 震动模式 | `关闭` | `震动模式` | `app` |
56
+ | **设置震动模式** | 设置/调整/进入 + 震动模式 | `设置` | `震动模式` | `app` |
57
+ | **查询震动状态** | 查询/查看 + 震动状态 | `查询` | `震动模式` | `app` |
58
+ | **静音时震动控制** | 打开/关闭 + 静音时震动 | `打开`/`关闭` | `静音时震动` | `app` |
59
+ | **响铃时震动控制** | 打开/关闭/设置 + 响铃时震动 | `打开`/`关闭`/`设置` | `响铃时震动` | `app` |
60
+ | **导航栏解锁震动控制** | 打开/关闭 + 点击导航栏/解锁时震动 | `打开`/`关闭` | `点击导航栏时或解锁时震动` | `app` |
61
+
62
+ ## 参数定义
63
+
64
+ ```json
65
+ {
66
+ "actionType": {
67
+ "type": "string",
68
+ "enum": ["设置", "查询", "打开", "关闭"],
69
+ "description": "震动模式相关操作的动作类型,用于明确本次指令的主要行为。当涉及对震动模式或具体震动场景进行参数配置时使用设置;当获取当前震动功能开启状态或配置情况时使用查询;当要求启用震动模式或某类震动反馈时使用打开;当要求停用震动模式或关闭指定震动反馈时使用关闭。"
70
+ },
71
+ "target": {
72
+ "type": "string",
73
+ "enum": ["震动模式", "静音时震动", "响铃时震动", "点击导航栏时或解锁时震动"],
74
+ "description": "震动功能的具体作用对象,用于限定 actionType 的作用范围。当管理整体震动功能时选择震动模式;当需要分别控制不同系统状态或交互场景下的震动反馈时选择对应选项。"
75
+ },
76
+ "app": {
77
+ "type": "string",
78
+ "description": "指定执行震动相关操作的应用名称。当明确要求在某个特定应用场景下启用或关闭震动反馈时填写。"
79
+ }
80
+ }
81
+ ```
82
+
83
+ ### 参数注意事项
84
+
85
+ 1. **actionType 必填**: 每次调用必须明确指定操作类型
86
+ 2. **target 必填**: 需明确指定震动功能的作用对象,未指定时默认为 `震动模式`
87
+ 3. **app 可选**: 仅在用户明确指定某个应用的震动行为时填写,不指定则默认为系统全局震动设置
88
+ 4. **同义词映射**: "振动"、"马达反馈"等表述均应映射为震动模式操作
89
+
90
+ ## Query 示例及输出
91
+
92
+ ### 示例 1: 打开震动模式
93
+
94
+ **用户输入**: "打开震动模式"
95
+
96
+ **工具**: "vibration-mode"
97
+
98
+ **JSON 参数**:
99
+
100
+ ```json
101
+ {
102
+ "actionType": "打开",
103
+ "target": "震动模式"
104
+ }
105
+ ```
106
+
107
+ **Windows (Cmd) 执行命令**:
108
+
109
+ ```bash
110
+ openclaw nodes invoke --node <ID> --command vibration-mode --params "{\"actionType\":\"打开\",\"target\":\"震动模式\"}"
111
+ ```
112
+
113
+ **Linux (Bash) 执行命令**:
114
+
115
+ ```bash
116
+ openclaw nodes invoke --node <ID> --command vibration-mode --params '{"actionType":"打开","target":"震动模式"}'
117
+ ```
118
+
119
+ ---
120
+
121
+ ### 示例 2: 关闭静音时震动
122
+
123
+ **用户输入**: "关闭静音时震动"
124
+
125
+ **工具**: "vibration-mode"
126
+
127
+ **JSON 参数**:
128
+
129
+ ```json
130
+ {
131
+ "actionType": "关闭",
132
+ "target": "静音时震动"
133
+ }
134
+ ```
135
+
136
+ **Windows (Cmd) 执行命令**:
137
+
138
+ ```bash
139
+ openclaw nodes invoke --node <ID> --command vibration-mode --params "{\"actionType\":\"关闭\",\"target\":\"静音时震动\"}"
140
+ ```
141
+
142
+ **Linux (Bash) 执行命令**:
143
+
144
+ ```bash
145
+ openclaw nodes invoke --node <ID> --command vibration-mode --params '{"actionType":"关闭","target":"静音时震动"}'
146
+ ```
147
+
148
+ ---
149
+
150
+ ### 示例 3: 打开响铃时震动
151
+
152
+ **用户输入**: "打开响铃时震动"
153
+
154
+ **工具**: "vibration-mode"
155
+
156
+ **JSON 参数**:
157
+
158
+ ```json
159
+ {
160
+ "actionType": "打开",
161
+ "target": "响铃时震动"
162
+ }
163
+ ```
164
+
165
+ **Windows (Cmd) 执行命令**:
166
+
167
+ ```bash
168
+ openclaw nodes invoke --node <ID> --command vibration-mode --params "{\"actionType\":\"打开\",\"target\":\"响铃时震动\"}"
169
+ ```
170
+
171
+ **Linux (Bash) 执行命令**:
172
+
173
+ ```bash
174
+ openclaw nodes invoke --node <ID> --command vibration-mode --params '{"actionType":"打开","target":"响铃时震动"}'
175
+ ```
176
+
177
+ ---
178
+
179
+ ### 示例 4: 进入响铃时震动设置页
180
+
181
+ **用户输入**: "进入响铃时震动设置页"
182
+
183
+ **工具**: "vibration-mode"
184
+
185
+ **JSON 参数**:
186
+
187
+ ```json
188
+ {
189
+ "actionType": "设置",
190
+ "target": "响铃时震动"
191
+ }
192
+ ```
193
+
194
+ **Windows (Cmd) 执行命令**:
195
+
196
+ ```bash
197
+ openclaw nodes invoke --node <ID> --command vibration-mode --params "{\"actionType\":\"设置\",\"target\":\"响铃时震动\"}"
198
+ ```
199
+
200
+ **Linux (Bash) 执行命令**:
201
+
202
+ ```bash
203
+ openclaw nodes invoke --node <ID> --command vibration-mode --params '{"actionType":"设置","target":"响铃时震动"}'
204
+ ```
205
+
206
+ ---
207
+
208
+ ### 示例 5: 关闭导航栏解锁震动
209
+
210
+ **用户输入**: "关闭点击导航栏时或解锁时震动"
211
+
212
+ **工具**: "vibration-mode"
213
+
214
+ **JSON 参数**:
215
+
216
+ ```json
217
+ {
218
+ "actionType": "关闭",
219
+ "target": "点击导航栏时或解锁时震动"
220
+ }
221
+ ```
222
+
223
+ **Windows (Cmd) 执行命令**:
224
+
225
+ ```bash
226
+ openclaw nodes invoke --node <ID> --command vibration-mode --params "{\"actionType\":\"关闭\",\"target\":\"点击导航栏时或解锁时震动\"}"
227
+ ```
228
+
229
+ **Linux (Bash) 执行命令**:
230
+
231
+ ```bash
232
+ openclaw nodes invoke --node <ID> --command vibration-mode --params '{"actionType":"关闭","target":"点击导航栏时或解锁时震动"}'
233
+ ```
234
+
235
+ ---