@honor-claw/yoyo 1.1.4-beta.1 → 1.1.4-beta.2

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 (76) hide show
  1. package/package.json +1 -1
  2. package/skills/search/SKILL.md +29 -25
  3. package/skills/yoyo-control/SKILL.md +0 -3
  4. package/skills/yoyo-control/references/alarm-create.md +1 -1
  5. package/skills/yoyo-control/references/app-close.md +3 -3
  6. package/skills/yoyo-control/references/app-open.md +5 -4
  7. package/skills/yoyo-control/references/app_name_to_pkgName.md +238 -238
  8. package/skills/yoyo-control/references/call-phone.md +1 -1
  9. package/src/agent/copy-templates.ts +2 -4
  10. package/src/apis/claw-cloud.ts +10 -14
  11. package/src/apis/helpers.ts +3 -3
  12. package/src/apis/honor-auth.ts +25 -23
  13. package/src/apis/http-client.ts +19 -30
  14. package/src/apis/index.ts +5 -5
  15. package/src/cloud-channel/admin-client-manager.ts +7 -3
  16. package/src/cloud-channel/channel.ts +6 -6
  17. package/src/cloud-channel/client.ts +391 -390
  18. package/src/cloud-channel/session-manager.ts +1 -1
  19. package/src/cloud-channel/types.ts +3 -8
  20. package/src/commands/env/impl.ts +3 -3
  21. package/src/commands/env/index.ts +1 -1
  22. package/src/commands/index.ts +5 -11
  23. package/src/commands/login/impl.ts +4 -9
  24. package/src/commands/logout/impl.ts +13 -3
  25. package/src/commands/status/index.ts +9 -24
  26. package/src/gateway-client/admin-gateway-client.ts +11 -9
  27. package/src/gateway-client/client.ts +14 -14
  28. package/src/gateway-client/device/auth.ts +3 -10
  29. package/src/gateway-client/device/builder.ts +9 -23
  30. package/src/gateway-client/device/index.ts +1 -16
  31. package/src/gateway-client/device/types.ts +1 -8
  32. package/src/gateway-client/index.ts +1 -1
  33. package/src/gateway-client/node-gateway-client.ts +5 -5
  34. package/src/gateway-client/protocol/client.ts +2 -4
  35. package/src/gateway-client/protocol/index.ts +2 -2
  36. package/src/gateway-client/protocol-client.ts +4 -4
  37. package/src/honor-auth/browser.ts +84 -79
  38. package/src/honor-auth/callback-server.ts +17 -17
  39. package/src/honor-auth/cloud.ts +16 -16
  40. package/src/honor-auth/config.ts +3 -5
  41. package/src/honor-auth/index.ts +3 -3
  42. package/src/honor-auth/token-manager.ts +8 -20
  43. package/src/index.ts +6 -6
  44. package/src/modules/claw-configs/config-manager.ts +32 -41
  45. package/src/modules/claw-configs/hosts.ts +11 -11
  46. package/src/modules/claw-configs/identity-persist.ts +197 -0
  47. package/src/modules/claw-configs/index.ts +4 -3
  48. package/src/modules/claw-configs/provider.ts +21 -54
  49. package/src/modules/claw-configs/types.ts +6 -3
  50. package/src/modules/device/device-info.ts +44 -82
  51. package/src/{gateway-client → modules}/device/identity.ts +212 -251
  52. package/src/modules/device/index.ts +5 -3
  53. package/src/modules/device/providers/base.ts +1 -2
  54. package/src/modules/device/providers/index.ts +56 -0
  55. package/src/modules/device/providers/linux.ts +26 -24
  56. package/src/modules/device/providers/macos.ts +31 -21
  57. package/src/modules/device/providers/pad.ts +21 -21
  58. package/src/modules/device/providers/windows.ts +25 -29
  59. package/src/modules/device/types.ts +10 -0
  60. package/src/modules/login/impl.ts +23 -10
  61. package/src/modules/login/index.ts +2 -2
  62. package/src/schemas.ts +2 -2
  63. package/src/services/connection/impl.ts +75 -107
  64. package/src/services/connection/index.ts +1 -1
  65. package/src/services/connection/status-tracker/events.ts +12 -12
  66. package/src/services/connection/status-tracker/index.ts +4 -4
  67. package/src/services/connection/status-tracker/storage.ts +16 -16
  68. package/src/services/connection/status-tracker/tracker.ts +21 -45
  69. package/src/services/connection/status-tracker/types.ts +3 -3
  70. package/src/types.ts +5 -2
  71. package/src/utils/fs-safe.ts +26 -27
  72. package/src/utils/home-dir.ts +50 -0
  73. package/src/utils/id.ts +2 -2
  74. package/src/utils/jwt.ts +7 -6
  75. package/src/utils/proxy.ts +5 -5
  76. package/src/utils/version.ts +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@honor-claw/yoyo",
