@honor-claw/yoyo 1.2.0 → 1.2.1-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.
@@ -0,0 +1,172 @@
1
+ ---
2
+ name: express.logistics-search
3
+ description: >
4
+ 快递物流查询工具,支持单号跟踪与签收状态核实。
5
+ ---
6
+
7
+ # Express Logistics Query 快递物流查询
8
+
9
+ ## Tool Provider
10
+ ```bash
11
+ com.hihonor.magicvoice
12
+ ```
13
+
14
+ ## Tool Command
15
+ ```bash
16
+ express_logistics_query
17
+ ```
18
+
19
+ ## 集成工作流
20
+
21
+ ### Step 1: 意图解析与参数组装
22
+ ```
23
+ ┌─────────────────────────────────────────────────────────────┐
24
+ │ 意图识别与参数提取 │
25
+ │ - 识别操作意图: 查询 + 快递物流状态/签收核实 │
26
+ │ - 提取运单号: 连续数字/字母组合(如SF123456789) │
27
+ │ - 提取快递公司: 顺丰/中通/圆通/京东/邮政等 │
28
+ │ - 判断关注点: 仅签收状态/完整轨迹/最新节点 │
29
+ │ - 特殊处理: "快递/包裹/快件/物流"等同义词统一识别 │
30
+ │ - 特殊处理: "到了吗/签收了没" → 映射为签收核实 │
31
+ └─────────────────────────────────────────────────────────────┘
32
+
33
+ ┌─────────────────────────────────────────────────────────────┐
34
+ │ 消歧与槽位填充 │
35
+ │ - 未提供运单号时,需向用户追问具体单号 │
36
+ │ - 未指定快递公司时,先按单号前缀尝试识别,失败再追问 │
37
+ │ - 未说明关注点时,默认为查询最新物流节点 │
38
+ │ - "查签收/到了吗" → 映射为签收状态核实 │
39
+ │ - query 保持用户原始输入,严禁改写 │
40
+ └─────────────────────────────────────────────────────────────┘
41
+
42
+ ┌─────────────────────────────────────────────────────────────┐
43
+ │ 生成工具调用 │
44
+ │ - 组装空参数对象(无需传参) │
45
+ │ - 生成平台特定的命令格式 │
46
+ └─────────────────────────────────────────────────────────────┘
47
+ ```
48
+
49
+ ### Step 2: 执行调用
50
+ - 根据操作系统选择对应的命令格式
51
+ - Windows: Cmd 格式(双引号需转义)
52
+ - Linux: Bash 格式(单引号包裹)
53
+
54
+ ## 参数定义
55
+ ```json
56
+ {}
57
+ ```
58
+
59
+ ### 参数注意事项
60
+ 1. **默认值或缺省行为**: 调用时 `params` 传 `{}`,工具基于内部解析从用户输入中抽取运单号、快递公司与关注点(例如签收核实或轨迹查询)。
61
+ 2. **同义词/间接表述映射**: “快递/包裹/快件/物流”统一视为物流查询;“到了吗/签收了没/收到了吗/有没有送达”统一视为签收状态核实。
62
+ 3. **格式/原样保留要求**: `query` 必须保持用户原始输入,作为上游意图解析依据;本工具不接收 `query` 作为参数,`params` 固定为 `{}`。
63
+
64
+ ## Query 示例及输出
65
+
66
+ ### 示例 1: 通用物流查询(未提供单号)
67
+ **用户输入**: "查一下我的快递"
68
+
69
+ **工具**: "express-logistics-query"
70
+
71
+ **JSON 参数**:
72
+ ```json
73
+ {}
74
+ ```
75
+
76
+ **Windows (Cmd) 执行命令**:
77
+ ```bash
78
+ cmd /c 'openclaw nodes invoke --node <ID> --command express-logistics-query --params \"{}\"'
79
+ ```
80
+
81
+ **Linux (Bash) 执行命令**:
82
+ ```bash
83
+ openclaw nodes invoke --node <ID> --command express-logistics-query --params '{}'
84
+ ```
85
+
86
+ ---
87
+
88
+ ### 示例 2: 签收状态核实(未提供单号)
89
+ **用户输入**: "我的快递签收了吗"
90
+
91
+ **工具**: "express-logistics-query"
92
+
93
+ **JSON 参数**:
94
+ ```json
95
+ {}
96
+ ```
97
+
98
+ **Windows (Cmd) 执行命令**:
99
+ ```bash
100
+ cmd /c 'openclaw nodes invoke --node <ID> --command express-logistics-query --params \"{}\"'
101
+ ```
102
+
103
+ **Linux (Bash) 执行命令**:
104
+ ```bash
105
+ openclaw nodes invoke --node <ID> --command express-logistics-query --params '{}'
106
+ ```
107
+
108
+ ---
109
+
110
+ ### 示例 3: 指定运单号查询
111
+ **用户输入**: "看看快递单号为123456789的快递"
112
+
113
+ **工具**: "express-logistics-query"
114
+
115
+ **JSON 参数**:
116
+ ```json
117
+ {}
118
+ ```
119
+
120
+ **Windows (Cmd) 执行命令**:
121
+ ```bash
122
+ cmd /c 'openclaw nodes invoke --node <ID> --command express-logistics-query --params \"{}\"'
123
+ ```
124
+
125
+ **Linux (Bash) 执行命令**:
126
+ ```bash
127
+ openclaw nodes invoke --node <ID> --command express-logistics-query --params '{}'
128
+ ```
129
+
130
+ ---
131
+
132
+ ### 示例 4: 指定快递公司与单号查询
133
+ **用户输入**: "帮我查一下顺丰快递单号987654321现在到哪了"
134
+
135
+ **工具**: "express-logistics-query"
136
+
137
+ **JSON 参数**:
138
+ ```json
139
+ {}
140
+ ```
141
+
142
+ **Windows (Cmd) 执行命令**:
143
+ ```bash
144
+ cmd /c 'openclaw nodes invoke --node <ID> --command express-logistics-query --params \"{}\"'
145
+ ```
146
+
147
+ **Linux (Bash) 执行命令**:
148
+ ```bash
149
+ openclaw nodes invoke --node <ID> --command express-logistics-query --params '{}'
150
+ ```
151
+
152
+ ---
153
+
154
+ ### 示例 5: 到件/签收意图识别
155
+ **用户输入**: "查询我的包裹到了吗"
156
+
157
+ **工具**: "express-logistics-query"
158
+
159
+ **JSON 参数**:
160
+ ```json
161
+ {}
162
+ ```
163
+
164
+ **Windows (Cmd) 执行命令**:
165
+ ```bash
166
+ cmd /c 'openclaw nodes invoke --node <ID> --command express-logistics-query --params \"{}\"'
167
+ ```
168
+
169
+ **Linux (Bash) 执行命令**:
170
+ ```bash
171
+ openclaw nodes invoke --node <ID> --command express-logistics-query --params '{}'
172
+ ```
@@ -0,0 +1,183 @@
1
+ ---
2
+ name: flashlight
3
+ description: >
4
+ 设备手电筒功能管理工具,支持开启、关闭、参数设置与状态查询,
5
+ 适用于弱光环境下临时照明与应急照明等场景。
6
+ ---
7
+
8
+ # Flashlight 手电筒
9
+
10
+ ## Tool Provider
11
+ ```bash
12
+ com.hihonor.magicvoice
13
+ ```
14
+
15
+ ## Tool Command
16
+ ```bash
17
+ flashlight
18
+ ```
19
+
20
+ ## 集成工作流
21
+
22
+ ### Step 1: 意图解析与参数组装
23
+ ```
24
+ ┌─────────────────────────────────────────────────────────────┐
25
+ │ 意图识别与参数提取 │
26
+ │ - 识别操作类型: 设置/查询/打开/关闭 │
27
+ │ - 提取修饰词: 应用名称 │
28
+ │ - 特殊处理: "电筒/手电/手机的灯"等同义词统一识别 │
29
+ │ - 特殊处理: "点亮/开个灯/开闪光灯" → 映射为打开 │
30
+ │ - 特殊处理: "关掉/熄灭/灭灯" → 映射为关闭 │
31
+ │ - 特殊处理: "调亮/调暗/亮度调低" → 映射为设置 │
32
+ └─────────────────────────────────────────────────────────────┘
33
+
34
+ ┌─────────────────────────────────────────────────────────────┐
35
+ │ 消歧与槽位填充 │
36
+ │ - 未指定操作类型时,需根据动词语义推断或追问 │
37
+ │ - 未指定应用名称时,默认为系统手电筒 │
38
+ │ - "点亮/开灯" → 映射为打开 │
39
+ │ - "关灯/灭灯" → 映射为关闭 │
40
+ │ - 验证规则:如指定 app,需验证应用名称有效性 │
41
+ └─────────────────────────────────────────────────────────────┘
42
+
43
+ ┌─────────────────────────────────────────────────────────────┐
44
+ │ 生成工具调用 │
45
+ │ - 组装 actionType 及可选参数(app) │
46
+ │ - 生成平台特定的命令格式 │
47
+ └─────────────────────────────────────────────────────────────┘
48
+ ```
49
+
50
+ ### Step 2: 执行调用
51
+ - 根据操作系统选择对应的命令格式
52
+ - Windows: Cmd 格式(双引号需转义)
53
+ - Linux: Bash 格式(单引号包裹)
54
+
55
+ ## 参数定义
56
+ ```json
57
+ {
58
+ "actionType": {
59
+ "type": "string",
60
+ "enum": ["设置", "查询", "打开", "关闭"],
61
+ "description": "必填参数,手电筒相关操作的核心动作类型。当需要配置手电筒的相关参数或使用规则时使用设置;当获取手电筒当前启用状态或功能状态信息时使用查询;当开启手电筒以提供照明时使用打开;当关闭手电筒并停止照明时使用关闭。"
62
+ },
63
+ "app": {
64
+ "type": "string",
65
+ "description": "指定执行手电筒相关操作的应用名称。当明确要求在某个特定应用或系统入口中进行手电筒操作时填写。"
66
+ }
67
+ }
68
+ ```
69
+
70
+ ### 参数注意事项
71
+ 1. **同义词/间接表述映射**: "点亮/开灯/开个灯/开闪光灯"→actionType="打开";"关灯/关掉/熄灭/灭灯"→actionType="关闭";"调亮/调暗/亮度调低/亮度调高"→actionType="设置";"查看/查一下/现在状态"→actionType="查询"。
72
+ 2. **默认值或缺省行为**: `actionType` 为必填,无法省略,如语义不明确需追问。
73
+ 3. **可选参数填写条件**: `app` 仅在用户明确提及具体应用或入口(如“在相机里”“通过工具箱”)时填写,其余情况不填写。
74
+
75
+ ## Query 示例及输出
76
+
77
+ ### 示例 1: 开启手电筒
78
+ **用户输入**: "打开手电筒"
79
+
80
+ **工具**: "flashlight"
81
+
82
+ **JSON 参数**:
83
+ ```json
84
+ {"actionType":"打开"}
85
+ ```
86
+
87
+ **Windows (Cmd) 执行命令**:
88
+ ```bash
89
+ cmd /c 'openclaw nodes invoke --node <ID> --command mcp.tool.call --params "{\"name\":\"flashlight\",\"appPkg\":\"com.hihonor.magicvoice\",\"arguments\":{\"actionType\":\"打开\"}}"'
90
+ ```
91
+
92
+ **Linux (Bash) 执行命令**:
93
+ ```bash
94
+ openclaw nodes invoke --node <ID> --command mcp.tool.call --params '{"name":"flashlight","appPkg":"com.hihonor.magicvoice","arguments":{"actionType":"打开"}}'
95
+ ```
96
+
97
+ ---
98
+
99
+ ### 示例 2: 关闭手电筒
100
+ **用户输入**: "关闭手电筒"
101
+
102
+ **工具**: "flashlight"
103
+
104
+ **JSON 参数**:
105
+ ```json
106
+ {"actionType":"关闭"}
107
+ ```
108
+
109
+ **Windows (Cmd) 执行命令**:
110
+ ```bash
111
+ cmd /c 'openclaw nodes invoke --node <ID> --command mcp.tool.call --params "{\"name\":\"flashlight\",\"appPkg\":\"com.hihonor.magicvoice\",\"arguments\":{\"actionType\":\"关闭\"}}"'
112
+ ```
113
+
114
+ **Linux (Bash) 执行命令**:
115
+ ```bash
116
+ openclaw nodes invoke --node <ID> --command mcp.tool.call --params '{"name":"flashlight","appPkg":"com.hihonor.magicvoice","arguments":{"actionType":"关闭"}}'
117
+ ```
118
+
119
+ ---
120
+
121
+ ### 示例 3: 设置类(亮度相关表述)
122
+ **用户输入**: "手电筒亮度调低一点"
123
+
124
+ **工具**: "flashlight"
125
+
126
+ **JSON 参数**:
127
+ ```json
128
+ {"actionType":"设置"}
129
+ ```
130
+
131
+ **Windows (Cmd) 执行命令**:
132
+ ```bash
133
+ cmd /c 'openclaw nodes invoke --node <ID> --command mcp.tool.call --params "{\"name\":\"flashlight\",\"appPkg\":\"com.hihonor.magicvoice\",\"arguments\":{\"actionType\":\"设置\"}}"'
134
+ ```
135
+
136
+ **Linux (Bash) 执行命令**:
137
+ ```bash
138
+ openclaw nodes invoke --node <ID> --command mcp.tool.call --params '{"name":"flashlight","appPkg":"com.hihonor.magicvoice","arguments":{"actionType":"设置"}}'
139
+ ```
140
+
141
+ ---
142
+
143
+ ### 示例 4: 同义表达开启
144
+ **用户输入**: "打开手机电筒"
145
+
146
+ **工具**: "flashlight"
147
+
148
+ **JSON 参数**:
149
+ ```json
150
+ {"actionType":"打开"}
151
+ ```
152
+
153
+ **Windows (Cmd) 执行命令**:
154
+ ```bash
155
+ cmd /c 'openclaw nodes invoke --node <ID> --command mcp.tool.call --params "{\"name\":\"flashlight\",\"appPkg\":\"com.hihonor.magicvoice\",\"arguments\":{\"actionType\":\"打开\"}}"'
156
+ ```
157
+
158
+ **Linux (Bash) 执行命令**:
159
+ ```bash
160
+ openclaw nodes invoke --node <ID> --command mcp.tool.call --params '{"name":"flashlight","appPkg":"com.hihonor.magicvoice","arguments":{"actionType":"打开"}}'
161
+ ```
162
+
163
+ ---
164
+
165
+ ### 示例 5: 口语化开启
166
+ **用户输入**: "请把手机的灯打开"
167
+
168
+ **工具**: "flashlight"
169
+
170
+ **JSON 参数**:
171
+ ```json
172
+ {"actionType":"打开"}
173
+ ```
174
+
175
+ **Windows (Cmd) 执行命令**:
176
+ ```bash
177
+ cmd /c 'openclaw nodes invoke --node <ID> --command mcp.tool.call --params "{\"name\":\"flashlight\",\"appPkg\":\"com.hihonor.magicvoice\",\"arguments\":{\"actionType\":\"打开\"}}"'
178
+ ```
179
+
180
+ **Linux (Bash) 执行命令**:
181
+ ```bash
182
+ openclaw nodes invoke --node <ID> --command mcp.tool.call --params '{"name":"flashlight","appPkg":"com.hihonor.magicvoice","arguments":{"actionType":"打开"}}'
183
+ ```
@@ -0,0 +1,233 @@
1
+ ---
2
+ name: flight-monitor.create
3
+ description: >
4
+ 创建机票价格监控任务。支持设置目的地、出发地、监控时间段与目标价格,缺省或低于最低监控价时给出价格区间与建议价。
5
+ 只支持飞机票价的监控任务创建,其余票务类型(如酒店、机票联程、火车票等)暂不支持。
6
+ ---
7
+
8
+ # Create Flight Monitor Task 创建机票监控任务
9
+
10
+ ## Tool Provider
11
+ ```bash
12
+ com.hihonor.magicvoice
13
+ ```
14
+
15
+ ## Tool Command
16
+ ```bash
17
+ create_flight_monitor_task
18
+ ```
19
+
20
+ ## 3. 业务规则
21
+
22
+ ### 适用场景及操作流程
23
+ 1. 解析并提取目的地城市、出发地城市、监控时间段与目标价格
24
+ 2. 未提供出发地时,默认使用用户当前位置城市
25
+ 3. 未提供目的地时,提醒用户指定目的地
26
+ 4. 对价格进行币种识别与人民币换算,并向下取整
27
+ 5. 当未指定监控价格或设定价格低于最低可监控价时,工具返回可监控价格区间与建议价
28
+ 6. 创建机票价格监控任务并开始持续监控
29
+
30
+ ### 特定交互
31
+ - 币种默认人民币;如检测到外币(如 USD、美元),按实时汇率换算为人民币后取整
32
+ - 城市名必须为具体城市中文名,不支持省份或国家级地名
33
+ - 监控时间段使用用户原始的自然语言日期表述(如“下周二到下周三”“10月1日-10月7日”),不做改写
34
+ - 价格仅提取数值部分,取整为不大于该值的整数;“以内/不高于/低于”等等价于上限价
35
+
36
+ ## 4. 集成工作流
37
+
38
+ ### Step 1: 意图解析与参数组装
39
+ ```
40
+ ┌─────────────────────────────────────────────────────────────┐
41
+ │ 意图识别与参数提取 │
42
+ │ - 识别操作意图: 创建 + 机票价格监控任务 │
43
+ │ - 提取目的地城市: 城市中文名(不含省/国家) │
44
+ │ - 提取出发地城市: 城市中文名(缺省为当前位置) │
45
+ │ - 提取监控时间段: 自然语言日期描述(直接保留) │
46
+ │ - 提取目标价格: 数字,币种识别与换算,向下取整 │
47
+ │ - 特殊处理: "飞/去/到" 等同义词统一识别为目的地 │
48
+ └─────────────────────────────────────────────────────────────┘
49
+
50
+ ┌─────────────────────────────────────────────────────────────┐
51
+ │ 消歧与槽位填充 │
52
+ │ - 未指定出发地时,默认为用户当前位置城市 │
53
+ │ - 未指定监控价格时,返回价格区间与建议价 │
54
+ │ - 价格低于最低可监控价时,提示范围并给出建议价 │
55
+ │ - date_time 仅当 query 含时间表述时填写 │
56
+ │ - 验证规则: 目的地与出发地不能相同 │
57
+ │ - "从/出发地" → 映射为出发地槽位 │
58
+ └─────────────────────────────────────────────────────────────┘
59
+
60
+ ┌─────────────────────────────────────────────────────────────┐
61
+ │ 生成工具调用 │
62
+ │ - 组装 destination_city 及可选参数(departure_city, │
63
+ │ date_time, price) │
64
+ │ - 生成平台特定的命令格式 │
65
+ └─────────────────────────────────────────────────────────────┘
66
+ ```
67
+
68
+ ### Step 2: 执行调用
69
+ - 根据操作系统选择对应的命令格式
70
+ - Windows: Cmd 格式(双引号需转义)
71
+ - Linux: Bash 格式(单引号包裹)
72
+
73
+ ## 5. 参数定义
74
+ ### 工具输入参数说明
75
+ ```json
76
+ {
77
+ "destination_city": {
78
+ "type": "string",
79
+ "description": "必填参数,机票监控的目的地城市中文名称,不支持省份或国家。如:深圳、北京。"
80
+ },
81
+ "departure_city": {
82
+ "type": "string",
83
+ "description": "机票监控的出发地城市中文名称,默认为用户当前位置所在城市,不支持省份或国家。如:深圳、北京。"
84
+ },
85
+ "date_time": {
86
+ "type": "string",
87
+ "description": "监控时间段的自然语言描述,直接提取用户输入中日期的描述。如:下周、下周二到下周三、周一下午。"
88
+ },
89
+ "price": {
90
+ "type": "integer",
91
+ "description": "用户设定的监控目标最高价格。直接提取价格数字,向下取整。默认币种人民币,其他币种需换算人民币。如果没有指定币种,按照人民币处理。"
92
+ }
93
+ }
94
+ ```
95
+
96
+ ### 工具输出参数说明
97
+ ```json
98
+ {
99
+ "result_code": {
100
+ "type": "integer",
101
+ "description": "结果状态码。100:执行成功。201:用户没有指定价格时返回,追问用户需要设置的监控价格,同时返回价格区间(suggested_price_range)与推荐价格(suggested_price)。202:追问,没有出发地城市,同时当前城市查询失败时追问。304:未授权三方账号,用户拒绝授权三方。406:授权三方失败。500:出发地不在支持列表范围内。501:目的地不在支持列表范围内。502:监控日期超出监控范围。503:查询监控价格失败,当前航线未查询到直飞航班报价。504:用户设置的监控价格过低,低于最低可监控价格,同时返回价格区间(suggested_price_range)与推荐价格(suggested_price)。505:监控任务创建失败。506:已存在重复监控任务。507:监控任务已达上限。"
102
+ },
103
+ "result_content": {
104
+ "type": "string",
105
+ "description": "针对不同状态码场景下,详细的执行结果,包含错误原因等。"
106
+ },
107
+ "suggested_price_range": {
108
+ "type": "string",
109
+ "description": "工具根据历史数据建议的价格区间,货币单位为人民币,格式为最低可监控价格-最高监控价格,如:500-1000。"
110
+ },
111
+ "suggested_price": {
112
+ "type": "integer",
113
+ "description": "工具建议的监控目标价格,货币单位为人民币。"
114
+ },
115
+ "departure_city": {
116
+ "type": "string",
117
+ "description": "出发地城市中文名称。如:深圳、北京。"
118
+ },
119
+ "destination_city": {
120
+ "type": "string",
121
+ "description": "目的地城市中文名称。如:深圳、北京。"
122
+ },
123
+ "date_range": {
124
+ "type": "string",
125
+ "description": "监控的日期范围,格式为 YYYY-MM-DD~YYYY-MM-DD。"
126
+ },
127
+ "price": {
128
+ "type": "integer",
129
+ "description": "用户设置的监控价格,货币单位为人民币,未提供或小于最低可监控价格则设为0。"
130
+ }
131
+ }
132
+ ```
133
+
134
+
135
+ ### 参数注意事项
136
+ 1. **默认值或缺省行为**: 未提供`departure_city`时默认取用户当前位置城市;未提供`price`时由工具返回可监控价格区间与建议价;未标明币种时按人民币处理。
137
+ 2. **参数间关联/验证**: `destination_city`为必填且不得与`departure_city`相同;外币价格需先换算为人民币后再对`price`进行向下取整。
138
+ 3. **可选参数填写条件**: `date_time`仅在用户明确提及时间/日期时填写,不做推断;`departure_city`仅在用户未使用默认定位或明确指定时填写。
139
+
140
+ ### date_time 参数格式转换
141
+ 1. 当用户输入包含时间表述时,工具会直接保留原始的自然语言日期表述,然后调用`scripts/time_infer.py`时间推理模型进行转换。具体执行指令如下:
142
+ ```bash
143
+ python3 scripts/time_infer.py --query <date_time>
144
+ ```
145
+ 2. 拿到json-string格式的转换结果,重新改写`date_time`参数,并调用`openclaw nodes invoke`命令执行工具。
146
+ 3. 注意:time_infer模型返回的结果格式如下:`{"data_time": {...}}`,用`{...}`JSONstring的完整内容重写`date_time`参数。**不能拆解{...}的内容**
147
+
148
+ ## 6. Query 示例及输出
149
+
150
+ ### 示例 1: 指定出发地、时间段与人民币价格上限
151
+ **用户输入**: "帮我监控一下去上海的机票,出发地是北京,时间是十月一号到十月七号,价格设为1000元以内"
152
+
153
+ **工具**: "create_flight_monitor_task"
154
+
155
+ **JSON 参数**:
156
+ ```json
157
+ {
158
+ "destination_city": "上海",
159
+ "departure_city": "北京",
160
+ "date_time": "十月一号到十月七号",
161
+ "price": 1000
162
+ }
163
+ ```
164
+ **调用时间推理模型**:
165
+ ```bash
166
+ python3 scripts/time_infer.py --query "十月一号到十月七号"
167
+ ```
168
+ 返回结果: {"data_time": <json-string-data>} (注意字符串转义的问题!!!)
169
+
170
+ **Windows (Cmd) 执行命令**:
171
+ ```bash
172
+ cmd /c 'openclaw nodes invoke --node <ID> --command mcp.tool.call --params "{\"name\":\"create_flight_monitor_task\",\"appPkg\":\"com.hihonor.magicvoice\",\"arguments\":{\"destination_city\":\"上海\",\"departure_city\":\"北京\",\"date_time\":\"<json-string-data>\",\"price\":1000}}"'
173
+ ```
174
+
175
+ **Linux (Bash) 执行命令**:
176
+ ```bash
177
+ openclaw nodes invoke --node <ID> --command mcp.tool.call --params '{"name":"create_flight_monitor_task","appPkg":"com.hihonor.magicvoice","arguments":{"destination_city":"上海","departure_city":"北京","date_time":"<json-string-data>","price":1000}}'
178
+ ```
179
+
180
+ ---
181
+
182
+ ### 示例 2: 仅目的地与美元价格(自动换算为人民币)
183
+ **用户输入**: "帮我监控飞广州的机票,价格低于200美元就提醒"
184
+
185
+ **工具**: "create_flight_monitor_task"
186
+
187
+ **JSON 参数**:
188
+ ```json
189
+ {
190
+ "destination_city": "广州",
191
+ "price": 1440
192
+ }
193
+ ```
194
+
195
+ **Windows (Cmd) 执行命令**:
196
+ ```bash
197
+ cmd /c 'openclaw nodes invoke --node <ID> --command mcp.tool.call --params "{\"name\":\"create_flight_monitor_task\",\"appPkg\":\"com.hihonor.magicvoice\",\"arguments\":{\"destination_city\":\"广州\",\"price\":1440}}"'
198
+ ```
199
+
200
+ **Linux (Bash) 执行命令**:
201
+ ```bash
202
+ openclaw nodes invoke --node <ID> --command mcp.tool.call --params '{"name":"create_flight_monitor_task","appPkg":"com.hihonor.magicvoice","arguments":{"destination_city":"广州","price":1440}}'
203
+ ```
204
+
205
+ ---
206
+
207
+ ### 示例 3: 指定目的地与出发时段,不设价格(工具返回建议价)
208
+ **用户输入**: "帮我关注去杭州的机票,下周三下午出发"
209
+
210
+ **工具**: "create_flight_monitor_task"
211
+
212
+ **JSON 参数**:
213
+ ```json
214
+ {
215
+ "destination_city": "杭州",
216
+ "date_time": "下周三下午"
217
+ }
218
+ ```
219
+ **调用时间推理模型**:
220
+ ```bash
221
+ python3 scripts/time_infer.py --query "下周三下午"
222
+ ```
223
+ 返回结果: {"data_time": <json-string-data>} (注意字符串转义的问题!!!)
224
+
225
+ **Windows (Cmd) 执行命令**:
226
+ ```bash
227
+ cmd /c 'openclaw nodes invoke --node <ID> --command mcp.tool.call --params "{\"name\":\"create_flight_monitor_task\",\"appPkg\":\"com.hihonor.magicvoice\",\"arguments\":{\"destination_city\":\"杭州\",\"date_time\":\"<json-string-data>\"}}"'
228
+ ```
229
+
230
+ **Linux (Bash) 执行命令**:
231
+ ```bash
232
+ openclaw nodes invoke --node <ID> --command mcp.tool.call --params '{"name":"create_flight_monitor_task","appPkg":"com.hihonor.magicvoice","arguments":{"destination_city":"杭州","date_time":"<json-string-data>"}}'
233
+ ```