@honor-claw/yoyo 1.3.0-alpha.2 → 1.3.0-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/dist/index.mjs CHANGED
@@ -1225,10 +1225,10 @@ async function bt(e, t) {
1225
1225
  if (i.isSymbolicLink()) throw new I("symlink", "symlink not allowed");
1226
1226
  if (!r.isFile()) throw new I("not-file", "not a file");
1227
1227
  if (t?.rejectHardlinks && r.nlink > 1) throw new I("invalid-path", "hardlinked path not allowed");
1228
- if (!z(r, i)) throw new I("path-mismatch", "path changed during read");
1228
+ if (process.platform !== "win32" && !z(r, i)) throw new I("path-mismatch", "path changed during read");
1229
1229
  let a = await v.realpath(e), o = await v.stat(a);
1230
1230
  if (t?.rejectHardlinks && o.nlink > 1) throw new I("invalid-path", "hardlinked path not allowed");
1231
- if (!z(r, o)) throw new I("path-mismatch", "path mismatch");
1231
+ if (process.platform !== "win32" && !z(r, o)) throw new I("path-mismatch", "path mismatch");
1232
1232
  return {
1233
1233
  handle: n,
1234
1234
  realPath: a,
@@ -1267,7 +1267,7 @@ async function Ct(e) {
1267
1267
  async function wt(e) {
1268
1268
  let t = _t(await v.realpath(e.rootDir)), n = await bt(e.targetPath, { rejectHardlinks: !0 });
1269
1269
  try {
1270
- if (!z(n.stat, e.expectedStat)) throw new I("path-mismatch", "path changed during write");
1270
+ if (process.platform !== "win32" && !z(n.stat, e.expectedStat)) throw new I("path-mismatch", "path changed during write");
1271
1271
  if (!R(t, n.realPath)) throw new I("outside-root", "file is outside workspace root");
1272
1272
  } finally {
1273
1273
  await n.handle.close().catch(() => {});
@@ -1346,7 +1346,7 @@ async function Et(e) {
1346
1346
  expectedStat: r
1347
1347
  });
1348
1348
  } catch (e) {
1349
- throw new I("write-failed", `${JSON.stringify(e)}`);
1349
+ throw e instanceof I ? e : new I("write-failed", "atomic write verification failed", { cause: e });
1350
1350
  }
1351
1351
  return {
1352
1352
  realPath: n,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@honor-claw/yoyo",
3
- "version": "1.3.0-alpha.2",
3
+ "version": "1.3.0-beta.1",
4
4
  "description": "OpenClaw Honor Yoyo connection plugin",
5
5
  "keywords": [
6
6
  "ai",
@@ -22,6 +22,7 @@ metadata: { "openclaw": { "emoji": "📱", "always": true } }
22
22
  - 不得使用文档中未定义的参数值
23
23
  - 不得从相似工具推断参数结构或枚举值
24
24
  - 参数必须为合法 JSON,枚举值区分大小写,数值在定义范围内
25
+ - [MANDATORY] 当工具执行错误时,必须确认下发的指令是否存在格式问题,尤其是单双引号的使用问题
25
26
 
26
27
  ## 步骤 1:确定目标设备
27
28
 
@@ -29,13 +30,13 @@ metadata: { "openclaw": { "emoji": "📱", "always": true } }
29
30
 
30
31
  **返回字段说明**:
31
32
 
32
- | 字段 | 说明 | 示例 |
33
- | --- | --- | --- |
34
- | `Node` | 设备名称 | `Honor Magic6 Pro` |
35
- | `ID` | 节点唯一标识符,用于 `--node` 参数 | `f5f8916028aa5` |
36
- | `IP` | 节点 IP 地址,用于 `--node` 参数(**推荐优先使用**,比 ID 更稳定) | `192.168.1.100` |
37
- | `Status` | 连接状态:`connected` / `disconnected` / `unknown` | `connected` |
38
- | `Caps` | 能力列表(逗号分隔),表示支持的操作类型 | `app,call,message,volume` |
33
+ | 字段 | 说明 | 示例 |
34
+ | -------- | ------------------------------------------------------------------ | ------------------------- |
35
+ | `Node` | 设备名称 | `Honor Magic6 Pro` |
36
+ | `ID` | 节点唯一标识符,用于 `--node` 参数 | `f5f8916028aa5` |
37
+ | `IP` | 节点 IP 地址,用于 `--node` 参数(**推荐优先使用**,比 ID 更稳定) | `192.168.1.100` |
38
+ | `Status` | 连接状态:`connected` / `disconnected` / `unknown` | `connected` |
39
+ | `Caps` | 能力列表(逗号分隔),表示支持的操作类型 | `app,call,message,volume` |
39
40
 
40
41
  **设备选择规则**:
41
42
 
@@ -53,68 +54,70 @@ metadata: { "openclaw": { "emoji": "📱", "always": true } }
53
54
  2. 如果是 Sub-Skill 工具 → 读取 `references/*.md` 文件获取详细信息
54
55
  3. 如果是 MCP 工具 → 读取 `mcptools/<tool_name>.json` 文件获取详细信息
55
56
  4. 如果无匹配工具 → 告知用户暂不支持该功能
56
- 5. 根据工具定义文件中的规则组装参数
57
+ 5. 如果遇到 Sub-Skill 与 MCP工具 功能冲突的情况,**必须严格按照 Sub-Skill 中的要求组装命令**
58
+ 6. 根据工具定义文件中的规则组装参数
57
59
 
58
60
  ### Sub-Skill 工具参考
59
61
 
60
- | 所需 Caps | 参考文件 | 工具说明 |
61
- | --- | --- | --- |
62
- | `mobile-data` | `references/mobile-data.md` | 移动数据与流量管理 |
63
- | `hotspot` | `references/hotspot.md` | 个人热点开启与关闭 |
64
- | `volume` | `references/volume-operate.md` | 音量调节与管理(媒体、通话、通知等) |
65
- | `no-disturb` | `references/no-disturb.md` | 免打扰模式管理 |
66
- | `screen-record` | `references/screen-record.md` | 屏幕录制管理与控制 |
67
- | `quiet-mode` | `references/quiet-mode.md` | 静音模式管理 |
68
- | `ringing-mode` | `references/ringing-mode.md` | 响铃模式管理 |
69
- | `vibration-mode` | `references/vibration-mode.md` | 震动反馈管理 |
70
- | `capture-screenshot` | `references/capture-screenshot.md` | 截屏(普通/滚动) |
71
- | `app` | `references/app-open.md` | 打开应用 |
72
- | `app` | `references/app-close.md` | 关闭应用 |
73
- | `app` | `references/app-uninstall.md` | 卸载应用 |
74
- | `contact` | `references/contact-search.md` | 联系人查找(姓名、号码、模糊匹配) |
75
- | `call` | `references/call-phone.md` | 拨打电话(姓名/号码/重拨/回拨) |
76
- | `call` | `references/call-search.md` | 通话记录查询 |
77
- | `message` | `references/message-send.md` | 发送短信 |
78
- | `message` | `references/message-search.md` | 短信查询 |
79
- | `local-search` | `references/local-search.md` | 本地搜索(文档、笔记、日程、图库等) |
80
- | `file-upload` | `references/file-upload.md` | 文件上传 |
81
- | `alarm` | `references/alarm-create.md` | 创建闹钟 |
82
- | `alarm` | `references/alarm-query.md` | 查询闹钟 |
83
- | `alarm` | `references/alarm-delete.md` | 删除闹钟 |
84
- | `alarm` | `references/alarm-disable.md` | 关闭闹钟 |
85
- | `alarm` | `references/alarm-enable.md` | 打开闹钟 |
86
- | `schedule` | `references/schedule-create.md` | 创建日程 |
87
- | `schedule` | `references/schedule-search.md` | 查询日程 |
88
- | `schedule` | `references/schedule-delete.md` | 删除日程 |
89
- | `schedule` | `references/schedule-update.md` | 修改日程 |
90
- | `wlan` | `references/wlan.md` | WLAN/WiFi 管理 |
91
- | `bluetooth` | `references/bluetooth.md` | 蓝牙设备管理 |
92
- | `location-service` | `references/location-service.md` | 定位服务管理 |
93
- | `nfc` | `references/nfc.md` | NFC 管理 |
94
- | `usb-shared-network` | `references/usb-shared-network.md` | USB 共享网络管理 |
95
- | `eyecomfort` | `references/eye-comfort.md` | 护眼模式管理 |
96
- | `brightness` | `references/brightness.md` | 屏幕亮度管理 |
97
- | `dark-mode` | `references/dark-mode.md` | 深色模式管理 |
98
- | `device-operation` | `references/device-operation.md` | 设备电源与屏幕控制 |
99
- | `status-bar-show` | `references/status-bar-show.md` | 状态栏显示管理 |
100
- | `autoscreen-onnotice` | `references/autoscreen-onnotice.md` | 通知自动亮屏管理 |
101
- | `battery` | `references/battery.md` | 电量与省电模式管理 |
102
- | `audio-record` | `references/audio-record.md` | 录音管理 |
103
- | `camera` | `references/camera.md` | 相机控制(拍照/录像) |
104
- | `gui` | `references/gui-task-create.md` | 启动 GUI 操作任务(UI Agent) |
105
- | `gui` | `references/gui-task-terminate.md` | 取消 GUI 任务 |
106
- | `gui` | `references/gui-task-pause.md` | 暂停 GUI 任务 |
107
- | `scan-code` | `references/scan-code.md` | 扫码(二维码/条形码) |
108
- | `flashlight` | `references/flashlight.md` | 手电筒控制 |
109
- | `airplane-mode` | `references/airplane-mode.md` | 飞行模式管理 |
110
- | `clean-dirty` | `references/clean-dirty.md` | 扬声器清理 |
111
- | `flight-monitor` | `references/flight-monitor-create.md` | 创建机票价格监控 |
112
- | `flight-monitor` | `references/flight-monitor-search.md` | 查询机票监控任务 |
113
- | `express` | `references/express-logistics-search.md` | 快递查询 |
62
+ | 所需 Caps | 参考文件 | 工具说明 |
63
+ | --------------------- | ---------------------------------------- | ------------------------------------ |
64
+ | `mobile-data` | `references/mobile-data.md` | 移动数据与流量管理 |
65
+ | `hotspot` | `references/hotspot.md` | 个人热点开启与关闭 |
66
+ | `volume` | `references/volume-operate.md` | 音量调节与管理(媒体、通话、通知等) |
67
+ | `no-disturb` | `references/no-disturb.md` | 免打扰模式管理 |
68
+ | `screen-record` | `references/screen-record.md` | 屏幕录制管理与控制 |
69
+ | `quiet-mode` | `references/quiet-mode.md` | 静音模式管理 |
70
+ | `ringing-mode` | `references/ringing-mode.md` | 响铃模式管理 |
71
+ | `vibration-mode` | `references/vibration-mode.md` | 震动反馈管理 |
72
+ | `capture-screenshot` | `references/capture-screenshot.md` | 截屏(普通/滚动) |
73
+ | `app` | `references/app-open.md` | 打开应用 |
74
+ | `app` | `references/app-close.md` | 关闭应用 |
75
+ | `app` | `references/app-uninstall.md` | 卸载应用 |
76
+ | `contact` | `references/contact-search.md` | 联系人查找(姓名、号码、模糊匹配) |
77
+ | `call` | `references/call-phone.md` | 拨打电话(姓名/号码/重拨/回拨) |
78
+ | `call` | `references/call-search.md` | 通话记录查询 |
79
+ | `message` | `references/message-send.md` | 发送短信 |
80
+ | `message` | `references/message-search.md` | 短信查询 |
81
+ | `local-search` | `references/local-search.md` | 本地搜索(文档、笔记、日程、图库等) |
82
+ | `file-upload` | `references/file-upload.md` | 文件上传 |
83
+ | `alarm` | `references/alarm-create.md` | 创建闹钟 |
84
+ | `alarm` | `references/alarm-query.md` | 查询闹钟 |
85
+ | `alarm` | `references/alarm-delete.md` | 删除闹钟 |
86
+ | `alarm` | `references/alarm-disable.md` | 关闭闹钟 |
87
+ | `alarm` | `references/alarm-enable.md` | 打开闹钟 |
88
+ | `schedule` | `references/schedule-create.md` | 创建日程 |
89
+ | `schedule` | `references/schedule-search.md` | 查询日程 |
90
+ | `schedule` | `references/schedule-delete.md` | 删除日程 |
91
+ | `schedule` | `references/schedule-update.md` | 修改日程 |
92
+ | `wlan` | `references/wlan.md` | WLAN/WiFi 管理 |
93
+ | `bluetooth` | `references/bluetooth.md` | 蓝牙设备管理 |
94
+ | `location-service` | `references/location-service.md` | 定位服务管理 |
95
+ | `nfc` | `references/nfc.md` | NFC 管理 |
96
+ | `usb-shared-network` | `references/usb-shared-network.md` | USB 共享网络管理 |
97
+ | `eyecomfort` | `references/eye-comfort.md` | 护眼模式管理 |
98
+ | `brightness` | `references/brightness.md` | 屏幕亮度管理 |
99
+ | `dark-mode` | `references/dark-mode.md` | 深色模式管理 |
100
+ | `device-operation` | `references/device-operation.md` | 设备电源与屏幕控制 |
101
+ | `status-bar-show` | `references/status-bar-show.md` | 状态栏显示管理 |
102
+ | `autoscreen-onnotice` | `references/autoscreen-onnotice.md` | 通知自动亮屏管理 |
103
+ | `battery` | `references/battery.md` | 电量与省电模式管理 |
104
+ | `audio-record` | `references/audio-record.md` | 录音管理 |
105
+ | `camera` | `references/camera.md` | 相机控制(拍照/录像) |
106
+ | `gui` | `references/gui-task-create.md` | 启动 GUI 操作任务(UI Agent) |
107
+ | `gui` | `references/gui-task-terminate.md` | 取消 GUI 任务 |
108
+ | `gui` | `references/gui-task-pause.md` | 暂停 GUI 任务 |
109
+ | `scan-code` | `references/scan-code.md` | 扫码(二维码/条形码) |
110
+ | `flashlight` | `references/flashlight.md` | 手电筒控制 |
111
+ | `airplane-mode` | `references/airplane-mode.md` | 飞行模式管理 |
112
+ | `clean-dirty` | `references/clean-dirty.md` | 扬声器清理 |
113
+ | `flight-monitor` | `references/flight-monitor-create.md` | 创建机票价格监控 |
114
+ | `flight-monitor` | `references/flight-monitor-search.md` | 查询机票监控任务 |
115
+ | `express` | `references/express-logistics-search.md` | 快递查询 |
114
116
 
115
117
  ### MCP 工具参考
116
- | 工具名称 | 工具说明 | 支持的设备ID列表 |
118
+ <!-- yoyo-mcp-tools:start -->
117
119
  {{full-mcp-tool-list}}
120
+ <!-- yoyo-mcp-tools:end -->
118
121
 
119
122
  ## 步骤 3:特殊场景处理
120
123
 
@@ -123,6 +126,7 @@ metadata: { "openclaw": { "emoji": "📱", "always": true } }
123
126
  **重复操作**:用户重复请求相同操作时,直接执行,不质疑用户。
124
127
 
125
128
  **查询类请求**:
129
+
126
130
  - 特殊查询(闹钟/日程/短信/联系人/通讯录):根据实际返回结果进行针对性交互展示
127
131
  - 其他查询:回复"好的"等友好简洁的提示语后执行
128
132
 
@@ -135,6 +139,7 @@ metadata: { "openclaw": { "emoji": "📱", "always": true } }
135
139
  **Sub-Skill 工具**:按对应 `references/*.md` 文件中定义的命令格式执行。
136
140
 
137
141
  **MCP 工具**:
142
+
138
143
  - Windows (Cmd): `cmd /c 'openclaw nodes invoke --node <ID> --command mcp.tool.call --params "{\"name\":\"<tool_name>\",\"appPkg\":\"<pkgName>\",\"arguments\":<json-string>}"'`
139
144
  - Linux/macOS (Bash): `openclaw nodes invoke --node <IP> --command mcp.tool.call --params '{"name":"<tool_name>","appPkg":"<pkgName>","arguments":<json-string>}'`
140
145
 
@@ -151,25 +156,28 @@ metadata: { "openclaw": { "emoji": "📱", "always": true } }
151
156
 
152
157
  最大重试次数:3 次,每次间隔 1 秒。
153
158
 
154
- | 错误类型 | 处理方式 | 可重试 |
155
- | --- | --- | --- |
156
- | 参数无效 | 校验参数后修正重试 | 是(最多 3 次) |
157
- | 连接错误 / 超时 / 临时故障 | 等待后重试 | 是(最多 3 次) |
158
- | 节点离线 | 重新执行 `nodes status` 确认 | 否 |
159
- | 权限拒绝 | 检查 `gateway.nodes.allowCommands` 配置 | 否 |
160
- | 节点不支持该能力 | 重新执行读取 `SKILL.md` 确认 | 是(最多 1 次) |
159
+ | 错误类型 | 处理方式 | 可重试 |
160
+ | -------------------------- | --------------------------------------- | --------------- |
161
+ | 参数无效 | 校验参数后修正重试 | 是(最多 3 次) |
162
+ | 连接错误 / 超时 / 临时故障 | 等待后重试 | 是(最多 3 次) |
163
+ | 节点离线 | 重新执行 `nodes status` 确认 | 否 |
164
+ | 权限拒绝 | 检查 `gateway.nodes.allowCommands` 配置 | 否 |
165
+ | 节点不支持该能力 | 重新执行读取 `SKILL.md` 确认 | 是(最多 1 次) |
161
166
 
162
167
  3 次重试均失败后,停止重试,向用户报告错误诊断并建议手动处理。
163
168
 
164
169
  ## 步骤 5:展示结果
165
170
 
166
171
  **成功时**:简洁确认操作内容和设备名称,如有状态变化则展示前后对比值。
172
+
167
173
  - 示例:`✅ Honor Magic6 音量已设置为 50%(原 30%)`
168
174
 
169
175
  **失败时**:说明失败原因并给出可操作的下一步建议。
176
+
170
177
  - 示例:`❌ Honor Magic6 离线,请检查设备连接后重试`
171
178
 
172
179
  **原则**:
180
+
173
181
  - 始终包含设备名称
174
182
  - 不暴露原始错误码
175
183
  - 失败时必须提供下一步建议
@@ -1,54 +1,54 @@
1
- [
2
- "mobile-data",
3
- "hotspot",
4
- "volume-operate",
5
- "no-disturb",
6
- "screen-record",
7
- "quiet-mode",
8
- "ringing-mode",
9
- "vibration-mode",
10
- "capture-screenshot",
11
- "app-open",
12
- "app-close",
13
- "app-uninstall",
14
- "contact-search",
15
- "call-phone",
16
- "call-search",
17
- "message-send",
18
- "message-search",
19
- "local-search",
20
- "file-upload",
21
- "alarm-create",
22
- "alarm-query",
23
- "alarm-delete",
24
- "alarm-disable",
25
- "alarm-enable",
26
- "schedule-create",
27
- "schedule-search",
28
- "schedule-delete",
29
- "schedule-update",
30
- "wlan",
31
- "bluetooth",
32
- "location-service",
33
- "nfc",
34
- "usb-shared-network",
35
- "eye-comfort",
36
- "brightness",
37
- "dark-mode",
38
- "device-operation",
39
- "status-bar-show",
40
- "autoscreen-onnotice",
41
- "battery",
42
- "audio-record",
43
- "camera",
44
- "gui-task-create",
45
- "gui-task-terminate",
46
- "gui-task-pause",
47
- "scan-code",
48
- "flashlight",
49
- "airplane-mode",
50
- "clean-dirty",
51
- "flight-monitor-create",
52
- "flight-monitor-search",
53
- "express-logistics-search"
54
- ]
1
+ [
2
+ "mobile_data",
3
+ "hotspot",
4
+ "volume",
5
+ "no_disturb",
6
+ "screen_recorder",
7
+ "quiet_mode",
8
+ "ringing_mode",
9
+ "vibration_mode",
10
+ "capture_screenshot",
11
+ "open_app",
12
+ "close_app",
13
+ "uninstall_app",
14
+ "contact_search",
15
+ "call",
16
+ "call_search",
17
+ "send_message",
18
+ "search_message",
19
+ "local_search",
20
+ "file_upload",
21
+ "create_alarm",
22
+ "query_alarm",
23
+ "delete_alarm",
24
+ "disable_alarm",
25
+ "enable_alarm",
26
+ "create_schedule",
27
+ "search_schedule",
28
+ "delete_schedule",
29
+ "update_schedule",
30
+ "wlan",
31
+ "bluetooth",
32
+ "location_service",
33
+ "nfc",
34
+ "usb_shared_network",
35
+ "eye_comfort",
36
+ "brightness",
37
+ "dark_mode",
38
+ "device_operation",
39
+ "status_bar_show",
40
+ "autoscreen_onnotice",
41
+ "battery",
42
+ "record",
43
+ "camera",
44
+ "gui_task_create",
45
+ "gui_task_terminate",
46
+ "gui_task_pause",
47
+ "scan_code",
48
+ "flashlight",
49
+ "airplane_mode",
50
+ "clean_dirty",
51
+ "create_flight_monitor_task",
52
+ "query_flight_monitor_task",
53
+ "express_logistics_search"
54
+ ]
@@ -66,7 +66,7 @@ express_logistics_query
66
66
  ### 示例 1: 通用物流查询(未提供单号)
67
67
  **用户输入**: "查一下我的快递"
68
68
 
69
- **工具**: "express-logistics-query"
69
+ **工具**: "express_logistics_query"
70
70
 
71
71
  **JSON 参数**:
72
72
  ```json
@@ -75,12 +75,12 @@ express_logistics_query
75
75
 
76
76
  **Windows (Cmd) 执行命令**:
77
77
  ```bash
78
- cmd /c 'openclaw nodes invoke --node <ID> --command express-logistics-query --params \"{}\"'
78
+ cmd /c 'openclaw nodes invoke --node <ID> --command mcp.tool.call --params "{\"name\":\"express_logistics_query\",\"appPkg\":\"com.hihonor.magicvoice\",\"arguments\":{}}"'
79
79
  ```
80
80
 
81
81
  **Linux (Bash) 执行命令**:
82
82
  ```bash
83
- openclaw nodes invoke --node <ID> --command express-logistics-query --params '{}'
83
+ openclaw nodes invoke --node <ID> --command mcp.tool.call --params '{"name":"express_logistics_query","appPkg":"com.hihonor.magicvoice","arguments":{}}'
84
84
  ```
85
85
 
86
86
  ---
@@ -88,7 +88,7 @@ openclaw nodes invoke --node <ID> --command express-logistics-query --params '{}
88
88
  ### 示例 2: 签收状态核实(未提供单号)
89
89
  **用户输入**: "我的快递签收了吗"
90
90
 
91
- **工具**: "express-logistics-query"
91
+ **工具**: "express_logistics_query"
92
92
 
93
93
  **JSON 参数**:
94
94
  ```json
@@ -97,12 +97,12 @@ openclaw nodes invoke --node <ID> --command express-logistics-query --params '{}
97
97
 
98
98
  **Windows (Cmd) 执行命令**:
99
99
  ```bash
100
- cmd /c 'openclaw nodes invoke --node <ID> --command express-logistics-query --params \"{}\"'
100
+ cmd /c 'openclaw nodes invoke --node <ID> --command mcp.tool.call --params "{\"name\":\"express_logistics_query\",\"appPkg\":\"com.hihonor.magicvoice\",\"arguments\":{}}"'
101
101
  ```
102
102
 
103
103
  **Linux (Bash) 执行命令**:
104
104
  ```bash
105
- openclaw nodes invoke --node <ID> --command express-logistics-query --params '{}'
105
+ openclaw nodes invoke --node <ID> --command mcp.tool.call --params '{"name":"express_logistics_query","appPkg":"com.hihonor.magicvoice","arguments":{}}'
106
106
  ```
107
107
 
108
108
  ---
@@ -110,7 +110,7 @@ openclaw nodes invoke --node <ID> --command express-logistics-query --params '{}
110
110
  ### 示例 3: 指定运单号查询
111
111
  **用户输入**: "看看快递单号为123456789的快递"
112
112
 
113
- **工具**: "express-logistics-query"
113
+ **工具**: "express_logistics_query"
114
114
 
115
115
  **JSON 参数**:
116
116
  ```json
@@ -119,12 +119,12 @@ openclaw nodes invoke --node <ID> --command express-logistics-query --params '{}
119
119
 
120
120
  **Windows (Cmd) 执行命令**:
121
121
  ```bash
122
- cmd /c 'openclaw nodes invoke --node <ID> --command express-logistics-query --params \"{}\"'
122
+ cmd /c 'openclaw nodes invoke --node <ID> --command mcp.tool.call --params "{\"name\":\"express_logistics_query\",\"appPkg\":\"com.hihonor.magicvoice\",\"arguments\":{}}"'
123
123
  ```
124
124
 
125
125
  **Linux (Bash) 执行命令**:
126
126
  ```bash
127
- openclaw nodes invoke --node <ID> --command express-logistics-query --params '{}'
127
+ openclaw nodes invoke --node <ID> --command mcp.tool.call --params '{"name":"express_logistics_query","appPkg":"com.hihonor.magicvoice","arguments":{}}'
128
128
  ```
129
129
 
130
130
  ---
@@ -132,7 +132,7 @@ openclaw nodes invoke --node <ID> --command express-logistics-query --params '{}
132
132
  ### 示例 4: 指定快递公司与单号查询
133
133
  **用户输入**: "帮我查一下顺丰快递单号987654321现在到哪了"
134
134
 
135
- **工具**: "express-logistics-query"
135
+ **工具**: "express_logistics_query"
136
136
 
137
137
  **JSON 参数**:
138
138
  ```json
@@ -141,12 +141,12 @@ openclaw nodes invoke --node <ID> --command express-logistics-query --params '{}
141
141
 
142
142
  **Windows (Cmd) 执行命令**:
143
143
  ```bash
144
- cmd /c 'openclaw nodes invoke --node <ID> --command express-logistics-query --params \"{}\"'
144
+ cmd /c 'openclaw nodes invoke --node <ID> --command mcp.tool.call --params "{\"name\":\"express_logistics_query\",\"appPkg\":\"com.hihonor.magicvoice\",\"arguments\":{}}"'
145
145
  ```
146
146
 
147
147
  **Linux (Bash) 执行命令**:
148
148
  ```bash
149
- openclaw nodes invoke --node <ID> --command express-logistics-query --params '{}'
149
+ openclaw nodes invoke --node <ID> --command mcp.tool.call --params '{"name":"express_logistics_query","appPkg":"com.hihonor.magicvoice","arguments":{}}'
150
150
  ```
151
151
 
152
152
  ---
@@ -154,7 +154,7 @@ openclaw nodes invoke --node <ID> --command express-logistics-query --params '{}
154
154
  ### 示例 5: 到件/签收意图识别
155
155
  **用户输入**: "查询我的包裹到了吗"
156
156
 
157
- **工具**: "express-logistics-query"
157
+ **工具**: "express_logistics_query"
158
158
 
159
159
  **JSON 参数**:
160
160
  ```json
@@ -163,10 +163,10 @@ openclaw nodes invoke --node <ID> --command express-logistics-query --params '{}
163
163
 
164
164
  **Windows (Cmd) 执行命令**:
165
165
  ```bash
166
- cmd /c 'openclaw nodes invoke --node <ID> --command express-logistics-query --params \"{}\"'
166
+ cmd /c 'openclaw nodes invoke --node <ID> --command mcp.tool.call --params "{\"name\":\"express_logistics_query\",\"appPkg\":\"com.hihonor.magicvoice\",\"arguments\":{}}"'
167
167
  ```
168
168
 
169
169
  **Linux (Bash) 执行命令**:
170
170
  ```bash
171
- openclaw nodes invoke --node <ID> --command express-logistics-query --params '{}'
171
+ openclaw nodes invoke --node <ID> --command mcp.tool.call --params '{"name":"express_logistics_query","appPkg":"com.hihonor.magicvoice","arguments":{}}'
172
172
  ```