3
- "version": "1.1.4-beta.1",
3
+ "version": "1.1.4-beta.2",
4
4
  "description": "OpenClaw Honor Yoyo connection plugin",
5
5
  "keywords": [
6
6
  "ai",
@@ -10,6 +10,7 @@ Search the web and get relevant results optimized for LLM consumption.
10
10
  ## Authentication
11
11
 
12
12
  The script uses OAuth via the Tavily MCP server. **No manual setup required** - on first run, it will:
13
+
13
14
  1. Check for existing tokens in `~/.mcp-auth/`
14
15
  2. If none found, automatically open your browser for OAuth authentication
15
16
 
@@ -18,6 +19,7 @@ The script uses OAuth via the Tavily MCP server. **No manual setup required** -
18
19
  ### Alternative: API Key
19
20
 
20
21
  If you prefer using an API key, get one at https://tavily.com and add to `~/.openclaw/openclaw.json`:
22
+
21
23
  ```json
22
24
  {
23
25
  "env": {
@@ -35,6 +37,7 @@ If you prefer using an API key, get one at https://tavily.com and add to `~/.ope
35
37
  ```
36
38
 
37
39
  **Examples:**
40
+
38
41
  ```bash
39
42
  # Basic search
40
43
  ./scripts/search.sh '{"query": "python async patterns"}'
@@ -87,29 +90,29 @@ POST https://api.tavily.com/search
87
90
 
88
91
  ### Headers
89
92
 
90
- | Header | Value |
91
- |--------|-------|
93
+ | Header | Value |
94
+ | --------------- | ------------------------- |
92
95
  | `Authorization` | `Bearer <TAVILY_API_KEY>` |
93
- | `Content-Type` | `application/json` |
96
+ | `Content-Type` | `application/json` |
94
97
 
95
98
  ### Request Body
96
99
 
97
- | Field | Type | Default | Description |
98
- |-------|------|---------|-------------|
99
- | `query` | string | Required | Search query (keep under 400 chars) |
100
- | `max_results` | integer | 10 | Maximum results (0-20) |
101
- | `search_depth` | string | `"basic"` | `ultra-fast`, `fast`, `basic`, `advanced` |
102
- | `topic` | string | `"general"` | Search topic (general only) |
103
- | `time_range` | string | null | `day`, `week`, `month`, `year` |
104
- | `start_date` | string | null | Return results after this date (`YYYY-MM-DD`) |
105
- | `end_date` | string | null | Return results before this date (`YYYY-MM-DD`) |
106
- | `include_domains` | array | [] | Domains to include (max 300) |
107
- | `exclude_domains` | array | [] | Domains to exclude (max 150) |
108
- | `country` | string | null | Boost results from a specific country (general topic only) |
109
- | `include_raw_content` | boolean | false | Include full page content |
110
- | `include_images` | boolean | false | Include image results |
111
- | `include_image_descriptions` | boolean | false | Include descriptions for images |
112
- | `include_favicon` | boolean | false | Include favicon URL for each result |
100
+ | Field | Type | Default | Description |
101
+ | ---------------------------- | ------- | ----------- | ---------------------------------------------------------- |
102
+ | `query` | string | Required | Search query (keep under 400 chars) |
103
+ | `max_results` | integer | 10 | Maximum results (0-20) |
104
+ | `search_depth` | string | `"basic"` | `ultra-fast`, `fast`, `basic`, `advanced` |
105
+ | `topic` | string | `"general"` | Search topic (general only) |
106
+ | `time_range` | string | null | `day`, `week`, `month`, `year` |
107
+ | `start_date` | string | null | Return results after this date (`YYYY-MM-DD`) |
108
+ | `end_date` | string | null | Return results before this date (`YYYY-MM-DD`) |
109
+ | `include_domains` | array | [] | Domains to include (max 300) |
110
+ | `exclude_domains` | array | [] | Domains to exclude (max 150) |
111
+ | `country` | string | null | Boost results from a specific country (general topic only) |
112
+ | `include_raw_content` | boolean | false | Include full page content |
113
+ | `include_images` | boolean | false | Include image results |
114
+ | `include_image_descriptions` | boolean | false | Include descriptions for images |
115
+ | `include_favicon` | boolean | false | Include favicon URL for each result |
113
116
 
114
117
  ### Response Format
115
118
 
@@ -130,14 +133,15 @@ POST https://api.tavily.com/search
130
133
 
131
134
  ## Search Depth
132
135
 
133
- | Depth | Latency | Relevance | Content Type |
134
- |-------|---------|-----------|--------------|
135
- | `ultra-fast` | Lowest | Lower | NLP summary |
136
- | `fast` | Low | Good | Chunks |
137
- | `basic` | Medium | High | NLP summary |
138
- | `advanced` | Higher | Highest | Chunks |
136
+ | Depth | Latency | Relevance | Content Type |
137
+ | ------------ | ------- | --------- | ------------ |
138
+ | `ultra-fast` | Lowest | Lower | NLP summary |
139
+ | `fast` | Low | Good | Chunks |
140
+ | `basic` | Medium | High | NLP summary |
141
+ | `advanced` | Higher | Highest | Chunks |
139
142
 
140
143
  **When to use each:**
144
+
141
145
  - `ultra-fast`: Real-time chat, autocomplete
142
146
  - `fast`: Need chunks but latency matters
143
147
  - `basic`: General-purpose, balanced
@@ -177,7 +177,6 @@ Execute the following steps **in strict order** for each operation to construct
177
177
 
178
178
  当用户提出重复的请求,直接执行,不能质疑用户。
179
179
 
180
-
181
180
  ### 3.2 查询类请求的特殊处理
182
181
 
183
182
  **场景定义**:用户在访问查询类的请求,比如查询我的手机是否是静音模式
@@ -208,8 +207,6 @@ Execute the following steps **in strict order** for each operation to construct
208
207
  其中,特殊指令,包含查询闹钟/查询日程/查短信/查联系人/查通讯录,这些根据查询的具体返回结果进行交互。
209
208
  除了上述特殊查询,都回复用户“好的”。
210
209
 
211
-
212
-
213
210
  ## Step 4. Invoke Node With Command and Parameters
214
211
 
215
212
  **Command**:
@@ -439,7 +439,7 @@ cmd /c 'openclaw nodes invoke --node <ID> --command alarm.create --params "{\"ti
439
439
 
440
440
  ```bash
441
441
  openclaw nodes invoke --node <ID> --command alarm.create --params '{"time":"T18:00:00","realRepeatType":4,"daysOfWeek":0,"specialTimeMillis":0,"skipHoliday":false}'
442
- ````
442
+ ```
443
443
 
444
444
  ---
445
445
 
@@ -123,9 +123,9 @@ app.close
123
123
 
124
124
  ## 回复语规则
125
125
 
126
- | 执行结果 | 回复语 |
127
- | :------- | :----- |
128
- | **成功** | "好的" |
126
+ | 执行结果 | 回复语 |
127
+ | :------- | :--------------------------------------------------------------------------------- |
128
+ | **成功** | "好的" |
129
129
  | **失败** | 根据返回的错误信息输出具体原因,如:"关闭失败,应用未运行"、"关闭失败,权限不足"等 |
130
130
 
131
131
  ## Query 示例及输出
@@ -122,9 +122,9 @@ app.open
122
122
 
123
123
  ## 回复语规则
124
124
 
125
- | 执行结果 | 回复语 |
126
- | :------- | :----- |
127
- | **成功** | "好的" |
125
+ | 执行结果 | 回复语 |
126
+ | :------- | :--------------------------------------------------------------------------------- |
127
+ | **成功** | "好的" |
128
128
  | **失败** | 根据返回的错误信息输出具体原因,如:"打开失败,应用未安装"、"打开失败,权限不足"等 |
129
129
 
130
130
  ## Query 示例及输出
@@ -301,6 +301,7 @@ openclaw nodes invoke --node <ID> --command app.open --params '{"app":"抖音短
301
301
  **用户输入**: "打开网易云音乐"
302
302
 
303
303
  **查找流程**:
304
+
304
305
  1. 高频应用表:未找到
305
306
  2. 查询 references/app_name_to_pkgName.md 知识库
306
307
  3. 若知识库中找到:pkgName = "com.netease.cloudmusic"
@@ -325,9 +326,9 @@ openclaw nodes invoke --node <ID> --command app.open --params '{"app":"抖音短
325
326
  **用户输入**: "打开某某小众应用"
326
327
 
327
328
  **查找流程**:
329
+
328
330
  1. 高频应用表:未找到
329
331
  2. 查询 references/app_name_to_pkgName.md 知识库:未找到
330
332
  3. 网络搜索:未找到
331
333
 
332
334
  **回复用户**: "暂时找不到这个app,请提供应用包名或确认应用名称。"
333
- ```