Forráskód Böngészése

查询轨迹提示词优化

jackson 2 hete
szülő
commit
27d600570d
3 módosított fájl, 24 hozzáadás és 9 törlés
  1. 1 1
      README.md
  2. 14 0
      tests/test_query_track_tool.py
  3. 9 8
      tools/query_track.py

+ 1 - 1
README.md

@@ -30,7 +30,7 @@ Gateway 保持“薄网关”边界:
 | MCP 工具 | 用途 | ThinkPHP 路由 | 最终展示 |
 |---|---|---|---|
 | `query_order` | 普通订单列表查询 | `/mcp/tools/queryOrder` | 旧协议兼容 |
-| `query_track` | 按订单或物流号码查询轨迹 | `/mcp/tools/queryTrack` | 安全表格 |
+| `query_track` | 按订单号/排舱单号或跟踪号/柜号/快递单号查询轨迹 | `/mcp/tools/queryTrack` | 安全表格 |
 | `query_order_exact` | 按明确号码类型精准查询订单 | `/mcp/tools/queryOrderExact` | 安全表格 |
 | `query_order_detail` | 按明确订单号查询订单详情,支持“全部”聚合 | `/mcp/tools/queryOrderDetail` | 安全中文详情 |
 | `query_customer_list` | 查询当前员工有权查看的启用主客户 | `/mcp/tools/queryCustomerList` | 固定 17 列安全表格 |

+ 14 - 0
tests/test_query_track_tool.py

@@ -33,6 +33,20 @@ class TestQueryTrackTool(unittest.TestCase):
         self.assertIn('tracking_number', schema['properties'])
         self.assertIn('page', schema['properties'])
         self.assertIn('limit', schema['properties'])
+        self.assertIn('订单号或排舱单号', meta['description'])
+        self.assertIn('跟踪号、柜号或快递单号', meta['description'])
+        self.assertIn(
+            '订单号、排舱单号、跟踪号、柜号还是快递单号',
+            meta['description'],
+        )
+        self.assertIn(
+            '订单号或排舱单号',
+            schema['properties']['order_number']['description'],
+        )
+        self.assertIn(
+            '跟踪号、柜号或快递单号',
+            schema['properties']['tracking_number']['description'],
+        )
         # order_id and order_number are optional but at least one is required
 
     def test_call_with_minimal_params(self):

+ 9 - 8
tools/query_track.py

@@ -10,14 +10,15 @@ class QueryTrackTool:
             'name': self.name,
             'description': (
                 '使用场景:用户明确要查看物流轨迹时使用,只返回轨迹节点、地点、时间、'
-                '内容、跟踪号和Shipment ID。应只选择一种定位方式:用户明确说订单号时'
-                '使用订单号,明确说快递单号或物流跟踪号时使用快递单号;内部订单ID只可'
-                '使用可信系统上下文中已有的值,不得向用户索取或自行推断。号码类型不明确'
-                '时必须先询问用户,确认前不得调用。禁止使用:不得用本工具查询订单资料、'
+                '内容、跟踪号和Shipment ID。应只选择一种定位方式:用户明确说订单号或'
+                '排舱单号时使用订单号参数,明确说跟踪号、柜号或快递单号时使用快递单号'
+                '参数;内部订单ID只可使用可信系统上下文中已有的值,不得向用户索取或'
+                '自行推断。号码类型不明确时必须先询问用户是订单号、排舱单号、跟踪号、'
+                '柜号还是快递单号,确认前不得调用。禁止使用:不得用本工具查询订单资料、'
                 '排舱列表、排舱详情、报关资料文件或导出结果。不得根据号码格式猜测,'
                 '不得跨字段或跨工具试查,查询无结果后不得换号码类型重试。'
-                '参数名仅用于工具调用;向用户回答时只能使用“订单号”、'
-                '“快递单号”等业务名称,不得展示内部参数名。'
+                '参数名仅用于工具调用;向用户回答时只能使用“订单号”、“排舱单号”、'
+                '“跟踪号”、“柜号”、“快递单号”等业务名称,不得展示内部参数名。'
             ),
             'input_schema': {
                 'type': 'object',
@@ -28,11 +29,11 @@ class QueryTrackTool:
                     },
                     'order_number': {
                         'type': 'string',
-                        'description': '订单号;仅当用户明确说明是订单号时使用。',
+                        'description': '订单号或排舱单号;仅当用户明确说明是订单号或排舱单号时使用。',
                     },
                     'tracking_number': {
                         'type': 'string',
-                        'description': '快递单号或物流跟踪号;仅当用户明确说明该类型时使用。',
+                        'description': '跟踪号、柜号或快递单号;仅当用户明确说明该类型时使用。',
                     },
                     'page': {'type': 'integer', 'minimum': 1, 'default': 1},
                     'limit': {'type': 'integer', 'minimum': 1, 'maximum': 100, 'default': 5},