hvip-mcp-server 0.2.59 → 0.3.0

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 (2) hide show
  1. package/dist/index.js +562 -649
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -28139,16 +28139,7 @@ function registerPublicTools(server, auth) {
28139
28139
  server,
28140
28140
  "okx_get_option_instrument_family_trades",
28141
28141
  "READ",
28142
- `## \u529F\u80FD\uFF1A\u6309\u4EA7\u54C1\u65CF\u83B7\u53D6\u671F\u6743\u94FE\u6700\u65B0\u6210\u4EA4\uFF08\u6309\u671F\u6743\u7C7B\u578B\u5F52\u7EC4\uFF09
28143
- ## \u573A\u666F\uFF1A\u7528\u4E8E\u5FEB\u901F\u6D4F\u89C8\u67D0BTC/ETH\u671F\u6743\u94FE\u6574\u4F53\u6210\u4EA4\u6982\u51B5\u3001\u5BF9\u6BD4\u770B\u6DA8/\u770B\u8DCC\u6210\u4EA4\u5206\u5E03\u3001\u53D1\u73B0\u5927\u989D\u671F\u6743\u5F02\u52A8
28144
- ## \u5173\u952E\u8BCD\uFF1A\u671F\u6743\u65CF\u6210\u4EA4, option family trades, \u671F\u6743\u94FE\u6210\u4EA4, \u671F\u6743\u6210\u4EA4\u6982\u51B5, \u671F\u6743\u6210\u4EA4\u6C47\u603B
28145
- ## \u53C2\u6570\uFF1A
28146
- ## - instFamily: \u4EA7\u54C1\u65CF\uFF0C\u5982 BTC-USD\u3002\u5FC5\u586B
28147
- ## - limit: \u8FD4\u56DE\u6761\u6570\uFF0C\u9ED8\u8BA4\u4E0D\u586B\u5219\u8FD4\u56DE\u5168\u90E8
28148
- ## \u9274\u6743\uFF1APUBLIC \u2014 \u516C\u5F00\u63A5\u53E3\uFF0C\u4E0D\u9700\u8981 API Key
28149
- ## \u98CE\u9669\uFF1AREAD \u2014 \u53EA\u8BFB\u67E5\u8BE2\uFF0CAgent \u53EF\u81EA\u52A8\u8C03\u7528
28150
- ## \u8FD4\u56DE\u91CF\uFF1A\u4E2D\u7B49 ~5KB
28151
- ## \u5173\u8054\uFF1A\u5148\u8C03 okx_get_instruments(instType=OPTION) \u83B7\u53D6\u671F\u6743\u4EA7\u54C1 \u2192 \u672C\u5DE5\u5177\u770B\u65CF\u6210\u4EA4 \u2192 okx_get_option_trades \u770B\u5355\u7B14`,
28142
+ "CAT:[\u516C\u5171] | \u2192 \u8BF7\u5148\u8C03\u7528 agent_catalog",
28152
28143
  {
28153
28144
  instFamily: external_exports.string().describe("\u4EA7\u54C1\u65CF\uFF0C\u5982 BTC-USD\u3002\u5FC5\u586B"),
28154
28145
  limit: external_exports.number().int().min(1).max(100).optional().describe("\u8FD4\u56DE\u6761\u6570")
@@ -28166,17 +28157,7 @@ function registerPublicTools(server, auth) {
28166
28157
  server,
28167
28158
  "okx_get_option_trades",
28168
28159
  "READ",
28169
- `## \u529F\u80FD\uFF1A\u83B7\u53D6\u671F\u6743\u9010\u7B14\u6210\u4EA4\u8BB0\u5F55
28170
- ## \u573A\u666F\uFF1A\u7528\u4E8E\u5206\u6790\u5177\u4F53\u671F\u6743\u5408\u7EA6\u7684\u6210\u4EA4\u4EF7\u91CF\u5206\u5E03\u3001\u5224\u65AD\u4E3B\u52A8\u4E70\u5356\u65B9\u5411\u3001\u8DDF\u8E2A\u671F\u6743\u5927\u5355
28171
- ## \u5173\u952E\u8BCD\uFF1A\u671F\u6743\u6210\u4EA4, option trades, \u9010\u7B14\u671F\u6743\u6210\u4EA4, \u671F\u6743\u660E\u7EC6, \u671F\u6743\u5927\u5355, option fill
28172
- ## \u53C2\u6570\uFF1A
28173
- ## - instFamily: \u4EA7\u54C1\u65CF\uFF0C\u5982 BTC-USD\u3002\u4E0EinstId\u4E8C\u9009\u4E00
28174
- ## - instId: \u671F\u6743\u4EA7\u54C1ID\uFF0C\u5982 BTC-USD-260612-64000-C\u3002\u4E0EinstFamily\u4E8C\u9009\u4E00
28175
- ## - limit: \u8FD4\u56DE\u6761\u6570\uFF0C\u9ED8\u8BA4100\uFF0C\u6700\u5927100
28176
- ## \u9274\u6743\uFF1APUBLIC \u2014 \u516C\u5F00\u63A5\u53E3\uFF0C\u4E0D\u9700\u8981 API Key
28177
- ## \u98CE\u9669\uFF1AREAD \u2014 \u53EA\u8BFB\u67E5\u8BE2\uFF0CAgent \u53EF\u81EA\u52A8\u8C03\u7528
28178
- ## \u8FD4\u56DE\u91CF\uFF1A100\u6761 ~5KB \u2014 \u4E2D\u7B49
28179
- ## \u5173\u8054\uFF1Aokx_get_option_instrument_family_trades \u770B\u65CF\u6982\u51B5 \u2192 \u672C\u5DE5\u5177\u770B\u9010\u7B14 \u2192 okx_get_opt_summary \u770B\u6CE2\u52A8\u7387`,
28160
+ "CAT:[\u516C\u5171] | \u2192 \u8BF7\u5148\u8C03\u7528 agent_catalog",
28180
28161
  {
28181
28162
  instFamily: external_exports.string().optional().describe("\u4EA7\u54C1\u65CF\uFF0C\u5982 BTC-USD\u3002\u4E0EinstId\u4E8C\u9009\u4E00"),
28182
28163
  instId: external_exports.string().optional().describe("\u671F\u6743\u4EA7\u54C1ID\uFF0C\u5982 BTC-USD-260612-64000-C\u3002\u4E0EinstFamily\u4E8C\u9009\u4E00"),
@@ -28799,17 +28780,7 @@ function registerAccountTools(server, auth) {
28799
28780
  server,
28800
28781
  "okx_convert_trade",
28801
28782
  "WRITE",
28802
- `## \u529F\u80FD\uFF1A\u6267\u884C\u8D44\u4EA7\u5151\u6362\uFF08\u5C06\u4E00\u79CD\u8D44\u4EA7\u76F4\u63A5\u6362\u6210\u53E6\u4E00\u79CD\uFF0C\u5982 USDT\u2192BTC\uFF09
28803
- ## \u573A\u666F\uFF1A\u7528\u4E8E\u5FEB\u901F\u6362\u5E01\u3001\u5C0F\u989D\u8D44\u4EA7\u5151\u6362\u3001\u65E0\u9700\u6302\u5355\u7684\u5373\u65F6\u5151\u6362
28804
- ## \u5173\u952E\u8BCD\uFF1A\u5151\u6362, convert trade, \u8D44\u4EA7\u5151\u6362, \u6362\u5E01, \u4E00\u952E\u5151\u6362, \u95EA\u5151
28805
- ## \u53C2\u6570\uFF1A
28806
- ## - fromCcy: \u5356\u51FA\u5E01\u79CD\uFF0C\u5982 USDT\u3002\u5FC5\u586B
28807
- ## - toCcy: \u4E70\u5165\u5E01\u79CD\uFF0C\u5982 BTC\u3002\u5FC5\u586B
28808
- ## - sz: \u5356\u51FA\u6570\u91CF\u3002\u5FC5\u586B
28809
- ## \u9274\u6743\uFF1A\u{1F534} \u9700\u8981 API Key\uFF08\u4EA4\u6613\uFF09- \u8C03\u7528\u524D\u987B\u5411\u7528\u6237\u786E\u8BA4\u5151\u6362\u65B9\u5411\u548C\u6570\u91CF
28810
- ## \u98CE\u9669\uFF1AFUND_TRANSFER \u2014 \u4EA7\u751F\u771F\u5B9E\u5151\u6362\u4EA4\u6613\uFF0C\u8C03\u7528\u524D\u5FC5\u987B\u5411\u7528\u6237\u786E\u8BA4
28811
- ## \u8FD4\u56DE\u91CF\uFF1A\u5FAE\u5C0F ~500B
28812
- ## \u5173\u8054\uFF1Aokx_get_convert_currencies \u67E5\u652F\u6301\u5E01\u79CD \u2192 \u672C\u5DE5\u5177\u5151\u6362 \u2192 okx_get_balance \u786E\u8BA4\u5230\u8D26`,
28783
+ "CAT:[\u8D26\u6237] | \u2192 \u8BF7\u5148\u8C03\u7528 agent_catalog",
28813
28784
  {
28814
28785
  fromCcy: external_exports.string().describe("\u5356\u51FA\u5E01\u79CD\uFF0C\u5982 USDT\u3002\u5FC5\u586B"),
28815
28786
  toCcy: external_exports.string().describe("\u4E70\u5165\u5E01\u79CD\uFF0C\u5982 BTC\u3002\u5FC5\u586B"),
@@ -29390,6 +29361,25 @@ function registerTradingTools(server, auth) {
29390
29361
  }
29391
29362
  }
29392
29363
  );
29364
+ registerTool(
29365
+ server,
29366
+ "okx_get_order",
29367
+ "READ",
29368
+ "CAT:[\u4EA4\u6613] | \u2192 \u8BF7\u5148\u8C03\u7528 agent_catalog",
29369
+ {
29370
+ instId: external_exports.string().describe("\u4EA7\u54C1ID\uFF0C\u5982 BTC-USDT"),
29371
+ ordId: external_exports.string().describe("\u8BA2\u5355ID")
29372
+ },
29373
+ async ({ instId, ordId }) => {
29374
+ if (!auth) return toError(AUTH_REQUIRED);
29375
+ try {
29376
+ const data = await privateApi.getOrder(auth, instId, ordId);
29377
+ return toResult(data);
29378
+ } catch (e) {
29379
+ return toError(e);
29380
+ }
29381
+ }
29382
+ );
29393
29383
  registerTool(
29394
29384
  server,
29395
29385
  "okx_get_fills",
@@ -29433,15 +29423,7 @@ function registerTradingTools(server, auth) {
29433
29423
  server,
29434
29424
  "okx_batch_orders",
29435
29425
  "WRITE",
29436
- `## \u529F\u80FD\uFF1A\u6279\u91CF\u4E0B\u5355\uFF08\u6700\u591A20\u7B14\uFF09
29437
- ## \u573A\u666F\uFF1A\u7528\u4E8E\u9700\u8981\u540C\u65F6\u4E0B\u591A\u4E2A\u8BA2\u5355\u7684\u7B56\u7565\uFF08\u5982\u4E00\u7BEE\u5B50\u5EFA\u4ED3\u3001\u591A\u4EA7\u54C1\u5957\u5229\u5E03\u5C40\uFF09
29438
- ## \u5173\u952E\u8BCD\uFF1A\u6279\u91CF\u4E0B\u5355, \u6279\u91CF\u59D4\u6258, batch orders, \u4E00\u7BEE\u5B50\u8BA2\u5355, \u7EC4\u5408\u4E0B\u5355
29439
- ## \u53C2\u6570\uFF1A
29440
- ## - orders: \u8BA2\u5355\u6570\u7EC4\uFF08JSON\u6570\u7EC4\u5B57\u7B26\u4E32\uFF09\uFF0C\u6BCF\u9879\u542B instId/tdMode/side/ordType/sz/px \u7B49\u5B57\u6BB5\u3002\u6700\u591A20\u7B14
29441
- ## \u9274\u6743\uFF1A\u{1F534} \u9700\u8981 API Key\uFF08\u4EA4\u6613\uFF09- \u8C03\u7528\u524D\u987B\u5411\u7528\u6237\u786E\u8BA4\u6BCF\u7B14\u8BA2\u5355\u5185\u5BB9
29442
- ## \u98CE\u9669\uFF1AWRITE \u2014 \u521B\u5EFA\u8BA2\u5355\uFF0C\u8C03\u7528\u524D\u5FC5\u987B\u5411\u7528\u6237\u9010\u7B14\u786E\u8BA4
29443
- ## \u8FD4\u56DE\u91CF\uFF1A\u5FAE\u5C0F ~2KB
29444
- ## \u5173\u8054\uFF1Aokx_get_instruments \u83B7\u53D6\u4EA7\u54C1\u5217\u8868 \u2192 \u672C\u5DE5\u5177\u6279\u91CF\u4E0B\u5355 \u2192 okx_batch_cancel_orders \u64A4\u9500`,
29426
+ "CAT:[\u4EA4\u6613] | \u2192 \u8BF7\u5148\u8C03\u7528 agent_catalog",
29445
29427
  {
29446
29428
  orders: external_exports.string().describe(`\u8BA2\u5355\u6570\u7EC4JSON\u5B57\u7B26\u4E32\uFF0C\u5982 '[{"instId":"BTC-USDT","tdMode":"cash","side":"buy","ordType":"limit","sz":"0.001","px":"60000"}]'\u3002\u6700\u591A20\u7B14`)
29447
29429
  },
@@ -29460,15 +29442,7 @@ function registerTradingTools(server, auth) {
29460
29442
  server,
29461
29443
  "okx_batch_cancel_orders",
29462
29444
  "WRITE",
29463
- `## \u529F\u80FD\uFF1A\u6279\u91CF\u64A4\u9500\u8BA2\u5355
29464
- ## \u573A\u666F\uFF1A\u7528\u4E8E\u4E00\u952E\u64A4\u9500\u6240\u6709\u672A\u6210\u4EA4\u6302\u5355\u3001\u6E05\u7A7A\u7279\u5B9A\u4EA7\u54C1\u7684\u8BA2\u5355\u961F\u5217
29465
- ## \u5173\u952E\u8BCD\uFF1A\u6279\u91CF\u64A4\u5355, \u6279\u91CF\u64A4\u9500, batch cancel, \u4E00\u952E\u64A4\u5355, \u6E05\u7A7A\u6302\u5355
29466
- ## \u53C2\u6570\uFF1A
29467
- ## - orders: \u64A4\u5355\u6570\u7EC4\uFF08JSON\u6570\u7EC4\u5B57\u7B26\u4E32\uFF09\uFF0C\u6BCF\u9879\u542B instId/ordId\u3002\u4E0D\u586BinstId\u5219\u64A4\u9500\u8BE5\u4EA7\u54C1\u6240\u6709\u6302\u5355
29468
- ## \u9274\u6743\uFF1A\u{1F534} \u9700\u8981 API Key\uFF08\u4EA4\u6613\uFF09- \u8C03\u7528\u524D\u987B\u5411\u7528\u6237\u786E\u8BA4
29469
- ## \u98CE\u9669\uFF1AWRITE \u2014 \u64A4\u9500\u8BA2\u5355\uFF0C\u8C03\u7528\u524D\u5FC5\u987B\u5411\u7528\u6237\u786E\u8BA4
29470
- ## \u8FD4\u56DE\u91CF\uFF1A\u5FAE\u5C0F ~2KB
29471
- ## \u5173\u8054\uFF1Aokx_get_orders_pending \u67E5\u770B\u6302\u5355 \u2192 \u672C\u5DE5\u5177\u6279\u91CF\u64A4\u9500 \u2192 okx_get_orders_history \u786E\u8BA4\u64A4\u9500`,
29445
+ "CAT:[\u4EA4\u6613] | \u2192 \u8BF7\u5148\u8C03\u7528 agent_catalog",
29472
29446
  {
29473
29447
  orders: external_exports.string().describe(`\u64A4\u5355\u6570\u7EC4JSON\u5B57\u7B26\u4E32\uFF0C\u5982 '[{"instId":"BTC-USDT","ordId":"123456"}]'`)
29474
29448
  },
@@ -29487,18 +29461,7 @@ function registerTradingTools(server, auth) {
29487
29461
  server,
29488
29462
  "okx_close_position",
29489
29463
  "WRITE",
29490
- `## \u529F\u80FD\uFF1A\u5E02\u4EF7\u5168\u5E73\u67D0\u4ED3\u4F4D
29491
- ## \u573A\u666F\uFF1A\u7528\u4E8E\u7D27\u6025\u5E73\u4ED3\u6B62\u635F/\u6B62\u76C8\u3001\u6E05\u7A7A\u67D0\u65B9\u5411\u5168\u90E8\u6301\u4ED3
29492
- ## \u5173\u952E\u8BCD\uFF1A\u5E73\u4ED3, \u5E02\u4EF7\u5168\u5E73, close position, \u6B62\u635F\u5E73\u4ED3, \u6E05\u4ED3, \u7D27\u6025\u5E73\u4ED3
29493
- ## \u53C2\u6570\uFF1A
29494
- ## - instId: \u4EA7\u54C1ID\uFF0C\u5982 BTC-USDT-SWAP\u3002\u5FC5\u586B
29495
- ## - posSide: \u6301\u4ED3\u65B9\u5411\u3002long=\u5E73\u591A\u5934, short=\u5E73\u7A7A\u5934\u3002\u4E0D\u586B\u5219\u6309mgnMode\u81EA\u52A8\u5224\u65AD
29496
- ## - mgnMode: \u4FDD\u8BC1\u91D1\u6A21\u5F0F\u3002cross=\u5168\u4ED3, isolated=\u9010\u4ED3
29497
- ## - ccy: \u4FDD\u8BC1\u91D1\u5E01\u79CD\uFF08\u5168\u4ED3\u65F6\u9009\u586B\uFF09
29498
- ## \u9274\u6743\uFF1A\u{1F534} \u9700\u8981 API Key\uFF08\u4EA4\u6613\uFF09- \u98CE\u63A7\u6838\u5FC3\u5DE5\u5177\uFF0C\u8C03\u7528\u524D\u5FC5\u987B\u4E8C\u6B21\u786E\u8BA4
29499
- ## \u98CE\u9669\uFF1AFUND_TRANSFER \u2014 \u5E73\u4ED3\u64CD\u4F5C\u76F4\u63A5\u5F71\u54CD\u6301\u4ED3\u548C\u8D44\u91D1\uFF0C\u8C03\u7528\u524D\u5FC5\u987B\u5411\u7528\u6237\u786E\u8BA4
29500
- ## \u8FD4\u56DE\u91CF\uFF1A\u5FAE\u5C0F ~300B
29501
- ## \u5173\u8054\uFF1Aokx_get_positions \u786E\u8BA4\u6301\u4ED3 \u2192 \u672C\u5DE5\u5177\u5E02\u4EF7\u5168\u5E73 \u2192 okx_get_orders_history \u786E\u8BA4\u6210\u4EA4`,
29464
+ "CAT:[\u4EA4\u6613] | \u2192 \u8BF7\u5148\u8C03\u7528 agent_catalog",
29502
29465
  {
29503
29466
  instId: external_exports.string().describe("\u4EA7\u54C1ID\uFF0C\u5982 BTC-USDT-SWAP\u3002\u5FC5\u586B"),
29504
29467
  posSide: external_exports.enum(["long", "short"]).optional().describe("\u6301\u4ED3\u65B9\u5411\u3002long=\u5E73\u591A\u5934, short=\u5E73\u7A7A\u5934\u3002\u5168\u4ED3\u5FC5\u586B"),
@@ -29523,15 +29486,7 @@ function registerTradingTools(server, auth) {
29523
29486
  server,
29524
29487
  "okx_amend_batch_orders",
29525
29488
  "WRITE",
29526
- `## \u529F\u80FD\uFF1A\u6279\u91CF\u4FEE\u6539\u672A\u6210\u4EA4\u8BA2\u5355
29527
- ## \u573A\u666F\uFF1A\u7528\u4E8E\u540C\u65F6\u8C03\u6574\u591A\u4E2A\u9650\u4EF7\u5355\u7684\u4EF7\u683C\u6216\u6570\u91CF\u3001\u6279\u91CF\u66F4\u65B0\u6302\u5355\u7B56\u7565
29528
- ## \u5173\u952E\u8BCD\uFF1A\u6279\u91CF\u6539\u5355, \u6279\u91CF\u4FEE\u6539, amend batch orders, \u6279\u91CF\u6539\u4EF7, \u6279\u91CF\u8C03\u91CF
29529
- ## \u53C2\u6570\uFF1A
29530
- ## - orders: \u6539\u5355\u6570\u7EC4\uFF08JSON\u6570\u7EC4\u5B57\u7B26\u4E32\uFF09\uFF0C\u6BCF\u9879\u542B instId/ordId/newSz/newPx\u3002\u6700\u591A20\u7B14
29531
- ## \u9274\u6743\uFF1A\u{1F534} \u9700\u8981 API Key\uFF08\u4EA4\u6613\uFF09- \u8C03\u7528\u524D\u987B\u5411\u7528\u6237\u786E\u8BA4
29532
- ## \u98CE\u9669\uFF1AWRITE \u2014 \u4FEE\u6539\u8BA2\u5355\uFF0C\u8C03\u7528\u524D\u5FC5\u987B\u5411\u7528\u6237\u786E\u8BA4
29533
- ## \u8FD4\u56DE\u91CF\uFF1A\u5FAE\u5C0F ~2KB
29534
- ## \u5173\u8054\uFF1Aokx_get_orders_pending \u67E5\u770B\u6302\u5355 \u2192 \u672C\u5DE5\u5177\u6279\u91CF\u6539\u5355 \u2192 okx_get_order \u786E\u8BA4\u4FEE\u6539`,
29489
+ "CAT:[\u4EA4\u6613] | \u2192 \u8BF7\u5148\u8C03\u7528 agent_catalog",
29535
29490
  {
29536
29491
  orders: external_exports.string().describe(`\u6539\u5355\u6570\u7EC4JSON\u5B57\u7B26\u4E32\uFF0C\u5982 '[{"instId":"BTC-USDT","ordId":"123","newPx":"62000"}]'\u3002\u6700\u591A20\u7B14`)
29537
29492
  },
@@ -29550,17 +29505,7 @@ function registerTradingTools(server, auth) {
29550
29505
  server,
29551
29506
  "okx_get_fills_history",
29552
29507
  "READ",
29553
- `## \u529F\u80FD\uFF1A\u67E5\u8BE2\u5386\u53F2\u6210\u4EA4\u660E\u7EC6\uFF08\u6700\u8FD13\u4E2A\u6708\uFF09
29554
- ## \u573A\u666F\uFF1A\u7528\u4E8E\u7CBE\u786E\u8BA1\u7B97\u5386\u53F2\u6210\u4EA4\u5747\u4EF7\u3001\u590D\u76D8\u4EA4\u6613\u8868\u73B0\u3001\u6838\u5BF9\u6210\u4EA4\u8BB0\u5F55
29555
- ## \u5173\u952E\u8BCD\uFF1A\u6210\u4EA4\u5386\u53F2, \u6210\u4EA4\u660E\u7EC6, fills history, \u5386\u53F2\u6210\u4EA4, \u9010\u7B14\u6210\u4EA4\u5386\u53F2
29556
- ## \u53C2\u6570\uFF1A
29557
- ## - instType: \u4EA7\u54C1\u7C7B\u578B\u3002SPOT=\u73B0\u8D27, MARGIN=\u6760\u6746, SWAP=\u6C38\u7EED, FUTURES=\u4EA4\u5272, OPTION=\u671F\u6743\u3002\u53EF\u9009
29558
- ## - instId: \u4EA7\u54C1ID\uFF0C\u5982 BTC-USDT\u3002\u53EF\u9009
29559
- ## - limit: \u8FD4\u56DE\u6761\u6570\uFF0C\u9ED8\u8BA4100
29560
- ## \u9274\u6743\uFF1A\u26A0\uFE0F \u9700\u8981 API Key\uFF08\u53EA\u8BFB\uFF09
29561
- ## \u98CE\u9669\uFF1AREAD \u2014 \u53EA\u8BFB\u67E5\u8BE2\uFF0CAgent \u53EF\u81EA\u52A8\u8C03\u7528
29562
- ## \u8FD4\u56DE\u91CF\uFF1A\u4E2D\u7B49 ~10KB
29563
- ## \u5173\u8054\uFF1Aokx_get_fills \u67E5\u6700\u8FD1\u6210\u4EA4 \u2192 \u672C\u5DE5\u5177\u67E5\u5386\u53F2\u6210\u4EA4 \u2192 okx_get_orders_history \u5BF9\u8D26`,
29508
+ "CAT:[\u4EA4\u6613] | \u2192 \u8BF7\u5148\u8C03\u7528 agent_catalog",
29564
29509
  {
29565
29510
  instType: external_exports.enum(INST_TYPE_TRADE).optional().describe("\u4EA7\u54C1\u7C7B\u578B\u3002SPOT=\u73B0\u8D27, MARGIN=\u6760\u6746, SWAP=\u6C38\u7EED, FUTURES=\u4EA4\u5272, OPTION=\u671F\u6743"),
29566
29511
  instId: external_exports.string().optional().describe("\u4EA7\u54C1ID\uFF0C\u5982 BTC-USDT"),
@@ -29580,16 +29525,7 @@ function registerTradingTools(server, auth) {
29580
29525
  server,
29581
29526
  "okx_mass_cancel",
29582
29527
  "WRITE",
29583
- `## \u529F\u80FD\uFF1A\u6279\u91CF\u64A4\u9500\u67D0\u4EA7\u54C1\u7C7B\u578B\u4E0B\u6240\u6709\u6302\u5355
29584
- ## \u573A\u666F\uFF1A\u7528\u4E8E\u6781\u7AEF\u884C\u60C5\u4E0B\u7D27\u6025\u6E05\u7A7A\u6240\u6709\u6302\u5355\u3001\u5FEB\u901F\u91CD\u7F6E\u4EA4\u6613\u7B56\u7565
29585
- ## \u5173\u952E\u8BCD\uFF1A\u6279\u91CF\u64A4\u5355, \u5168\u90E8\u64A4\u5355, mass cancel, \u6E05\u7A7A\u6302\u5355, \u7D27\u6025\u64A4\u5355
29586
- ## \u53C2\u6570\uFF1A
29587
- ## - instType: \u4EA7\u54C1\u7C7B\u578B\u3002SPOT/MARGIN/SWAP/FUTURES/OPTION\u3002\u5FC5\u586B
29588
- ## - instFamily: \u4EA7\u54C1\u65CF\uFF0C\u5982 BTC-USDT\u3002\u53EF\u9009\uFF08\u4EC5\u5408\u7EA6\u9700\u8981\uFF09
29589
- ## \u9274\u6743\uFF1A\u{1F534} \u9700\u8981 API Key\uFF08\u4EA4\u6613\uFF09- \u8C03\u7528\u524D\u987B\u5411\u7528\u6237\u786E\u8BA4
29590
- ## \u98CE\u9669\uFF1AWRITE \u2014 \u64A4\u9500\u6240\u6709\u6302\u5355\uFF0C\u5F71\u54CD\u8303\u56F4\u5927\uFF0C\u8C03\u7528\u524D\u5FC5\u987B\u786E\u8BA4
29591
- ## \u8FD4\u56DE\u91CF\uFF1A\u5FAE\u5C0F ~500B
29592
- ## \u5173\u8054\uFF1Aokx_get_orders_pending \u786E\u8BA4\u6302\u5355 \u2192 \u672C\u5DE5\u5177\u5168\u90E8\u64A4\u9500 \u2192 okx_get_orders_history \u786E\u8BA4`,
29528
+ "CAT:[\u4EA4\u6613] | \u2192 \u8BF7\u5148\u8C03\u7528 agent_catalog",
29593
29529
  {
29594
29530
  instType: external_exports.enum(INST_TYPE_TRADE).describe("\u4EA7\u54C1\u7C7B\u578B"),
29595
29531
  instFamily: external_exports.string().optional().describe("\u4EA7\u54C1\u65CF\uFF0C\u5982 BTC-USDT\u3002\u4EC5\u5408\u7EA6\u9700\u586B")
@@ -29626,15 +29562,7 @@ function registerTradingTools(server, auth) {
29626
29562
  server,
29627
29563
  "okx_order_precheck",
29628
29564
  "READ",
29629
- `## \u529F\u80FD\uFF1A\u4E0B\u5355\u9884\u68C0\uFF08\u9A8C\u8BC1\u8BA2\u5355\u53C2\u6570\u662F\u5426\u5408\u6CD5\uFF0C\u4E0D\u5B9E\u9645\u4E0B\u5355\uFF09
29630
- ## \u573A\u666F\uFF1A\u7528\u4E8E\u4E0B\u5355\u524D\u9A8C\u8BC1\u53C2\u6570\u6B63\u786E\u6027\u3001\u68C0\u67E5\u4F59\u989D\u548C\u98CE\u63A7\u9650\u5236\u3001\u907F\u514D\u56E0\u53C2\u6570\u9519\u8BEF\u5BFC\u81F4\u7684\u8BA2\u5355\u5931\u8D25
29631
- ## \u5173\u952E\u8BCD\uFF1A\u4E0B\u5355\u9884\u68C0, \u9884\u68C0\u67E5, order precheck, \u8BA2\u5355\u9A8C\u8BC1, \u53C2\u6570\u68C0\u67E5
29632
- ## \u53C2\u6570\uFF1A
29633
- ## - params: \u8BA2\u5355\u53C2\u6570JSON\u5BF9\u8C61\uFF0C\u4E0E okx_place_order \u53C2\u6570\u76F8\u540C\u3002\u5FC5\u586B
29634
- ## \u9274\u6743\uFF1A\u26A0\uFE0F \u9700\u8981 API Key\uFF08\u53EA\u8BFB\uFF09
29635
- ## \u98CE\u9669\uFF1AREAD \u2014 \u53EA\u8BFB\u9884\u68C0\uFF0C\u4E0D\u4EA7\u751F\u5B9E\u9645\u8BA2\u5355\uFF0CAgent \u53EF\u81EA\u52A8\u8C03\u7528
29636
- ## \u8FD4\u56DE\u91CF\uFF1A\u5FAE\u5C0F ~500B
29637
- ## \u5173\u8054\uFF1Aokx_place_order \u4E0B\u5355\u524D \u2192 \u672C\u5DE5\u5177\u9884\u68C0\u53C2\u6570 \u2192 \u901A\u8FC7\u540E\u6B63\u5F0F\u4E0B\u5355`,
29565
+ "CAT:[\u4EA4\u6613] | \u2192 \u8BF7\u5148\u8C03\u7528 agent_catalog",
29638
29566
  {
29639
29567
  params: external_exports.string().describe(`\u8BA2\u5355\u53C2\u6570JSON\u5B57\u7B26\u4E32\uFF0C\u5982 '{"instId":"BTC-USDT","tdMode":"cash","side":"buy","ordType":"limit","sz":"0.001","px":"60000"}'`)
29640
29568
  },
@@ -33560,18 +33488,7 @@ function registerRfqTools(server, auth) {
33560
33488
  server,
33561
33489
  "okx_create_rfq",
33562
33490
  "WRITE",
33563
- `## \u529F\u80FD\uFF1A\u521B\u5EFA\u62A5\u4EF7\u8BF7\u6C42\uFF08RFQ\uFF0CRequest For Quote\uFF09\uFF0C\u7528\u4E8E\u5927\u5B97\u4EA4\u6613\u8BE2\u4EF7
33564
- ## \u573A\u666F\uFF1A\u7528\u4E8E\u5411\u505A\u5E02\u5546\u6216\u5BF9\u624B\u65B9\u53D1\u8D77\u5927\u5B97\u4EA4\u6613\u8BE2\u4EF7\u3001\u83B7\u53D6\u5B9A\u5236\u62A5\u4EF7
33565
- ## \u5173\u952E\u8BCD\uFF1A\u8BE2\u4EF7, RFQ, \u62A5\u4EF7\u8BF7\u6C42, \u5927\u5B97\u4EA4\u6613\u8BE2\u4EF7, \u8BF7\u6C42\u62A5\u4EF7
33566
- ## \u53C2\u6570\uFF1A
33567
- ## - instId: \u4EA7\u54C1ID\u3002\u5FC5\u586B
33568
- ## - side: \u4E70\u5356\u65B9\u5411\u3002buy=\u4E70\u5165, sell=\u5356\u51FA\u3002\u5FC5\u586B
33569
- ## - sz: \u6570\u91CF\u3002\u5FC5\u586B
33570
- ## - szType: \u6570\u91CF\u7C7B\u578B\u3002base=\u6309\u5E01, quote=\u6309\u8BA1\u4EF7\u5E01\u3002\u53EF\u9009
33571
- ## \u9274\u6743\uFF1A\u{1F534} \u9700\u8981 API Key\uFF08\u4EA4\u6613\uFF09- \u5C06\u53D1\u9001\u5927\u5B97\u4EA4\u6613\u8BE2\u4EF7\uFF0C\u8C03\u7528\u524D\u5FC5\u987B\u5411\u7528\u6237\u786E\u8BA4
33572
- ## \u98CE\u9669\uFF1AWRITE \u2014 \u53D1\u9001RFQ\u540E\u4F1A\u6536\u5230\u62A5\u4EF7\uFF0C\u8C03\u7528\u524D\u5FC5\u987B\u786E\u8BA4
33573
- ## \u8FD4\u56DE\u91CF\uFF1A\u5FAE\u5C0F ~500B
33574
- ## \u5173\u8054\uFF1A\u672C\u5DE5\u5177\u8BE2\u4EF7 \u2192 okx_get_quotes \u67E5\u6536\u5230\u7684\u62A5\u4EF7 \u2192 okx_execute_quote \u6267\u884C\u62A5\u4EF7`,
33491
+ "CAT:[\u7B56\u7565-RFQ] | \u2192 \u8BF7\u5148\u8C03\u7528 agent_catalog",
33575
33492
  {
33576
33493
  instId: external_exports.string().describe("\u4EA7\u54C1ID\u3002\u5FC5\u586B"),
33577
33494
  side: external_exports.enum(["buy", "sell"]).describe("\u4E70\u5356\u65B9\u5411\u3002buy=\u4E70\u5165, sell=\u5356\u51FA"),
@@ -33594,18 +33511,7 @@ function registerRfqTools(server, auth) {
33594
33511
  server,
33595
33512
  "okx_execute_quote",
33596
33513
  "READ",
33597
- `## \u529F\u80FD\uFF1A\u6267\u884C\u62A5\u4EF7\uFF08\u63A5\u53D7\u5BF9\u624B\u65B9\u7684\u5927\u5B97\u4EA4\u6613\u62A5\u4EF7\uFF09
33598
- ## \u573A\u666F\uFF1A\u7528\u4E8E\u63A5\u53D7RFQ\u62A5\u4EF7\u3001\u786E\u8BA4\u5927\u5B97\u4EA4\u6613\u6210\u4EA4
33599
- ## \u5173\u952E\u8BCD\uFF1A\u6267\u884C\u62A5\u4EF7, execute quote, \u63A5\u53D7\u62A5\u4EF7, \u5927\u5B97\u6210\u4EA4, \u786E\u8BA4\u4EA4\u6613
33600
- ## \u53C2\u6570\uFF1A
33601
- ## - instId: \u4EA7\u54C1ID\u3002\u5FC5\u586B
33602
- ## - quoteId: \u62A5\u4EF7ID\u3002\u5FC5\u586B
33603
- ## - rfqId: RFQ ID\u3002\u5FC5\u586B
33604
- ## - sz: \u6210\u4EA4\u6570\u91CF\u3002\u5FC5\u586B
33605
- ## \u9274\u6743\uFF1A\u{1F534} \u9700\u8981 API Key\uFF08\u4EA4\u6613\uFF09- \u5C06\u6267\u884C\u5927\u5B97\u4EA4\u6613\u6210\u4EA4\uFF0C\u8C03\u7528\u524D\u5FC5\u987B\u5411\u7528\u6237\u786E\u8BA4
33606
- ## \u98CE\u9669\uFF1AWRITE \u2014 \u6267\u884C\u62A5\u4EF7\u540E\u5373\u6210\u4EA4\uFF0C\u8C03\u7528\u524D\u5FC5\u987B\u786E\u8BA4
33607
- ## \u8FD4\u56DE\u91CF\uFF1A\u5FAE\u5C0F ~500B
33608
- ## \u5173\u8054\uFF1Aokx_create_rfq \u53D1\u8D77\u8BE2\u4EF7 \u2192 okx_get_quotes \u67E5\u770B\u62A5\u4EF7 \u2192 \u672C\u5DE5\u5177\u6210\u4EA4`,
33514
+ "CAT:[\u7B56\u7565-RFQ] | \u2192 \u8BF7\u5148\u8C03\u7528 agent_catalog",
33609
33515
  {
33610
33516
  instId: external_exports.string().describe("\u4EA7\u54C1ID\u3002\u5FC5\u586B"),
33611
33517
  quoteId: external_exports.string().describe("\u62A5\u4EF7ID\u3002\u5FC5\u586B"),
@@ -33626,15 +33532,7 @@ function registerRfqTools(server, auth) {
33626
33532
  server,
33627
33533
  "okx_get_rfqs",
33628
33534
  "READ",
33629
- `## \u529F\u80FD\uFF1A\u67E5\u8BE2\u8BE2\u4EF7\u8BB0\u5F55\u5217\u8868
33630
- ## \u573A\u666F\uFF1A\u7528\u4E8E\u67E5\u770B\u5386\u53F2RFQ\u3001\u8FFD\u8E2A\u8BE2\u4EF7\u72B6\u6001\u3001\u786E\u8BA4\u8BE2\u4EF7\u662F\u5426\u5DF2\u62A5\u4EF7
33631
- ## \u5173\u952E\u8BCD\uFF1A\u8BE2\u4EF7\u8BB0\u5F55, RFQ\u5217\u8868, \u8BE2\u4EF7\u5386\u53F2, RFQ\u8BB0\u5F55, \u62A5\u4EF7\u8BF7\u6C42\u8BB0\u5F55
33632
- ## \u53C2\u6570\uFF1A
33633
- ## - state: \u72B6\u6001\u7B5B\u9009\u3002active=\u8FDB\u884C\u4E2D, executed=\u5DF2\u6210\u4EA4, canceled=\u5DF2\u53D6\u6D88\u3002\u53EF\u9009
33634
- ## \u9274\u6743\uFF1A\u26A0\uFE0F \u9700\u8981 API Key\uFF08\u53EA\u8BFB\uFF09
33635
- ## \u98CE\u9669\uFF1AREAD \u2014 \u53EA\u8BFB\u67E5\u8BE2\uFF0CAgent \u53EF\u81EA\u52A8\u8C03\u7528
33636
- ## \u8FD4\u56DE\u91CF\uFF1A\u4E2D\u7B49 ~5KB
33637
- ## \u5173\u8054\uFF1A\u672C\u5DE5\u5177\u67E5\u8BE2\u4EF7\u5217\u8868 \u2192 okx_get_quotes \u67E5\u770B\u5BF9\u5E94\u62A5\u4EF7 \u2192 \u7BA1\u7406\u5927\u5B97\u4EA4\u6613`,
33535
+ "CAT:[\u7B56\u7565-RFQ] | \u2192 \u8BF7\u5148\u8C03\u7528 agent_catalog",
33638
33536
  {
33639
33537
  state: external_exports.enum(["active", "executed", "canceled"]).optional().describe("\u72B6\u6001\u7B5B\u9009\u3002active=\u8FDB\u884C\u4E2D, executed=\u5DF2\u6210\u4EA4, canceled=\u5DF2\u53D6\u6D88")
33640
33538
  },
@@ -33652,15 +33550,7 @@ function registerRfqTools(server, auth) {
33652
33550
  server,
33653
33551
  "okx_get_quotes",
33654
33552
  "READ",
33655
- `## \u529F\u80FD\uFF1A\u67E5\u8BE2\u9488\u5BF9\u67D0RFQ\u7684\u62A5\u4EF7\u5217\u8868
33656
- ## \u573A\u666F\uFF1A\u7528\u4E8E\u67E5\u770B\u5BF9\u624B\u65B9\u5BF9RFQ\u7684\u56DE\u590D\u62A5\u4EF7\u3001\u9009\u62E9\u6700\u4F18\u62A5\u4EF7\u6267\u884C
33657
- ## \u5173\u952E\u8BCD\uFF1A\u62A5\u4EF7\u5217\u8868, quotes, RFQ\u62A5\u4EF7, \u67E5\u8BE2\u62A5\u4EF7, \u5BF9\u624B\u65B9\u62A5\u4EF7
33658
- ## \u53C2\u6570\uFF1A
33659
- ## - rfqId: RFQ ID\u3002\u5FC5\u586B
33660
- ## \u9274\u6743\uFF1A\u26A0\uFE0F \u9700\u8981 API Key\uFF08\u53EA\u8BFB\uFF09
33661
- ## \u98CE\u9669\uFF1AREAD \u2014 \u53EA\u8BFB\u67E5\u8BE2\uFF0CAgent \u53EF\u81EA\u52A8\u8C03\u7528
33662
- ## \u8FD4\u56DE\u91CF\uFF1A\u4E2D\u7B49 ~5KB
33663
- ## \u5173\u8054\uFF1Aokx_get_rfqs \u67E5\u8BE2\u4EF7 \u2192 \u672C\u5DE5\u5177\u67E5\u770B\u62A5\u4EF7 \u2192 okx_execute_quote \u6267\u884C`,
33553
+ "CAT:[\u7B56\u7565-RFQ] | \u2192 \u8BF7\u5148\u8C03\u7528 agent_catalog",
33664
33554
  {
33665
33555
  rfqId: external_exports.string().describe("RFQ ID\u3002\u5FC5\u586B")
33666
33556
  },
@@ -33990,6 +33880,526 @@ function registerFiatTools(server, auth) {
33990
33880
  var fs = __toESM(require("node:fs"));
33991
33881
  var path = __toESM(require("node:path"));
33992
33882
  var os = __toESM(require("node:os"));
33883
+
33884
+ // src/tools/agent-catalog-data.ts
33885
+ var CATALOG = {
33886
+ _instruction: [
33887
+ "\u4F60\u662F hvip MCP Server \u7684 AI Agent\u3002\u6536\u5230\u672C\u76EE\u5F55\u540E\uFF0C\u4F60\u5DF2\u7ECF\u638C\u63E1\u5168\u90E8\u5FC5\u8981\u4FE1\u606F\uFF0C\u65E0\u9700\u518D\u626B\u63CF tools/list\u3002",
33888
+ "\u5DE5\u4F5C\u6D41: 1) \u770B _setup \u4E86\u89E3\u8FDE\u63A5\u72B6\u6001\u548C API Key \u914D\u7F6E \u2192 2) \u65E0Key\u65F6\u4F18\u5148\u770B publicDomains\uFF08\u7ACB\u5373\u53EF\u7528\uFF09\uFF0C\u6709Key\u65F6\u5168\u90E8\u53EF\u7528 \u2192 3) \u5339\u914D\u7528\u6237\u610F\u56FE\u5230\u57DF \u2192 4) \u7528 go_to_params \u76F4\u63A5\u8C03\u76EE\u6807\u5DE5\u5177\u3002",
33889
+ "\u26A0\uFE0F authDomains \u4E2D\u7684\u6240\u6709\u5DE5\u5177\u9700\u8981 API Key\u2014\u2014\u6CA1\u6709 Key \u65F6\u544A\u8BC9\u7528\u6237\u5982\u4F55\u914D\u7F6E\uFF0C\u4E0D\u8981\u5C1D\u8BD5\u8C03\u7528\u3002",
33890
+ "\u6240\u6709 WRITE/FUND_TRANSFER/ADMIN \u5DE5\u5177\u9700\u7528\u6237\u786E\u8BA4\u540E\u8C03\u7528\uFF0C\u4E0D\u53EF\u81EA\u52A8\u53D1\u8D77\u3002"
33891
+ ].join(" "),
33892
+ domains: [
33893
+ {
33894
+ domain: "\u884C\u60C5\u770B\u76D8",
33895
+ what: "\u67E5\u770B\u4EA7\u54C1\u4EF7\u683C\u3001K\u7EBF\u3001\u6DF1\u5EA6\u3001\u6210\u4EA4\u8BB0\u5F55",
33896
+ when: ["BTC\u4EF7\u683C", "ETH\u884C\u60C5", "K\u7EBF", "\u6DA8\u8DCC", "\u6DF1\u5EA6", "\u76D8\u53E3", "\u6210\u4EA4\u8BB0\u5F55", "\u8D70\u52BF"],
33897
+ go_to: "okx_quick_market",
33898
+ go_to_params: "instId (\u5982 BTC-USDT\u3001ETH-USDT-SWAP)",
33899
+ also: [
33900
+ "okx_get_ticker \u2014 \u5355\u4E2A\u4EA7\u54C1\u5B9E\u65F6\u884C\u60C5",
33901
+ "okx_get_tickers \u2014 \u67D0\u7C7B\u578B\u5168\u90E8\u4EA7\u54C1\u884C\u60C5",
33902
+ "okx_get_orderbook \u2014 \u5B8C\u6574\u6DF1\u5EA6/\u76D8\u53E3",
33903
+ "okx_get_candles \u2014 K\u7EBF\u6570\u636E",
33904
+ "okx_get_trades \u2014 \u6700\u65B0\u6210\u4EA4\u8BB0\u5F55",
33905
+ "okx_get_history_candles \u2014 \u5386\u53F2K\u7EBF",
33906
+ "okx_get_index_candles \u2014 \u6307\u6570K\u7EBF",
33907
+ "okx_get_mark_price_candles \u2014 \u6807\u8BB0\u4EF7K\u7EBF"
33908
+ ],
33909
+ risk: "READ",
33910
+ authRequired: false
33911
+ },
33912
+ {
33913
+ domain: "\u5E02\u573A\u626B\u63CF",
33914
+ what: "\u53D1\u73B0\u5E02\u573A\u673A\u4F1A\u3001\u6DA8\u5E45\u699C\u3001\u8DCC\u5E45\u699C\u3001\u8D44\u91D1\u8D39\u7387\u5F02\u5E38",
33915
+ when: ["\u4ECA\u5929\u6709\u4EC0\u4E48\u673A\u4F1A", "\u6DA8\u5E45\u699C", "\u8DCC\u5E45\u699C", "\u4EC0\u4E48\u5728\u6DA8", "\u4EC0\u4E48\u5728\u8DCC", "\u5F02\u52A8", "\u626B\u63CF"],
33916
+ go_to: "agent_market_scan",
33917
+ go_to_params: "instType? (\u9ED8\u8BA4SWAP), topN? (\u9ED8\u8BA410), sortBy? (change|vol|fundingRate)",
33918
+ also: [
33919
+ "okx_quick_market \u2014 \u6DF1\u5165\u770B\u67D0\u4E2A\u54C1\u79CD",
33920
+ "okx_get_funding_rate \u2014 \u6C38\u7EED\u5408\u7EA6\u8D44\u91D1\u8D39\u7387",
33921
+ "okx_get_tickers \u2014 \u5168\u5E02\u573A\u884C\u60C5"
33922
+ ],
33923
+ risk: "READ",
33924
+ authRequired: false
33925
+ },
33926
+ {
33927
+ domain: "\u6280\u672F\u6307\u6807",
33928
+ what: "\u6280\u672F\u5206\u6790\uFF1ARSI\u3001MACD\u3001\u5E03\u6797\u5E26\u3001KDJ\u3001ADX\u3001Supertrend \u7B49 17 \u79CD\u6307\u6807 + \u4FE1\u53F7\u89E3\u8BFB",
33929
+ when: ["RSI", "MACD", "\u5E03\u6797\u5E26", "KDJ", "ADX", "\u8D85\u4E70", "\u8D85\u5356", "\u91D1\u53C9", "\u6B7B\u53C9", "\u6280\u672F\u6307\u6807", "\u6307\u6807\u5206\u6790"],
33930
+ go_to: "okx_indicator",
33931
+ go_to_params: "instId, indicator (rsi|macd|bb|atr|stoch \u7B4917\u79CD), period?, bar? (\u9ED8\u8BA41H)",
33932
+ also: [
33933
+ "okx_indicator \u2014 \u5355\u6307\u6807\u8BA1\u7B97+\u4FE1\u53F7\u89E3\u8BFB",
33934
+ "okx_indicator_batch \u2014 \u591A\u6307\u6807\u6279\u91CF+\u7EFC\u5408\u4FE1\u53F7\uFF082\u4E2A\u5DE5\u5177\u4E92\u5907\uFF09",
33935
+ "okx_get_candles \u2014 \u539F\u59CBK\u7EBF\u6570\u636E"
33936
+ ],
33937
+ risk: "READ",
33938
+ authRequired: false
33939
+ },
33940
+ {
33941
+ domain: "\u6A21\u62DF\u4F30\u7B97",
33942
+ what: "\u4E0D\u4EA7\u751F\u771F\u5B9E\u8BA2\u5355\uFF0C\u9884\u4F30\u6210\u4EA4\u4EF7\u3001\u6ED1\u70B9\u3001\u624B\u7EED\u8D39\u3001\u4FDD\u8BC1\u91D1",
33943
+ when: ["\u5982\u679C\u4E70\u5165", "\u5982\u679C\u5356\u51FA", "\u6A21\u62DF", "\u9884\u4F30", "\u6C99\u76D2", "\u8BD5\u7B97", "\u4F1A\u600E\u6837"],
33944
+ go_to: "agent_simulate_order",
33945
+ go_to_params: "instId, side (buy|sell), sz, tdMode (cash|cross|isolated), px?",
33946
+ also: [
33947
+ "okx_preflight_check \u2014 \u4E0B\u5355\u524D\u53C2\u6570\u6821\u9A8C",
33948
+ "okx_position_builder \u2014 \u7EC4\u5408\u4FDD\u8BC1\u91D1\u8BD5\u7B97",
33949
+ "agent_quick_trade \u2014 \u786E\u8BA4\u540E\u771F\u5B9E\u4E0B\u5355\uFF08WRITE\uFF0C\u9700Key\uFF09"
33950
+ ],
33951
+ risk: "READ",
33952
+ authRequired: false
33953
+ },
33954
+ {
33955
+ domain: "WebSocket \u5B9E\u65F6",
33956
+ what: "\u5B9E\u65F6\u884C\u60C5\u63A8\u9001\u3001\u7206\u4ED3\u6D41\u3001\u4EF7\u5DEE/\u5927\u5B97\u6570\u636E\uFF08\u516C\u5F00\u9891\u9053 33 \u4E2A\uFF09",
33957
+ when: ["\u5B9E\u65F6", "\u8BA2\u9605", "\u63A8\u9001", "websocket", "ws", "\u76D1\u542C", "\u7206\u4ED3", "\u5B9E\u65F6\u884C\u60C5"],
33958
+ go_to: "okx_ws_subscribe",
33959
+ go_to_params: "instId (\u4EA7\u54C1ID), channel (33\u4E2A\u516C\u5F00\u9891\u9053)",
33960
+ also: [
33961
+ "okx_ws_subscribe_private \u2014 \u79C1\u6709\u9891\u9053\uFF08\u8D26\u6237/\u6301\u4ED3/\u8BA2\u5355\uFF0C\u9700Key\uFF09",
33962
+ "okx_ws_events \u2014 \u62C9\u53D6\u7F13\u51B2\u4E8B\u4EF6",
33963
+ "okx_ws_status \u2014 \u67E5\u770B\u8BA2\u9605\u72B6\u6001",
33964
+ "okx_ws_close \u2014 \u5173\u95ED\u8BA2\u9605"
33965
+ ],
33966
+ risk: "READ",
33967
+ authRequired: false
33968
+ },
33969
+ {
33970
+ domain: "\u4EE3\u7801\u667A\u80FD",
33971
+ what: "\u67E5\u8BE2 hvip-mcp \u81EA\u8EAB\u4EE3\u7801\u7ED3\u6784\uFF1A\u51FD\u6570\u8C03\u7528\u94FE\u3001\u6A21\u5757\u4F9D\u8D56\u3001\u7B26\u53F7\u641C\u7D22",
33972
+ when: ["\u4EE3\u7801\u7ED3\u6784", "\u8C03\u7528\u94FE", "\u8C01\u8C03\u7528\u4E86", "\u8C01\u88AB\u8C03\u7528", "\u4F9D\u8D56\u5173\u7CFB", "\u4E0A\u4E0B\u6E38", "\u4EE3\u7801\u641C\u7D22"],
33973
+ go_to: "codegraph_status",
33974
+ go_to_params: "\u65E0\u9700\u53C2\u6570",
33975
+ also: [
33976
+ "codegraph_query \u2014 \u8C03\u7528\u94FE\u8FFD\u8E2A (callers|callees|search|file|impact)"
33977
+ ],
33978
+ risk: "READ",
33979
+ authRequired: false
33980
+ },
33981
+ {
33982
+ domain: "\u7CFB\u7EDF\u5DE5\u5177",
33983
+ what: "\u504F\u597D\u8BBE\u7F6E\u3001\u53CD\u9988\u7559\u8A00\u3001Agent\u96C6\u7FA4\u7BA1\u7406\u3001X Layer \u94FE\u4E0A\u4EA4\u4E92",
33984
+ when: ["\u504F\u597D", "\u8BBE\u7F6E\u9ED8\u8BA4", "\u8BB0\u4F4F", "\u53CD\u9988", "\u5EFA\u8BAE", "Agent Hub", "\u96C6\u7FA4"],
33985
+ go_to: "agent_get_preference",
33986
+ go_to_params: "key? (\u4E0D\u586B\u8FD4\u56DE\u5168\u90E8)",
33987
+ also: [
33988
+ "agent_set_preference \u2014 \u4FDD\u5B58\u504F\u597D",
33989
+ "okx_agent_feedback \u2014 \u63D0\u4EA4\u4F7F\u7528\u53CD\u9988",
33990
+ "agent_hub_status \u2014 Agent \u96C6\u7FA4\u72B6\u6001",
33991
+ "agent_hub_dispatch \u2014 \u6D3E\u53D1\u4EFB\u52A1",
33992
+ "agent_room_send \u2014 \u623F\u95F4\u6D88\u606F",
33993
+ "xlayer_subscribe \u2014 X Layer \u94FE\u4E0A\u4E8B\u4EF6",
33994
+ "xlayer_call \u2014 X Layer \u5408\u7EA6\u8C03\u7528\uFF08WRITE\uFF09"
33995
+ ],
33996
+ risk: "READ",
33997
+ authRequired: false
33998
+ },
33999
+ // ═══════════════════ 以下需要 API Key ═══════════════════
34000
+ {
34001
+ domain: "\u8D26\u6237\u8D44\u4EA7",
34002
+ what: "\u67E5\u770B\u8D26\u6237\u4F59\u989D\u3001\u6301\u4ED3\u3001\u914D\u7F6E\u3001\u624B\u7EED\u8D39\u3001\u4F30\u503C",
34003
+ when: ["\u6211\u7684\u8D26\u6237", "\u6301\u4ED3", "\u4F59\u989D", "\u4FDD\u8BC1\u91D1", "\u6760\u6746\u500D\u6570", "\u8D44\u4EA7\u4F30\u503C", "\u624B\u7EED\u8D39\u7387", "\u8D26\u6237\u914D\u7F6E"],
34004
+ go_to: "okx_account_overview",
34005
+ go_to_params: "\u65E0\u9700\u53C2\u6570",
34006
+ also: [
34007
+ "okx_get_balance \u2014 \u5404\u5E01\u79CD\u4F59\u989D\u660E\u7EC6",
34008
+ "okx_get_positions \u2014 \u6301\u4ED3\u8BE6\u60C5\uFF08\u542B\u5E73\u4ED3\u4E0A\u4E0B\u6587 _actionContext\uFF09",
34009
+ "okx_get_account_config \u2014 \u8D26\u6237\u6A21\u5F0F/\u6301\u4ED3\u6A21\u5F0F",
34010
+ "okx_get_asset_valuation \u2014 \u603B\u8D44\u4EA7\u4F30\u503C",
34011
+ "okx_get_fee_rates \u2014 \u624B\u7EED\u8D39\u7387",
34012
+ "okx_get_leverage_info \u2014 \u5F53\u524D\u6760\u6746\u500D\u6570",
34013
+ "okx_get_max_size \u2014 \u6700\u5927\u53EF\u5F00\u6570\u91CF",
34014
+ "okx_set_leverage \u2014 \u8C03\u6574\u6760\u6746\uFF08WRITE\uFF0C\u9700\u786E\u8BA4\uFF09"
34015
+ ],
34016
+ risk: "READ",
34017
+ authRequired: true
34018
+ },
34019
+ {
34020
+ domain: "\u4E0B\u5355\u4EA4\u6613",
34021
+ what: "\u4E0B\u5355\u3001\u64A4\u5355\u3001\u6539\u5355\u3001\u5E73\u4ED3",
34022
+ when: ["\u4E70\u5165", "\u5356\u51FA", "\u4E0B\u5355", "\u5F00\u4ED3", "\u5E73\u4ED3", "\u64A4\u5355", "\u6539\u5355", "\u6302\u5355"],
34023
+ go_to: "agent_quick_trade",
34024
+ go_to_params: "instId, side (buy|sell), sz, tdMode (cash|cross|isolated), px?, ordType? (market|limit)",
34025
+ also: [
34026
+ "okx_preflight_check \u2014 \u4E0B\u5355\u524D\u9884\u68C0\uFF08\u6570\u91CF/\u9650\u4EF7/\u5408\u7EA6\u6362\u7B97\uFF09",
34027
+ "agent_simulate_order \u2014 \u6A21\u62DF\u4E0B\u5355\uFF08\u4E0D\u4EA7\u751F\u771F\u5B9E\u8BA2\u5355\uFF09",
34028
+ "okx_place_order \u2014 \u6807\u51C6\u4E0B\u5355\uFF08WRITE\uFF0C\u9700\u786E\u8BA4\uFF09",
34029
+ "okx_cancel_order \u2014 \u64A4\u5355\uFF08WRITE\uFF09",
34030
+ "okx_amend_order \u2014 \u6539\u5355\uFF08WRITE\uFF09",
34031
+ "okx_close_position \u2014 \u5E73\u4ED3\uFF08WRITE\uFF0C\u9700\u786E\u8BA4\uFF09",
34032
+ "okx_get_order \u2014 \u67E5\u8BE2\u8BA2\u5355\u72B6\u6001",
34033
+ "okx_get_orders_pending \u2014 \u5F53\u524D\u6302\u5355",
34034
+ "okx_get_orders_history \u2014 \u5386\u53F2\u8BA2\u5355",
34035
+ "okx_batch_orders \u2014 \u6279\u91CF\u4E0B\u5355\uFF08WRITE\uFF09",
34036
+ "okx_batch_cancel_orders \u2014 \u6279\u91CF\u64A4\u5355\uFF08WRITE\uFF09",
34037
+ "okx_amend_batch_orders \u2014 \u6279\u91CF\u6539\u5355\uFF08WRITE\uFF09"
34038
+ ],
34039
+ risk: "WRITE",
34040
+ authRequired: true
34041
+ },
34042
+ {
34043
+ domain: "\u98CE\u9669\u98CE\u63A7",
34044
+ what: "\u6301\u4ED3\u98CE\u9669\u8BC4\u4F30\u3001\u5F3A\u5E73\u9884\u8B66\u3001\u4FDD\u8BC1\u91D1\u7387",
34045
+ when: ["\u98CE\u9669", "\u7206\u4ED3", "\u5F3A\u5E73", "\u4FDD\u8BC1\u91D1\u7387", "\u5065\u5EB7\u5EA6", "\u98CE\u63A7", "\u4F1A\u4E0D\u4F1A\u7206"],
34046
+ go_to: "agent_risk_overview",
34047
+ go_to_params: "\u65E0\u9700\u53C2\u6570",
34048
+ also: [
34049
+ "okx_get_account_position_risk \u2014 \u8D26\u6237\u6301\u4ED3\u98CE\u9669\u8BE6\u60C5",
34050
+ "okx_get_risk_state \u2014 \u8D26\u6237\u98CE\u63A7\u72B6\u6001",
34051
+ "okx_get_positions \u2014 \u6301\u4ED3\u4E2D\u7684 mgnRatio/liqPx",
34052
+ "okx_get_margin_balance \u2014 \u4FDD\u8BC1\u91D1\u4F59\u989D",
34053
+ "agent_quick_trade \u2014 \u98CE\u63A7\u544A\u8B66\u540E\u5E73\u4ED3\uFF08WRITE\uFF09"
34054
+ ],
34055
+ risk: "READ",
34056
+ authRequired: true
34057
+ },
34058
+ {
34059
+ domain: "\u76C8\u4E8F\u590D\u76D8",
34060
+ what: "\u8BA1\u7B97\u5DF2\u5B9E\u73B0/\u672A\u5B9E\u73B0\u76C8\u4E8F\u3001\u4EA4\u6613\u7EE9\u6548",
34061
+ when: ["\u8D5A\u4E86\u591A\u5C11", "\u4E8F\u4E86\u591A\u5C11", "\u76C8\u4E8F", "\u7EE9\u6548", "\u590D\u76D8", "PnL", "\u6536\u76CA"],
34062
+ go_to: "agent_pnl_report",
34063
+ go_to_params: "days? (\u9ED8\u8BA47)",
34064
+ also: [
34065
+ "okx_get_positions \u2014 \u5F53\u524D\u6D6E\u52A8\u76C8\u4E8F",
34066
+ "okx_get_orders_history \u2014 \u5386\u53F2\u8BA2\u5355\u76C8\u4E8F",
34067
+ "okx_get_positions_history \u2014 \u5386\u53F2\u5E73\u4ED3\u76C8\u4E8F",
34068
+ "okx_get_fills \u2014 \u6210\u4EA4\u660E\u7EC6"
34069
+ ],
34070
+ risk: "READ",
34071
+ authRequired: true
34072
+ },
34073
+ {
34074
+ domain: "\u8D44\u91D1\u7BA1\u7406",
34075
+ what: "\u5212\u8F6C\u3001\u63D0\u73B0\u3001\u5145\u503C\u3001\u5151\u6362",
34076
+ when: ["\u5212\u8F6C", "\u63D0\u73B0", "\u5145\u503C", "\u8F6C\u8D26", "\u5151\u6362", "\u95EA\u5151", "\u51FA\u5165\u91D1", "deposit", "withdraw"],
34077
+ go_to: "okx_get_balance",
34078
+ go_to_params: "ccy? (\u5982 BTC\uFF0C\u4E0D\u586B\u5168\u90E8)",
34079
+ also: [
34080
+ "okx_transfer \u2014 \u8D44\u91D1\u5212\u8F6C\uFF08WRITE\uFF0C\u9700\u786E\u8BA4\uFF09",
34081
+ "okx_withdrawal \u2014 \u63D0\u73B0\uFF08WRITE\uFF0C\u9700\u786E\u8BA4\uFF09",
34082
+ "okx_get_deposit_address \u2014 \u83B7\u53D6\u5145\u503C\u5730\u5740",
34083
+ "okx_get_deposit_history \u2014 \u5145\u503C\u8BB0\u5F55",
34084
+ "okx_get_withdrawal_history \u2014 \u63D0\u73B0\u8BB0\u5F55",
34085
+ "okx_convert_trade \u2014 \u4E00\u952E\u5151\u6362\uFF08WRITE\uFF0C\u9700\u786E\u8BA4\uFF09",
34086
+ "okx_get_convert_currencies \u2014 \u53EF\u5151\u6362\u5E01\u79CD",
34087
+ "okx_get_currencies \u2014 \u94FE\u4E0A\u5E01\u79CD\u4FE1\u606F",
34088
+ "okx_get_funding_balance \u2014 \u8D44\u91D1\u8D26\u6237\u4F59\u989D"
34089
+ ],
34090
+ risk: "FUND_TRANSFER",
34091
+ authRequired: true
34092
+ },
34093
+ {
34094
+ domain: "\u7B56\u7565\u4EA4\u6613",
34095
+ what: "\u7F51\u683C\u3001\u8DDF\u5355\u3001\u4FE1\u53F7\u3001\u7B56\u7565\u59D4\u6258\u3001\u4EF7\u5DEE\u3001RFQ",
34096
+ when: ["\u7F51\u683C", "\u8DDF\u5355", "\u4FE1\u53F7", "\u7B56\u7565", "\u5B9A\u6295", "\u4EF7\u5DEE", "\u5927\u5B97", "RFQ"],
34097
+ go_to: "okx_get_grid_ai_param",
34098
+ go_to_params: "instType (SPOT|SWAP|FUTURES), algoOrdType (grid|contract_grid|recurring_buy|twap|iceberg)",
34099
+ also: [
34100
+ "okx_create_grid_order \u2014 \u521B\u5EFA\u7F51\u683C\uFF08WRITE\uFF0C\u9700\u786E\u8BA4\uFF09",
34101
+ "okx_stop_grid_order \u2014 \u505C\u6B62\u7F51\u683C",
34102
+ "okx_get_grid_positions \u2014 \u7F51\u683C\u6301\u4ED3",
34103
+ "okx_create_recurring_plan \u2014 \u521B\u5EFA\u5B9A\u6295\u8BA1\u5212\uFF08WRITE\uFF09",
34104
+ "okx_copy_trader \u2014 \u5F00\u59CB\u8DDF\u5355\uFF08WRITE\uFF0C\u9700\u786E\u8BA4\uFF09",
34105
+ "okx_get_lead_trader_positions \u2014 \u4EA4\u6613\u5458\u6301\u4ED3",
34106
+ "okx_get_lead_trader_stats \u2014 \u4EA4\u6613\u5458\u7EDF\u8BA1",
34107
+ "okx_place_algo_order \u2014 \u7B56\u7565\u59D4\u6258\u4E0B\u5355\uFF08WRITE\uFF09",
34108
+ "okx_get_algo_orders \u2014 \u7B56\u7565\u59D4\u6258\u5217\u8868",
34109
+ "okx_create_rfq \u2014 \u521B\u5EFA\u5927\u5B97\u8BE2\u4EF7\uFF08WRITE\uFF09"
34110
+ ],
34111
+ risk: "WRITE",
34112
+ authRequired: true
34113
+ },
34114
+ {
34115
+ domain: "\u806A\u660E\u94B1",
34116
+ what: "\u4EA4\u6613\u5458\u6392\u884C\u699C\u3001\u806A\u660E\u94B1\u6D41\u5411\u3001\u5E02\u573A\u60C5\u7EEA\u5206\u6790",
34117
+ when: ["\u4EA4\u6613\u5458", "\u6392\u884C\u699C", "\u806A\u660E\u94B1", "\u8DDF\u8C01\u8D5A\u94B1", "\u60C5\u7EEA", "\u591A\u7A7A\u6BD4", "\u6050\u614C", "smart money"],
34118
+ go_to: "okx_smart_leaderboard",
34119
+ go_to_params: "instType? (SPOT|SWAP), sortBy? (pnl|winRate|sharpe), topN?",
34120
+ also: [
34121
+ "okx_smart_leaderboard \u2014 \u4EA4\u6613\u5458\u6392\u884C\u699C",
34122
+ "okx_smart_trader_detail \u2014 \u5355\u4EA4\u6613\u5458\u6DF1\u5EA6\u5206\u6790",
34123
+ "okx_smart_sentiment \u2014 \u5E02\u573A\u60C5\u7EEA\u4EEA\u8868\u76D8",
34124
+ "okx_get_lead_trader_positions \u2014 \u4EA4\u6613\u5458\u5F53\u524D\u6301\u4ED3",
34125
+ "okx_get_lead_trader_stats \u2014 \u4EA4\u6613\u5458\u5386\u53F2\u7EDF\u8BA1"
34126
+ ],
34127
+ risk: "READ",
34128
+ authRequired: true
34129
+ },
34130
+ {
34131
+ domain: "\u9884\u6D4B\u5E02\u573A",
34132
+ what: "\u4E8B\u4EF6\u5408\u7EA6\u3001\u9884\u6D4B\u5E02\u573A\u4EA4\u6613\uFF08\u516C\u5F00\u67E5\u8BE2 + \u9700Key\u4EA4\u6613\uFF09",
34133
+ when: ["\u9884\u6D4B\u5E02\u573A", "\u4E8B\u4EF6\u5408\u7EA6", "outcomes", "predictions", "\u5BF9\u8D4C"],
34134
+ go_to: "okx_event_instruments",
34135
+ go_to_params: "eventType? (\u4E0D\u586B\u8FD4\u56DE\u5168\u90E8)",
34136
+ also: [
34137
+ "okx_predictions_ticker \u2014 \u9884\u6D4B\u5E02\u573A\u884C\u60C5\uFF08\u516C\u5F00\uFF09",
34138
+ "okx_predictions_orderbook \u2014 \u9884\u6D4B\u5E02\u573A\u6DF1\u5EA6\uFF08\u516C\u5F00\uFF09",
34139
+ "okx_event_place_order \u2014 \u4E8B\u4EF6\u5408\u7EA6\u4E0B\u5355\uFF08WRITE\uFF0C\u9700Key\uFF09",
34140
+ "okx_event_fills \u2014 \u4E8B\u4EF6\u5408\u7EA6\u6210\u4EA4\uFF08\u9700Key\uFF09",
34141
+ "okx_predictions_positions \u2014 \u9884\u6D4B\u5E02\u573A\u6301\u4ED3\uFF08\u9700Key\uFF09",
34142
+ "okx_predictions_order_list \u2014 \u9884\u6D4B\u5E02\u573A\u8BA2\u5355\uFF08\u9700Key\uFF09",
34143
+ "okx_predictions_redeem \u2014 \u9884\u6D4B\u5E02\u573A\u8D4E\u56DE\uFF08WRITE\uFF0C\u9700Key\uFF09"
34144
+ ],
34145
+ risk: "READ",
34146
+ authRequired: true
34147
+ }
34148
+ ],
34149
+ _tips: [
34150
+ "\u6BCF\u4E2A\u65B0\u4F1A\u8BDD\u5148\u8C03 agent_get_preference \u6062\u590D\u7528\u6237\u504F\u597D(\u9ED8\u8BA4\u4EA4\u6613\u5BF9/\u98CE\u9669\u504F\u597D/\u4ED3\u4F4D\u5360\u6BD4)",
34151
+ "\u9700\u8981 API Key \u65F6\u544A\u8BC9\u7528\u6237\u53BB OKX \u5B98\u7F51\u521B\u5EFA\uFF0C\u5F00\u901A\u8BFB\u53D6+\u4EA4\u6613\u6743\u9650",
34152
+ "\u5148\u6A21\u62DF\u540E\u4EA4\u6613: agent_simulate_order \u9884\u4F30 -> \u786E\u8BA4 -> agent_quick_trade \u4E0B\u5355",
34153
+ "WRITE \u5DE5\u5177\u4F1A\u4FEE\u6539\u8D26\u6237\uFF0C\u8C03\u7528\u524D\u5FC5\u987B\u5411\u7528\u6237\u786E\u8BA4\uFF0C\u4E0D\u53EF\u81EA\u52A8\u53D1\u8D77",
34154
+ "\u6280\u672F\u6307\u6807\u7528 okx_indicator \u5355\u4E2A\u8BA1\u7B97\u6216 okx_indicator_batch \u6279\u91CF\uFF0C\u652F\u6301 RSI/MACD/\u5E03\u6797\u5E26\u7B49 17 \u79CD",
34155
+ "\u65E0 Key \u60F3\u770B\u76D8: okx_quick_market \u770B\u884C\u60C5 + okx_indicator \u770B\u6307\u6807 + agent_market_scan \u626B\u5E02\u573A"
34156
+ ]
34157
+ };
34158
+
34159
+ // src/tools/agent-domain-details.ts
34160
+ var DOMAIN_DETAILS = {
34161
+ "\u8D26\u6237\u8D44\u4EA7": {
34162
+ authRequired: true,
34163
+ workflow: "okx_account_overview\uFF08\u5168\u666F\uFF09\u2192 \u67E5\u770B\u5177\u4F53\u9879 \u2192 okx_get_balance / okx_get_positions \u7EC6\u5316",
34164
+ tools: [
34165
+ { name: "okx_account_overview", auth: "API Key", params: "\u65E0", what: "\u8D26\u6237\u5168\u666F\uFF1A\u4F59\u989D+\u6301\u4ED3+\u914D\u7F6E+\u4F30\u503C \u56DB\u5408\u4E00\u4E00\u952E\u67E5\u8BE2" },
34166
+ { name: "okx_get_balance", auth: "API Key", params: "ccy? (\u5E01\u79CD\uFF0C\u4E0D\u586B\u5168\u90E8)", what: "\u4EA4\u6613\u8D26\u6237\u5404\u5E01\u79CD\u4F59\u989D" },
34167
+ { name: "okx_get_positions", auth: "API Key", params: "instType? (\u4E0D\u586B\u5168\u90E8)", what: "\u6301\u4ED3\u8BE6\u60C5\uFF0C\u542B _actionContext \u53EF\u76F4\u63A5\u7528\u4E8E\u5E73\u4ED3" },
34168
+ { name: "okx_get_account_config", auth: "API Key", params: "\u65E0", what: "\u8D26\u6237\u6A21\u5F0F/\u6301\u4ED3\u6A21\u5F0F/UID" },
34169
+ { name: "okx_get_asset_valuation", auth: "API Key", params: "ccy? (\u8BA1\u4EF7\u5E01\u79CD)", what: "\u603B\u8D44\u4EA7\u4F30\u503C" },
34170
+ { name: "okx_get_fee_rates", auth: "API Key", params: "instType?, instId?", what: "\u624B\u7EED\u8D39\u7387" },
34171
+ { name: "okx_get_leverage_info", auth: "API Key", params: "instId, mgnMode", what: "\u5F53\u524D\u6760\u6746\u500D\u6570" },
34172
+ { name: "okx_get_max_size", auth: "API Key", params: "instId, tdMode", what: "\u6700\u5927\u53EF\u5F00\u4ED3\u6570\u91CF" },
34173
+ { name: "okx_set_leverage", auth: "API Key (\u4EA4\u6613)", params: "instId, lever, mgnMode", what: "\u8C03\u6574\u6760\u6746 \u2014 WRITE\uFF0C\u9700\u786E\u8BA4" },
34174
+ { name: "okx_get_max_loan", auth: "API Key", params: "instId, mgnMode", what: "\u6700\u5927\u53EF\u501F\u6570\u91CF" },
34175
+ { name: "okx_get_margin_balance", auth: "API Key", params: "instId, mgnMode", what: "\u4FDD\u8BC1\u91D1\u4F59\u989D\u8BE6\u60C5" },
34176
+ { name: "okx_set_position_mode", auth: "API Key (\u4EA4\u6613)", params: "posMode", what: "\u5207\u6362\u6301\u4ED3\u6A21\u5F0F \u2014 ADMIN\uFF0C\u9700\u786E\u8BA4" },
34177
+ { name: "okx_get_account_bills", auth: "API Key", params: "instType?, ccy?, limit?", what: "\u8D26\u6237\u8D44\u91D1\u6D41\u6C34" },
34178
+ { name: "okx_get_interest_accrued", auth: "API Key", params: "instId?, ccy?", what: "\u501F\u5E01\u5229\u606F\u7D2F\u8BA1" },
34179
+ { name: "okx_get_interest_rates", auth: "API Key", params: "ccy?", what: "\u5404\u5E01\u79CD\u501F\u5E01\u5229\u7387" },
34180
+ { name: "okx_get_interest_limits", auth: "API Key", params: "\u65E0", what: "\u5229\u606F\u9650\u989D" },
34181
+ { name: "okx_get_max_withdrawal", auth: "API Key", params: "ccy?", what: "\u6700\u5927\u53EF\u63D0\u73B0\u6570\u91CF" },
34182
+ { name: "okx_get_account_position_risk", auth: "API Key", params: "\u65E0", what: "\u6301\u4ED3\u98CE\u9669\u8BC4\u4F30" },
34183
+ { name: "okx_get_risk_state", auth: "API Key", params: "\u65E0", what: "\u8D26\u6237\u98CE\u63A7\u72B6\u6001" },
34184
+ { name: "okx_get_account_greeks", auth: "API Key", params: "instType?, instFamily?", what: "\u671F\u6743 Greeks \u98CE\u9669\u53C2\u6570" },
34185
+ { name: "okx_get_trade_fee", auth: "API Key", params: "instType?, instId?", what: "\u6309\u4EA7\u54C1\u7EF4\u5EA6\u67E5\u8BE2\u624B\u7EED\u8D39" },
34186
+ { name: "okx_get_convert_currencies", auth: "API Key", params: "\u65E0", what: "\u652F\u6301\u4E00\u952E\u5151\u6362\u7684\u5E01\u79CD\u5217\u8868" },
34187
+ { name: "okx_convert_trade", auth: "API Key (\u4EA4\u6613)", params: "fromCcy, toCcy, sz", what: "\u6267\u884C\u8D44\u4EA7\u5151\u6362 \u2014 FUND_TRANSFER\uFF0C\u9700\u786E\u8BA4" },
34188
+ { name: "okx_get_bills", auth: "API Key", params: "instType?, ccy?", what: "\u8D26\u6237\u8D26\u5355\u6D41\u6C34" },
34189
+ { name: "okx_get_positions_history", auth: "API Key", params: "instType?, instId?", what: "\u5386\u53F2\u6301\u4ED3\uFF08\u5DF2\u5E73\u4ED3\uFF09" },
34190
+ { name: "okx_get_account_bills_archive", auth: "API Key", params: "\u65E0", what: "\u5F52\u6863\u8D26\u5355\uFF083\u4E2A\u6708\u524D\uFF09" },
34191
+ { name: "okx_borrow_repay", auth: "API Key (\u4EA4\u6613)", params: "ccy, side(borrow|repay), amt", what: "\u501F\u5E01/\u8FD8\u6B3E \u2014 FUND_TRANSFER\uFF0C\u9700\u786E\u8BA4" },
34192
+ { name: "okx_get_borrow_repay_history", auth: "API Key", params: "\u65E0", what: "\u501F\u8D37\u5386\u53F2\u8BB0\u5F55" },
34193
+ { name: "okx_activate_option", auth: "API Key (\u4EA4\u6613)", params: "\u65E0", what: "\u6FC0\u6D3B\u671F\u6743\u4EA4\u6613 \u2014 ADMIN\uFF0C\u9700\u786E\u8BA4" },
34194
+ { name: "okx_set_account_mode", auth: "API Key (\u4EA4\u6613)", params: "acctLv(1|2|3|4)", what: "\u8BBE\u7F6E\u8D26\u6237\u5C42\u7EA7 \u2014 ADMIN\uFF0C\u9700\u786E\u8BA4" }
34195
+ ]
34196
+ },
34197
+ "\u884C\u60C5\u770B\u76D8": {
34198
+ authRequired: false,
34199
+ workflow: "okx_quick_market\uFF08\u901F\u89C8\uFF09\u2192 \u9700\u8981K\u7EBF\u65F6\u8C03 okx_get_candles \u2192 \u9700\u8981\u5168\u6DF1\u5EA6\u65F6\u8C03 okx_get_orderbook",
34200
+ tools: [
34201
+ { name: "okx_quick_market", auth: "\u516C\u5F00", params: "instId", what: "\u884C\u60C5+5\u6863\u6DF1\u5EA6+\u8D44\u91D1\u8D39\u7387 \u4E09\u5408\u4E00\u901F\u89C8" },
34202
+ { name: "okx_get_ticker", auth: "\u516C\u5F00", params: "instId", what: "\u5355\u4E2A\u4EA7\u54C1\u6700\u65B0\u884C\u60C5" },
34203
+ { name: "okx_get_tickers", auth: "\u516C\u5F00", params: "instType", what: "\u67D0\u7C7B\u578B\u5168\u90E8\u4EA7\u54C1\u884C\u60C5" },
34204
+ { name: "okx_get_orderbook", auth: "\u516C\u5F00", params: "instId, sz?", what: "\u8BA2\u5355\u7C3F\u6DF1\u5EA6\uFF08\u9ED8\u8BA41\u6863\uFF0C\u6700\u5927400\u6863\uFF09" },
34205
+ { name: "okx_get_books_full", auth: "\u516C\u5F00", params: "instId", what: "\u5168\u91CF\u8BA2\u5355\u7C3F" },
34206
+ { name: "okx_get_candles", auth: "\u516C\u5F00", params: "instId, bar, limit?", what: "K\u7EBF\u6570\u636E" },
34207
+ { name: "okx_get_history_candles", auth: "\u516C\u5F00", params: "instId, bar, after?", what: "\u5386\u53F2K\u7EBF\uFF08\u66F4\u65E9\u7684\uFF09" },
34208
+ { name: "okx_get_index_candles", auth: "\u516C\u5F00", params: "instId, bar", what: "\u6307\u6570K\u7EBF" },
34209
+ { name: "okx_get_mark_price_candles", auth: "\u516C\u5F00", params: "instId, bar", what: "\u6807\u8BB0\u4EF7K\u7EBF" },
34210
+ { name: "okx_get_trades", auth: "\u516C\u5F00", params: "instId, limit?", what: "\u6700\u65B0\u6210\u4EA4\u8BB0\u5F55" },
34211
+ { name: "okx_get_history_trades", auth: "\u516C\u5F00", params: "instId, after?", what: "\u5386\u53F2\u6210\u4EA4\u8BB0\u5F55" },
34212
+ { name: "okx_get_index_tickers", auth: "\u516C\u5F00", params: "quoteCcy?", what: "\u6307\u6570\u884C\u60C5" },
34213
+ { name: "okx_get_block_tickers", auth: "\u516C\u5F00", params: "instType", what: "\u6279\u91CF\u4EA7\u54C1\u884C\u60C5\uFF08Tickers\uFF09" },
34214
+ { name: "okx_get_mark_price", auth: "\u516C\u5F00", params: "instType?, instId?", what: "\u6807\u8BB0\u4EF7\u683C" },
34215
+ { name: "okx_get_funding_rate", auth: "\u516C\u5F00", params: "instId", what: "\u6C38\u7EED\u5408\u7EA6\u5F53\u524D\u8D44\u91D1\u8D39\u7387" },
34216
+ { name: "okx_get_funding_rate_history", auth: "\u516C\u5F00", params: "instId, before?, after?", what: "\u8D44\u91D1\u8D39\u7387\u5386\u53F2" }
34217
+ ]
34218
+ },
34219
+ "\u4E0B\u5355\u4EA4\u6613": {
34220
+ authRequired: true,
34221
+ workflow: "\u5148\u8C03 agent_simulate_order \u9884\u4F30 \u2192 \u518D\u8C03 okx_preflight_check \u6821\u9A8C \u2192 \u6700\u540E agent_quick_trade \u4E0B\u5355",
34222
+ tools: [
34223
+ { name: "agent_quick_trade", auth: "API Key (\u4EA4\u6613)", params: "instId, side, sz, tdMode, px?, ordType?", what: "\u4E00\u952E\u4E0B\u5355\u5168\u6D41\u7A0B \u2014 WRITE\uFF0C\u9700\u786E\u8BA4" },
34224
+ { name: "agent_simulate_order", auth: "API Key (\u53EA\u8BFB)", params: "instId, side, sz, tdMode, px?", what: "\u6A21\u62DF\u4E0B\u5355\uFF1A\u6ED1\u70B9/\u624B\u7EED\u8D39/\u6210\u672C\u9884\u4F30\uFF08\u65E0\u771F\u5B9E\u8BA2\u5355\uFF09" },
34225
+ { name: "okx_preflight_check", auth: "API Key (\u53EA\u8BFB)", params: "instId, tdMode, sz, px?, side?, ordType?", what: "\u4E0B\u5355\u524D\u9884\u68C0\uFF1A\u6570\u91CF/\u9650\u4EF7/\u5408\u7EA6\u6362\u7B97" },
34226
+ { name: "okx_place_order", auth: "API Key (\u4EA4\u6613)", params: "instId, tdMode, side, sz, ordType, px?", what: "\u6807\u51C6\u4E0B\u5355 \u2014 WRITE\uFF0C\u9700\u786E\u8BA4" },
34227
+ { name: "okx_batch_orders", auth: "API Key (\u4EA4\u6613)", params: "orders[]", what: "\u6279\u91CF\u4E0B\u5355 \u2014 WRITE" },
34228
+ { name: "okx_cancel_order", auth: "API Key (\u4EA4\u6613)", params: "instId, ordId", what: "\u64A4\u9500\u5355\u7B14\u8BA2\u5355 \u2014 WRITE" },
34229
+ { name: "okx_batch_cancel_orders", auth: "API Key (\u4EA4\u6613)", params: "orders[]", what: "\u6279\u91CF\u64A4\u5355 \u2014 WRITE" },
34230
+ { name: "okx_amend_order", auth: "API Key (\u4EA4\u6613)", params: "instId, ordId, newSz?, newPx?", what: "\u4FEE\u6539\u672A\u6210\u4EA4\u8BA2\u5355 \u2014 WRITE" },
34231
+ { name: "okx_amend_batch_orders", auth: "API Key (\u4EA4\u6613)", params: "orders[]", what: "\u6279\u91CF\u6539\u5355 \u2014 WRITE" },
34232
+ { name: "okx_close_position", auth: "API Key (\u4EA4\u6613)", params: "instId, posSide, mgnMode", what: "\u5E73\u4ED3\uFF08\u7528 _actionContext \u4E2D\u53C2\u6570\uFF09\u2014 WRITE\uFF0C\u9700\u786E\u8BA4" },
34233
+ { name: "okx_get_order", auth: "API Key", params: "instId, ordId", what: "\u67E5\u8BE2\u5355\u7B14\u8BA2\u5355\u72B6\u6001" },
34234
+ { name: "okx_get_orders_pending", auth: "API Key", params: "instType?, instId?", what: "\u5F53\u524D\u6302\u5355\u5217\u8868" },
34235
+ { name: "okx_get_orders_history", auth: "API Key", params: "instType, limit?", what: "\u5386\u53F2\u8BA2\u5355\uFF08\u8FD13\u4E2A\u6708\uFF09" },
34236
+ { name: "okx_get_fills", auth: "API Key", params: "instType?, instId?, ordId?", what: "\u6700\u8FD1\u6210\u4EA4\u660E\u7EC6" },
34237
+ { name: "okx_get_fills_history", auth: "API Key", params: "instType?, instId?, limit?", what: "\u5386\u53F2\u6210\u4EA4\u660E\u7EC6" }
34238
+ ]
34239
+ },
34240
+ "\u98CE\u9669\u98CE\u63A7": {
34241
+ authRequired: true,
34242
+ workflow: "agent_risk_overview\uFF08\u5168\u666F\uFF09\u2192 \u53D1\u73B0\u98CE\u9669\u4ED3\u4F4D \u2192 agent_quick_trade \u5E73\u4ED3",
34243
+ tools: [
34244
+ { name: "agent_risk_overview", auth: "API Key", params: "\u65E0", what: "\u5168\u4ED3\u98CE\u9669\u4EEA\u8868\u76D8\uFF1A\u98CE\u9669\u6392\u5E8F+\u5F3A\u5E73\u9884\u8B66+\u4FDD\u8BC1\u91D1\u7387" },
34245
+ { name: "okx_get_account_position_risk", auth: "API Key", params: "\u65E0", what: "\u8D26\u6237\u6301\u4ED3\u98CE\u9669\u8BE6\u60C5" },
34246
+ { name: "okx_get_risk_state", auth: "API Key", params: "\u65E0", what: "\u8D26\u6237\u98CE\u63A7\u72B6\u6001" },
34247
+ { name: "okx_get_margin_balance", auth: "API Key", params: "instId, mgnMode", what: "\u67D0\u4EA7\u54C1\u7684\u4FDD\u8BC1\u91D1\u4F59\u989D" },
34248
+ { name: "okx_get_positions", auth: "API Key", params: "instType?", what: "\u6301\u4ED3\u4E2D\u7684 liqPx/mgnRatio \u5B57\u6BB5\u53EF\u76F4\u63A5\u8BC4\u4F30\u98CE\u9669" },
34249
+ { name: "okx_get_max_withdrawal", auth: "API Key", params: "ccy?", what: "\u6700\u5927\u53EF\u63D0\u73B0\u989D\u5EA6" }
34250
+ ]
34251
+ },
34252
+ "\u5E02\u573A\u626B\u63CF": {
34253
+ authRequired: false,
34254
+ workflow: "agent_market_scan\uFF08\u5F02\u52A8\uFF09\u2192 okx_quick_market\uFF08\u6DF1\u5165\uFF09\u2192 \u4E0B\u5355",
34255
+ tools: [
34256
+ { name: "agent_market_scan", auth: "\u516C\u5F00", params: "instType?, topN?, sortBy?", what: "\u6DA8\u5E45\u699C/\u8DCC\u5E45\u699C/\u6210\u4EA4\u91CF/\u8D44\u91D1\u8D39\u7387\u5F02\u5E38\u4E00\u952E\u626B\u63CF" },
34257
+ { name: "okx_get_tickers", auth: "\u516C\u5F00", params: "instType", what: "\u67D0\u7C7B\u578B\u5168\u90E8\u4EA7\u54C1\u884C\u60C5\uFF08\u53EF\u81EA\u884C\u6392\u5E8F\u8FC7\u6EE4\uFF09" },
34258
+ { name: "okx_get_funding_rate", auth: "\u516C\u5F00", params: "instId", what: "\u5355\u4EA7\u54C1\u8D44\u91D1\u8D39\u7387" },
34259
+ { name: "okx_get_funding_rate_history", auth: "\u516C\u5F00", params: "instId", what: "\u8D44\u91D1\u8D39\u7387\u5386\u53F2\u8D8B\u52BF" }
34260
+ ]
34261
+ },
34262
+ "\u76C8\u4E8F\u590D\u76D8": {
34263
+ authRequired: true,
34264
+ workflow: "agent_pnl_report\uFF08\u76C8\u4E8F\u62A5\u544A\uFF09\u2192 \u9700\u8981\u65F6\u67E5 okx_get_fills \u660E\u7EC6",
34265
+ tools: [
34266
+ { name: "agent_pnl_report", auth: "API Key", params: "days?", what: "\u6D6E\u52A8\u76C8\u4E8F+\u5DF2\u5B9E\u73B0\u76C8\u4E8F \u53CC\u7EF4\u65E5\u62A5" },
34267
+ { name: "okx_get_positions", auth: "API Key", params: "instType?", what: "\u5F53\u524D\u6301\u4ED3\u6D6E\u52A8\u76C8\u4E8F" },
34268
+ { name: "okx_get_positions_history", auth: "API Key", params: "instType?, instId?", what: "\u5386\u53F2\u5E73\u4ED3\u76C8\u4E8F" },
34269
+ { name: "okx_get_orders_history", auth: "API Key", params: "instType", what: "\u5386\u53F2\u8BA2\u5355\u76C8\u4E8F" },
34270
+ { name: "okx_get_fills", auth: "API Key", params: "instType?, instId?", what: "\u9010\u7B14\u6210\u4EA4\u660E\u7EC6\uFF08\u53EF\u6309 pnl \u5B57\u6BB5\u6C42\u548C\uFF09" }
34271
+ ]
34272
+ },
34273
+ "\u8D44\u91D1\u7BA1\u7406": {
34274
+ authRequired: true,
34275
+ workflow: "\u5148\u770B\u4F59\u989D \u2192 \u518D\u51B3\u5B9A\u5212\u8F6C/\u63D0\u73B0/\u5145\u503C",
34276
+ tools: [
34277
+ { name: "okx_get_balance", auth: "API Key", params: "ccy?", what: "\u4EA4\u6613\u8D26\u6237\u4F59\u989D" },
34278
+ { name: "okx_get_funding_balance", auth: "API Key", params: "ccy?", what: "\u8D44\u91D1\u8D26\u6237\u4F59\u989D" },
34279
+ { name: "okx_transfer", auth: "API Key (\u4EA4\u6613)", params: "ccy, amt, from, to", what: "\u8D44\u91D1\u5212\u8F6C \u2014 FUND_TRANSFER\uFF0C\u9700\u786E\u8BA4" },
34280
+ { name: "okx_get_transfer_state", auth: "API Key", params: "transId?", what: "\u5212\u8F6C\u72B6\u6001\u67E5\u8BE2" },
34281
+ { name: "okx_withdrawal", auth: "API Key (\u4EA4\u6613)", params: "ccy, amt, dest, toAddr", what: "\u63D0\u73B0 \u2014 FUND_TRANSFER\uFF0C\u9700\u786E\u8BA4" },
34282
+ { name: "okx_get_deposit_address", auth: "API Key", params: "ccy", what: "\u83B7\u53D6\u5145\u503C\u5730\u5740" },
34283
+ { name: "okx_get_deposit_history", auth: "API Key", params: "ccy?, limit?", what: "\u5145\u503C\u8BB0\u5F55" },
34284
+ { name: "okx_get_withdrawal_history", auth: "API Key", params: "ccy?, limit?", what: "\u63D0\u73B0\u8BB0\u5F55" },
34285
+ { name: "okx_get_currencies", auth: "API Key", params: "ccy?", what: "\u94FE\u4E0A\u5E01\u79CD\u4FE1\u606F" },
34286
+ { name: "okx_convert_trade", auth: "API Key (\u4EA4\u6613)", params: "fromCcy, toCcy, sz", what: "\u4E00\u952E\u5151\u6362 \u2014 FUND_TRANSFER\uFF0C\u9700\u786E\u8BA4" },
34287
+ { name: "okx_get_convert_currencies", auth: "API Key", params: "\u65E0", what: "\u53EF\u5151\u6362\u5E01\u79CD\u5217\u8868" },
34288
+ { name: "okx_get_max_withdrawal", auth: "API Key", params: "ccy?", what: "\u6700\u5927\u53EF\u63D0\u73B0\u6570\u91CF" },
34289
+ { name: "okx_get_non_tradable_assets", auth: "API Key", params: "ccy?", what: "\u4E0D\u53EF\u4EA4\u6613\u8D44\u4EA7" },
34290
+ { name: "okx_get_exchange_list", auth: "API Key", params: "\u65E0", what: "\u4EA4\u6613\u6240\u5217\u8868" },
34291
+ { name: "okx_get_deposit_withdraw_status", auth: "API Key", params: "\u65E0", what: "\u5145\u63D0\u72B6\u6001" }
34292
+ ]
34293
+ },
34294
+ "\u7B56\u7565\u4EA4\u6613": {
34295
+ authRequired: true,
34296
+ workflow: "\u7F51\u683C/\u8DDF\u5355/\u4FE1\u53F7/\u7B56\u7565\u59D4\u6258 \u5404\u81EA\u72EC\u7ACB\uFF0C\u6309\u9700\u8C03\u7528",
34297
+ tools: [
34298
+ { name: "okx_get_grid_ai_param", auth: "API Key", params: "instType, algoOrdType", what: "\u7F51\u683CAI\u53C2\u6570\u63A8\u8350" },
34299
+ { name: "okx_create_grid_order", auth: "API Key (\u4EA4\u6613)", params: "instId, algoOrdType, maxPx, minPx, gridNum, sz", what: "\u521B\u5EFA\u7F51\u683C \u2014 WRITE" },
34300
+ { name: "okx_stop_grid_order", auth: "API Key (\u4EA4\u6613)", params: "algoId, instId, algoOrdType, stopType", what: "\u505C\u6B62\u7F51\u683C" },
34301
+ { name: "okx_close_grid_position", auth: "API Key (\u4EA4\u6613)", params: "algoId, mktClose", what: "\u5E73\u4ED3\u7F51\u683C\u6240\u6709\u6301\u4ED3" },
34302
+ { name: "okx_get_grid_positions", auth: "API Key (\u4EA4\u6613)", params: "algoOrdType, algoId?", what: "\u7F51\u683C\u6301\u4ED3" },
34303
+ { name: "okx_get_grid_sub_orders", auth: "API Key", params: "algoId, algoOrdType, type", what: "\u7F51\u683C\u5B50\u8BA2\u5355" },
34304
+ { name: "okx_get_grid_orders_pending", auth: "API Key", params: "algoOrdType, algoId?", what: "\u8FD0\u884C\u4E2D\u7684\u7F51\u683C" },
34305
+ { name: "okx_get_grid_orders_history", auth: "API Key", params: "algoOrdType, algoId?", what: "\u5386\u53F2\u7F51\u683C" },
34306
+ { name: "okx_create_recurring_plan", auth: "API Key (\u4EA4\u6613)", params: "instId, sz, period, recurringList", what: "\u5B9A\u6295\u8BA1\u5212 \u2014 WRITE" },
34307
+ { name: "okx_stop_recurring_plan", auth: "API Key (\u4EA4\u6613)", params: "algoId", what: "\u505C\u6B62\u5B9A\u6295" },
34308
+ { name: "okx_copy_trader", auth: "API Key (\u4EA4\u6613)", params: "uniqueCode, copyTotalAmt, instType", what: "\u5F00\u59CB\u8DDF\u5355 \u2014 WRITE\uFF0C\u9700\u786E\u8BA4" },
34309
+ { name: "okx_get_copy_traders", auth: "API Key", params: "\u65E0", what: "\u6211\u5173\u6CE8\u7684\u4EA4\u6613\u5458" },
34310
+ { name: "okx_get_public_lead_traders", auth: "\u516C\u5F00", params: "instType, sortType?", what: "\u516C\u5F00\u4EA4\u6613\u5458\u5217\u8868" },
34311
+ { name: "okx_get_lead_trader_positions", auth: "API Key", params: "uniqueCode", what: "\u4EA4\u6613\u5458\u5F53\u524D\u6301\u4ED3" },
34312
+ { name: "okx_get_lead_trader_stats", auth: "API Key", params: "uniqueCode", what: "\u4EA4\u6613\u5458\u4E1A\u7EE9\u7EDF\u8BA1" },
34313
+ { name: "okx_place_algo_order", auth: "API Key (\u4EA4\u6613)", params: "instId, tdMode, side, ordType, sz, triggerPx", what: "\u7B56\u7565\u59D4\u6258\u4E0B\u5355 \u2014 WRITE" },
34314
+ { name: "okx_get_algo_orders", auth: "API Key", params: "ordType?, algoId?", what: "\u7B56\u7565\u59D4\u6258\u5217\u8868" },
34315
+ { name: "okx_cancel_algo_order", auth: "API Key (\u4EA4\u6613)", params: "algoId, instId", what: "\u64A4\u9500\u7B56\u7565\u59D4\u6258 \u2014 WRITE" }
34316
+ ]
34317
+ },
34318
+ "\u9884\u6D4B\u5E02\u573A": {
34319
+ authRequired: true,
34320
+ workflow: "okx_event_instruments \u770B\u5E02\u573A \u2192 okx_event_place_order \u4E0B\u5355",
34321
+ tools: [
34322
+ { name: "okx_event_instruments", auth: "\u516C\u5F00", params: "eventType?", what: "\u4E8B\u4EF6\u5408\u7EA6\u4EA7\u54C1\u5217\u8868" },
34323
+ { name: "okx_event_place_order", auth: "API Key (\u4EA4\u6613)", params: "instId, side, sz, ordType?", what: "\u4E8B\u4EF6\u5408\u7EA6\u4E0B\u5355 \u2014 WRITE" },
34324
+ { name: "okx_event_cancel_order", auth: "API Key (\u4EA4\u6613)", params: "instId, ordId", what: "\u4E8B\u4EF6\u5408\u7EA6\u64A4\u5355 \u2014 WRITE" },
34325
+ { name: "okx_event_amend_order", auth: "API Key (\u4EA4\u6613)", params: "instId, ordId, newSz?", what: "\u4E8B\u4EF6\u5408\u7EA6\u6539\u5355 \u2014 WRITE" },
34326
+ { name: "okx_event_fills", auth: "API Key", params: "instId?", what: "\u4E8B\u4EF6\u5408\u7EA6\u6210\u4EA4\u8BB0\u5F55" },
34327
+ { name: "okx_predictions_place_order", auth: "API Key (\u4EA4\u6613)", params: "marketId, side, price, size", what: "\u9884\u6D4B\u5E02\u573A\u4E0B\u5355 \u2014 WRITE" },
34328
+ { name: "okx_predictions_positions", auth: "API Key", params: "marketId?", what: "\u9884\u6D4B\u5E02\u573A\u6301\u4ED3" },
34329
+ { name: "okx_predictions_order_list", auth: "API Key", params: "marketId?, status?", what: "\u9884\u6D4B\u5E02\u573A\u8BA2\u5355\u5217\u8868" },
34330
+ { name: "okx_predictions_redeem", auth: "API Key (\u4EA4\u6613)", params: "marketId, outcome", what: "\u9884\u6D4B\u5E02\u573A\u8D4E\u56DE \u2014 WRITE" },
34331
+ { name: "okx_predictions_balance", auth: "API Key", params: "\u65E0", what: "\u9884\u6D4B\u5E02\u573A\u4F59\u989D" }
34332
+ ]
34333
+ },
34334
+ "\u6280\u672F\u6307\u6807": {
34335
+ authRequired: false,
34336
+ workflow: "okx_indicator \u5355\u6307\u6807\u8BA1\u7B97 \u2192 \u9700\u8981\u7EFC\u5408\u5224\u65AD\u65F6 okx_indicator_batch \u6279\u91CF\u8BA1\u7B97",
34337
+ tools: [
34338
+ { name: "okx_indicator", auth: "\u516C\u5F00", params: "instId, indicator, period?, bar?", what: "\u5355\u6307\u6807\u8BA1\u7B97+Agent\u4FE1\u53F7\u89E3\u8BFB\uFF0817\u79CD\u6307\u6807\u542BRSI/MACD/BB/ATR/ADX\u7B49\uFF09" },
34339
+ { name: "okx_indicator_batch", auth: "\u516C\u5F00", params: "instId, indicators(\u9017\u53F7\u5206\u9694), bar?", what: "\u591A\u6307\u6807\u6279\u91CF\u8BA1\u7B97+\u7EFC\u5408\u4FE1\u53F7\u5171\u8BC6\uFF08\u6700\u591A10\u4E2A\u6307\u6807\uFF09" }
34340
+ ]
34341
+ },
34342
+ "\u806A\u660E\u94B1": {
34343
+ authRequired: true,
34344
+ workflow: "okx_smart_leaderboard \u770B\u6392\u884C \u2192 okx_smart_trader_detail \u6DF1\u6316 \u2192 okx_smart_sentiment \u770B\u60C5\u7EEA",
34345
+ tools: [
34346
+ { name: "okx_smart_leaderboard", auth: "\u516C\u5F00", params: "instType?, sortBy?, topN?", what: "\u4EA4\u6613\u5458\u6392\u884C\u699C\uFF08\u6309\u6536\u76CA\u7387/\u603B\u6536\u76CA/\u8DDF\u5355\u4EBA\u6570\u6392\u5E8F\uFF09" },
34347
+ { name: "okx_smart_trader_detail", auth: "\u516C\u5F00", params: "uniqueCode, instType?", what: "\u5355\u4EA4\u6613\u5458\u5168\u666F\uFF1A\u6536\u76CA\u7387+\u80DC\u7387+\u56DE\u64A4+\u6301\u4ED3+PnL\u66F2\u7EBF" },
34348
+ { name: "okx_smart_sentiment", auth: "\u516C\u5F00", params: "instFamily?", what: "\u5E02\u573A\u60C5\u7EEA\u4EEA\u8868\u76D8\uFF1A\u591A\u7A7A\u6BD4+PCR+\u8D44\u91D1\u8D39\u7387 \u2192 \u91CF\u5316\u8BC4\u5206(0-100)" }
34349
+ ]
34350
+ },
34351
+ "WebSocket \u5B9E\u65F6": {
34352
+ authRequired: false,
34353
+ workflow: "okx_ws_subscribe \u516C\u5F00\u9891\u9053 \u2192 okx_ws_subscribe_private \u79C1\u6709\u9891\u9053\uFF08\u9700Key\uFF09\u2192 okx_ws_events \u62C9\u53D6 \u2192 okx_ws_status \u7BA1\u7406",
34354
+ tools: [
34355
+ { name: "okx_ws_subscribe", auth: "\u516C\u5F00", params: "instId, channel (33\u516C\u5F00\u9891\u9053)", what: "\u8BA2\u9605\u516C\u5F00\u9891\u9053\uFF1A\u884C\u60C5/\u6DF1\u5EA6/\u7206\u4ED3/\u4EF7\u5DEE/\u5927\u5B97/\u8D44\u91D1\u8D39\u7387\u7B49" },
34356
+ { name: "okx_ws_subscribe_private", auth: "API Key", params: "instId?, channel (22\u79C1\u6709\u9891\u9053)", what: "\u8BA2\u9605\u79C1\u6709\u9891\u9053\uFF1A\u8D26\u6237/\u6301\u4ED3/\u8BA2\u5355/\u7F51\u683C/\u8DDF\u5355\u7B49\u5B9E\u65F6\u63A8\u9001" },
34357
+ { name: "okx_ws_events", auth: "\u516C\u5F00", params: "subscriptionId?, limit?, filter?", what: "\u62C9\u53D6\u7F13\u51B2\u7684\u5B9E\u65F6\u4E8B\u4EF6" },
34358
+ { name: "okx_ws_status", auth: "\u516C\u5F00", params: "\u65E0", what: "\u5F53\u524D\u6240\u6709\u8BA2\u9605+\u7F13\u51B2\u79EF\u538B" },
34359
+ { name: "okx_ws_close", auth: "\u516C\u5F00", params: "subscriptionId?", what: "\u5173\u95ED\u8BA2\u9605" }
34360
+ ]
34361
+ },
34362
+ "\u6A21\u62DF\u4F30\u7B97": {
34363
+ authRequired: false,
34364
+ workflow: "agent_simulate_order\uFF08\u9884\u4F30\uFF09\u2192 \u7528\u6237\u786E\u8BA4 \u2192 agent_quick_trade\uFF08\u771F\u5B9E\u4E0B\u5355\uFF09",
34365
+ tools: [
34366
+ { name: "agent_simulate_order", auth: "API Key (\u53EA\u8BFB)", params: "instId, side, sz, tdMode, px?", what: "\u6A21\u62DF\u4E0B\u5355\uFF1A\u6210\u4EA4\u4EF7/\u6ED1\u70B9/\u624B\u7EED\u8D39/\u8D44\u91D1\u5360\u7528 \u5168\u9884\u4F30" },
34367
+ { name: "okx_preflight_check", auth: "API Key (\u53EA\u8BFB)", params: "instId, tdMode, sz, px?, side?, ordType?", what: "\u4E0B\u5355\u9884\u68C0\uFF1A\u6700\u5927\u53EF\u5F00/\u9650\u4EF7/\u5408\u7EA6\u6362\u7B97" },
34368
+ { name: "okx_position_builder", auth: "API Key (\u4EA4\u6613)", params: "body(JSON)", what: "\u7EC4\u5408\u4FDD\u8BC1\u91D1\u8BD5\u7B97 \u2014 WRITE" }
34369
+ ]
34370
+ },
34371
+ "\u4EE3\u7801\u667A\u80FD": {
34372
+ authRequired: false,
34373
+ workflow: "codegraph_status \u770B\u72B6\u6001 \u2192 codegraph_query \u8FFD\u8E2A\u8C03\u7528\u94FE/\u641C\u7D22\u7B26\u53F7 \u2192 \u7528 Read \u770B\u6E90\u7801\u7EC6\u8282",
34374
+ tools: [
34375
+ { name: "codegraph_status", auth: "\u516C\u5F00", params: "\u65E0", what: "\u77E5\u8BC6\u56FE\u8C31\u72B6\u6001\uFF1A\u8282\u70B9\u6570/\u8FB9\u6570/\u8986\u76D6\u6587\u4EF6/\u6700\u540E\u7D22\u5F15" },
34376
+ { name: "codegraph_query", auth: "\u516C\u5F00", params: "mode (callers|callees|explore|files), symbol?, question?, limit?", what: "\u67E5\u8BE2\u8C03\u7528\u94FE / \u7B26\u53F7\u641C\u7D22 / \u6A21\u5757\u4F9D\u8D56 / \u6309\u6587\u4EF6\u67E5" }
34377
+ ]
34378
+ },
34379
+ "\u7CFB\u7EDF\u5DE5\u5177": {
34380
+ authRequired: false,
34381
+ workflow: "\u6309\u9700\u8C03\u7528\uFF0C\u5404\u5DE5\u5177\u72EC\u7ACB",
34382
+ tools: [
34383
+ { name: "agent_catalog", auth: "\u516C\u5F00", params: "\u65E0", what: "\u4F60\u6B63\u5728\u770B\u7684\u8FD9\u4E2A" },
34384
+ { name: "agent_catalog_detail", auth: "\u516C\u5F00", params: "domain", what: "\u67E5\u770B\u67D0\u4E2A\u57DF\u7684\u8BE6\u7EC6\u5DE5\u5177\u6E05\u5355" },
34385
+ { name: "agent_get_preference", auth: "\u516C\u5F00", params: "key?", what: "\u8BFB\u53D6 Agent \u6301\u4E45\u5316\u504F\u597D" },
34386
+ { name: "agent_set_preference", auth: "\u516C\u5F00", params: "key, value", what: "\u4FDD\u5B58 Agent \u504F\u597D" },
34387
+ { name: "okx_agent_feedback", auth: "\u516C\u5F00", params: "title, what, tools, pain, suggestion", what: "\u63D0\u4EA4\u4F7F\u7528\u53CD\u9988" },
34388
+ { name: "agent_hub_status", auth: "\u516C\u5F00", params: "\u65E0", what: "Agent \u96C6\u7FA4\u72B6\u6001" },
34389
+ { name: "agent_hub_dispatch", auth: "\u516C\u5F00", params: "taskId, agentId?", what: "\u6D3E\u53D1\u4EFB\u52A1\u7ED9 Agent" },
34390
+ { name: "agent_hub_review", auth: "\u516C\u5F00", params: "taskId, verdict, feedback?", what: "\u5BA1\u6838 Agent \u63D0\u4EA4\u7ED3\u679C" },
34391
+ { name: "agent_room_send", auth: "\u516C\u5F00", params: "roomId, text", what: "\u53D1\u9001\u623F\u95F4\u6D88\u606F" },
34392
+ { name: "agent_room_view", auth: "\u516C\u5F00", params: "roomId?, limit?", what: "\u67E5\u770B\u623F\u95F4\u6D88\u606F\u5386\u53F2" },
34393
+ { name: "xlayer_subscribe", auth: "\u516C\u5F00", params: "channel, address?", what: "X Layer \u94FE\u4E0A\u4E8B\u4EF6\u8BA2\u9605" },
34394
+ { name: "xlayer_call", auth: "\u516C\u5F00", params: "to, data, value?", what: "X Layer \u5408\u7EA6\u8C03\u7528 \u2014 WRITE" },
34395
+ { name: "xlayer_get_events", auth: "\u516C\u5F00", params: "channel?", what: "X Layer \u94FE\u4E0A\u4E8B\u4EF6" },
34396
+ { name: "okx_get_system_status", auth: "\u516C\u5F00", params: "\u65E0", what: "OKX \u7CFB\u7EDF\u72B6\u6001" },
34397
+ { name: "okx_get_instruments", auth: "\u516C\u5F00", params: "instType, instId?", what: "\u4EA7\u54C1\u5217\u8868/\u8BE6\u60C5" }
34398
+ ]
34399
+ }
34400
+ };
34401
+
34402
+ // src/tools/agent-utils.ts
33993
34403
  async function fetchAllSettled(fetchers) {
33994
34404
  const entries = Object.entries(fetchers);
33995
34405
  const keys = entries.map((e) => e[0]);
@@ -34830,279 +35240,7 @@ function registerAgentUtils(server, auth) {
34830
35240
  }
34831
35241
  }
34832
35242
  );
34833
- const CATALOG = {
34834
- _instruction: [
34835
- "\u4F60\u662F hvip MCP Server \u7684 AI Agent\u3002\u6536\u5230\u672C\u76EE\u5F55\u540E\uFF0C\u4F60\u5DF2\u7ECF\u638C\u63E1\u5168\u90E8\u5FC5\u8981\u4FE1\u606F\uFF0C\u65E0\u9700\u518D\u626B\u63CF tools/list\u3002",
34836
- "\u5DE5\u4F5C\u6D41: 1) \u770B _setup \u4E86\u89E3\u8FDE\u63A5\u72B6\u6001\u548C API Key \u914D\u7F6E \u2192 2) \u65E0Key\u65F6\u4F18\u5148\u770B publicDomains\uFF08\u7ACB\u5373\u53EF\u7528\uFF09\uFF0C\u6709Key\u65F6\u5168\u90E8\u53EF\u7528 \u2192 3) \u5339\u914D\u7528\u6237\u610F\u56FE\u5230\u57DF \u2192 4) \u7528 go_to_params \u76F4\u63A5\u8C03\u76EE\u6807\u5DE5\u5177\u3002",
34837
- "\u26A0\uFE0F authDomains \u4E2D\u7684\u6240\u6709\u5DE5\u5177\u9700\u8981 API Key\u2014\u2014\u6CA1\u6709 Key \u65F6\u544A\u8BC9\u7528\u6237\u5982\u4F55\u914D\u7F6E\uFF0C\u4E0D\u8981\u5C1D\u8BD5\u8C03\u7528\u3002",
34838
- "\u6240\u6709 WRITE/FUND_TRANSFER/ADMIN \u5DE5\u5177\u9700\u7528\u6237\u786E\u8BA4\u540E\u8C03\u7528\uFF0C\u4E0D\u53EF\u81EA\u52A8\u53D1\u8D77\u3002"
34839
- ].join(" "),
34840
- domains: [
34841
- {
34842
- domain: "\u884C\u60C5\u770B\u76D8",
34843
- what: "\u67E5\u770B\u4EA7\u54C1\u4EF7\u683C\u3001K\u7EBF\u3001\u6DF1\u5EA6\u3001\u6210\u4EA4\u8BB0\u5F55",
34844
- when: ["BTC\u4EF7\u683C", "ETH\u884C\u60C5", "K\u7EBF", "\u6DA8\u8DCC", "\u6DF1\u5EA6", "\u76D8\u53E3", "\u6210\u4EA4\u8BB0\u5F55", "\u8D70\u52BF"],
34845
- go_to: "okx_quick_market",
34846
- go_to_params: "instId (\u5982 BTC-USDT\u3001ETH-USDT-SWAP)",
34847
- also: [
34848
- "okx_get_ticker \u2014 \u5355\u4E2A\u4EA7\u54C1\u5B9E\u65F6\u884C\u60C5",
34849
- "okx_get_tickers \u2014 \u67D0\u7C7B\u578B\u5168\u90E8\u4EA7\u54C1\u884C\u60C5",
34850
- "okx_get_orderbook \u2014 \u5B8C\u6574\u6DF1\u5EA6/\u76D8\u53E3",
34851
- "okx_get_candles \u2014 K\u7EBF\u6570\u636E",
34852
- "okx_get_trades \u2014 \u6700\u65B0\u6210\u4EA4\u8BB0\u5F55",
34853
- "okx_get_history_candles \u2014 \u5386\u53F2K\u7EBF",
34854
- "okx_get_index_candles \u2014 \u6307\u6570K\u7EBF",
34855
- "okx_get_mark_price_candles \u2014 \u6807\u8BB0\u4EF7K\u7EBF"
34856
- ],
34857
- risk: "READ",
34858
- authRequired: false
34859
- },
34860
- {
34861
- domain: "\u5E02\u573A\u626B\u63CF",
34862
- what: "\u53D1\u73B0\u5E02\u573A\u673A\u4F1A\u3001\u6DA8\u5E45\u699C\u3001\u8DCC\u5E45\u699C\u3001\u8D44\u91D1\u8D39\u7387\u5F02\u5E38",
34863
- when: ["\u4ECA\u5929\u6709\u4EC0\u4E48\u673A\u4F1A", "\u6DA8\u5E45\u699C", "\u8DCC\u5E45\u699C", "\u4EC0\u4E48\u5728\u6DA8", "\u4EC0\u4E48\u5728\u8DCC", "\u5F02\u52A8", "\u626B\u63CF"],
34864
- go_to: "agent_market_scan",
34865
- go_to_params: "instType? (\u9ED8\u8BA4SWAP), topN? (\u9ED8\u8BA410), sortBy? (change|vol|fundingRate)",
34866
- also: [
34867
- "okx_quick_market \u2014 \u6DF1\u5165\u770B\u67D0\u4E2A\u54C1\u79CD",
34868
- "okx_get_funding_rate \u2014 \u6C38\u7EED\u5408\u7EA6\u8D44\u91D1\u8D39\u7387",
34869
- "okx_get_tickers \u2014 \u5168\u5E02\u573A\u884C\u60C5"
34870
- ],
34871
- risk: "READ",
34872
- authRequired: false
34873
- },
34874
- {
34875
- domain: "\u6280\u672F\u6307\u6807",
34876
- what: "\u6280\u672F\u5206\u6790\uFF1ARSI\u3001MACD\u3001\u5E03\u6797\u5E26\u3001KDJ\u3001ADX\u3001Supertrend \u7B49 17 \u79CD\u6307\u6807 + \u4FE1\u53F7\u89E3\u8BFB",
34877
- when: ["RSI", "MACD", "\u5E03\u6797\u5E26", "KDJ", "ADX", "\u8D85\u4E70", "\u8D85\u5356", "\u91D1\u53C9", "\u6B7B\u53C9", "\u6280\u672F\u6307\u6807", "\u6307\u6807\u5206\u6790"],
34878
- go_to: "okx_indicator",
34879
- go_to_params: "instId, indicator (rsi|macd|bb|atr|stoch \u7B4917\u79CD), period?, bar? (\u9ED8\u8BA41H)",
34880
- also: [
34881
- "okx_indicator \u2014 \u5355\u6307\u6807\u8BA1\u7B97+\u4FE1\u53F7\u89E3\u8BFB",
34882
- "okx_indicator_batch \u2014 \u591A\u6307\u6807\u6279\u91CF+\u7EFC\u5408\u4FE1\u53F7\uFF082\u4E2A\u5DE5\u5177\u4E92\u5907\uFF09",
34883
- "okx_get_candles \u2014 \u539F\u59CBK\u7EBF\u6570\u636E"
34884
- ],
34885
- risk: "READ",
34886
- authRequired: false
34887
- },
34888
- {
34889
- domain: "\u6A21\u62DF\u4F30\u7B97",
34890
- what: "\u4E0D\u4EA7\u751F\u771F\u5B9E\u8BA2\u5355\uFF0C\u9884\u4F30\u6210\u4EA4\u4EF7\u3001\u6ED1\u70B9\u3001\u624B\u7EED\u8D39\u3001\u4FDD\u8BC1\u91D1",
34891
- when: ["\u5982\u679C\u4E70\u5165", "\u5982\u679C\u5356\u51FA", "\u6A21\u62DF", "\u9884\u4F30", "\u6C99\u76D2", "\u8BD5\u7B97", "\u4F1A\u600E\u6837"],
34892
- go_to: "agent_simulate_order",
34893
- go_to_params: "instId, side (buy|sell), sz, tdMode (cash|cross|isolated), px?",
34894
- also: [
34895
- "okx_preflight_check \u2014 \u4E0B\u5355\u524D\u53C2\u6570\u6821\u9A8C",
34896
- "okx_position_builder \u2014 \u7EC4\u5408\u4FDD\u8BC1\u91D1\u8BD5\u7B97",
34897
- "agent_quick_trade \u2014 \u786E\u8BA4\u540E\u771F\u5B9E\u4E0B\u5355\uFF08WRITE\uFF0C\u9700Key\uFF09"
34898
- ],
34899
- risk: "READ",
34900
- authRequired: false
34901
- },
34902
- {
34903
- domain: "WebSocket \u5B9E\u65F6",
34904
- what: "\u5B9E\u65F6\u884C\u60C5\u63A8\u9001\u3001\u7206\u4ED3\u6D41\u3001\u4EF7\u5DEE/\u5927\u5B97\u6570\u636E\uFF08\u516C\u5F00\u9891\u9053 33 \u4E2A\uFF09",
34905
- when: ["\u5B9E\u65F6", "\u8BA2\u9605", "\u63A8\u9001", "websocket", "ws", "\u76D1\u542C", "\u7206\u4ED3", "\u5B9E\u65F6\u884C\u60C5"],
34906
- go_to: "okx_ws_subscribe",
34907
- go_to_params: "instId (\u4EA7\u54C1ID), channel (33\u4E2A\u516C\u5F00\u9891\u9053)",
34908
- also: [
34909
- "okx_ws_subscribe_private \u2014 \u79C1\u6709\u9891\u9053\uFF08\u8D26\u6237/\u6301\u4ED3/\u8BA2\u5355\uFF0C\u9700Key\uFF09",
34910
- "okx_ws_events \u2014 \u62C9\u53D6\u7F13\u51B2\u4E8B\u4EF6",
34911
- "okx_ws_status \u2014 \u67E5\u770B\u8BA2\u9605\u72B6\u6001",
34912
- "okx_ws_close \u2014 \u5173\u95ED\u8BA2\u9605"
34913
- ],
34914
- risk: "READ",
34915
- authRequired: false
34916
- },
34917
- {
34918
- domain: "\u4EE3\u7801\u667A\u80FD",
34919
- what: "\u67E5\u8BE2 hvip-mcp \u81EA\u8EAB\u4EE3\u7801\u7ED3\u6784\uFF1A\u51FD\u6570\u8C03\u7528\u94FE\u3001\u6A21\u5757\u4F9D\u8D56\u3001\u7B26\u53F7\u641C\u7D22",
34920
- when: ["\u4EE3\u7801\u7ED3\u6784", "\u8C03\u7528\u94FE", "\u8C01\u8C03\u7528\u4E86", "\u8C01\u88AB\u8C03\u7528", "\u4F9D\u8D56\u5173\u7CFB", "\u4E0A\u4E0B\u6E38", "\u4EE3\u7801\u641C\u7D22"],
34921
- go_to: "codegraph_status",
34922
- go_to_params: "\u65E0\u9700\u53C2\u6570",
34923
- also: [
34924
- "codegraph_query \u2014 \u8C03\u7528\u94FE\u8FFD\u8E2A (callers|callees|search|file|impact)"
34925
- ],
34926
- risk: "READ",
34927
- authRequired: false
34928
- },
34929
- {
34930
- domain: "\u7CFB\u7EDF\u5DE5\u5177",
34931
- what: "\u504F\u597D\u8BBE\u7F6E\u3001\u53CD\u9988\u7559\u8A00\u3001Agent\u96C6\u7FA4\u7BA1\u7406\u3001X Layer \u94FE\u4E0A\u4EA4\u4E92",
34932
- when: ["\u504F\u597D", "\u8BBE\u7F6E\u9ED8\u8BA4", "\u8BB0\u4F4F", "\u53CD\u9988", "\u5EFA\u8BAE", "Agent Hub", "\u96C6\u7FA4"],
34933
- go_to: "agent_get_preference",
34934
- go_to_params: "key? (\u4E0D\u586B\u8FD4\u56DE\u5168\u90E8)",
34935
- also: [
34936
- "agent_set_preference \u2014 \u4FDD\u5B58\u504F\u597D",
34937
- "okx_agent_feedback \u2014 \u63D0\u4EA4\u4F7F\u7528\u53CD\u9988",
34938
- "agent_hub_status \u2014 Agent \u96C6\u7FA4\u72B6\u6001",
34939
- "agent_hub_dispatch \u2014 \u6D3E\u53D1\u4EFB\u52A1",
34940
- "agent_room_send \u2014 \u623F\u95F4\u6D88\u606F",
34941
- "xlayer_subscribe \u2014 X Layer \u94FE\u4E0A\u4E8B\u4EF6",
34942
- "xlayer_call \u2014 X Layer \u5408\u7EA6\u8C03\u7528\uFF08WRITE\uFF09"
34943
- ],
34944
- risk: "READ",
34945
- authRequired: false
34946
- },
34947
- // ═══════════════════ 以下需要 API Key ═══════════════════
34948
- {
34949
- domain: "\u8D26\u6237\u8D44\u4EA7",
34950
- what: "\u67E5\u770B\u8D26\u6237\u4F59\u989D\u3001\u6301\u4ED3\u3001\u914D\u7F6E\u3001\u624B\u7EED\u8D39\u3001\u4F30\u503C",
34951
- when: ["\u6211\u7684\u8D26\u6237", "\u6301\u4ED3", "\u4F59\u989D", "\u4FDD\u8BC1\u91D1", "\u6760\u6746\u500D\u6570", "\u8D44\u4EA7\u4F30\u503C", "\u624B\u7EED\u8D39\u7387", "\u8D26\u6237\u914D\u7F6E"],
34952
- go_to: "okx_account_overview",
34953
- go_to_params: "\u65E0\u9700\u53C2\u6570",
34954
- also: [
34955
- "okx_get_balance \u2014 \u5404\u5E01\u79CD\u4F59\u989D\u660E\u7EC6",
34956
- "okx_get_positions \u2014 \u6301\u4ED3\u8BE6\u60C5\uFF08\u542B\u5E73\u4ED3\u4E0A\u4E0B\u6587 _actionContext\uFF09",
34957
- "okx_get_account_config \u2014 \u8D26\u6237\u6A21\u5F0F/\u6301\u4ED3\u6A21\u5F0F",
34958
- "okx_get_asset_valuation \u2014 \u603B\u8D44\u4EA7\u4F30\u503C",
34959
- "okx_get_fee_rates \u2014 \u624B\u7EED\u8D39\u7387",
34960
- "okx_get_leverage_info \u2014 \u5F53\u524D\u6760\u6746\u500D\u6570",
34961
- "okx_get_max_size \u2014 \u6700\u5927\u53EF\u5F00\u6570\u91CF",
34962
- "okx_set_leverage \u2014 \u8C03\u6574\u6760\u6746\uFF08WRITE\uFF0C\u9700\u786E\u8BA4\uFF09"
34963
- ],
34964
- risk: "READ",
34965
- authRequired: true
34966
- },
34967
- {
34968
- domain: "\u4E0B\u5355\u4EA4\u6613",
34969
- what: "\u4E0B\u5355\u3001\u64A4\u5355\u3001\u6539\u5355\u3001\u5E73\u4ED3",
34970
- when: ["\u4E70\u5165", "\u5356\u51FA", "\u4E0B\u5355", "\u5F00\u4ED3", "\u5E73\u4ED3", "\u64A4\u5355", "\u6539\u5355", "\u6302\u5355"],
34971
- go_to: "agent_quick_trade",
34972
- go_to_params: "instId, side (buy|sell), sz, tdMode (cash|cross|isolated), px?, ordType? (market|limit)",
34973
- also: [
34974
- "okx_preflight_check \u2014 \u4E0B\u5355\u524D\u9884\u68C0\uFF08\u6570\u91CF/\u9650\u4EF7/\u5408\u7EA6\u6362\u7B97\uFF09",
34975
- "agent_simulate_order \u2014 \u6A21\u62DF\u4E0B\u5355\uFF08\u4E0D\u4EA7\u751F\u771F\u5B9E\u8BA2\u5355\uFF09",
34976
- "okx_place_order \u2014 \u6807\u51C6\u4E0B\u5355\uFF08WRITE\uFF0C\u9700\u786E\u8BA4\uFF09",
34977
- "okx_cancel_order \u2014 \u64A4\u5355\uFF08WRITE\uFF09",
34978
- "okx_amend_order \u2014 \u6539\u5355\uFF08WRITE\uFF09",
34979
- "okx_close_position \u2014 \u5E73\u4ED3\uFF08WRITE\uFF0C\u9700\u786E\u8BA4\uFF09",
34980
- "okx_get_order \u2014 \u67E5\u8BE2\u8BA2\u5355\u72B6\u6001",
34981
- "okx_get_orders_pending \u2014 \u5F53\u524D\u6302\u5355",
34982
- "okx_get_orders_history \u2014 \u5386\u53F2\u8BA2\u5355",
34983
- "okx_batch_orders \u2014 \u6279\u91CF\u4E0B\u5355\uFF08WRITE\uFF09",
34984
- "okx_batch_cancel_orders \u2014 \u6279\u91CF\u64A4\u5355\uFF08WRITE\uFF09",
34985
- "okx_amend_batch_orders \u2014 \u6279\u91CF\u6539\u5355\uFF08WRITE\uFF09"
34986
- ],
34987
- risk: "WRITE",
34988
- authRequired: true
34989
- },
34990
- {
34991
- domain: "\u98CE\u9669\u98CE\u63A7",
34992
- what: "\u6301\u4ED3\u98CE\u9669\u8BC4\u4F30\u3001\u5F3A\u5E73\u9884\u8B66\u3001\u4FDD\u8BC1\u91D1\u7387",
34993
- when: ["\u98CE\u9669", "\u7206\u4ED3", "\u5F3A\u5E73", "\u4FDD\u8BC1\u91D1\u7387", "\u5065\u5EB7\u5EA6", "\u98CE\u63A7", "\u4F1A\u4E0D\u4F1A\u7206"],
34994
- go_to: "agent_risk_overview",
34995
- go_to_params: "\u65E0\u9700\u53C2\u6570",
34996
- also: [
34997
- "okx_get_account_position_risk \u2014 \u8D26\u6237\u6301\u4ED3\u98CE\u9669\u8BE6\u60C5",
34998
- "okx_get_risk_state \u2014 \u8D26\u6237\u98CE\u63A7\u72B6\u6001",
34999
- "okx_get_positions \u2014 \u6301\u4ED3\u4E2D\u7684 mgnRatio/liqPx",
35000
- "okx_get_margin_balance \u2014 \u4FDD\u8BC1\u91D1\u4F59\u989D",
35001
- "agent_quick_trade \u2014 \u98CE\u63A7\u544A\u8B66\u540E\u5E73\u4ED3\uFF08WRITE\uFF09"
35002
- ],
35003
- risk: "READ",
35004
- authRequired: true
35005
- },
35006
- {
35007
- domain: "\u76C8\u4E8F\u590D\u76D8",
35008
- what: "\u8BA1\u7B97\u5DF2\u5B9E\u73B0/\u672A\u5B9E\u73B0\u76C8\u4E8F\u3001\u4EA4\u6613\u7EE9\u6548",
35009
- when: ["\u8D5A\u4E86\u591A\u5C11", "\u4E8F\u4E86\u591A\u5C11", "\u76C8\u4E8F", "\u7EE9\u6548", "\u590D\u76D8", "PnL", "\u6536\u76CA"],
35010
- go_to: "agent_pnl_report",
35011
- go_to_params: "days? (\u9ED8\u8BA47)",
35012
- also: [
35013
- "okx_get_positions \u2014 \u5F53\u524D\u6D6E\u52A8\u76C8\u4E8F",
35014
- "okx_get_orders_history \u2014 \u5386\u53F2\u8BA2\u5355\u76C8\u4E8F",
35015
- "okx_get_positions_history \u2014 \u5386\u53F2\u5E73\u4ED3\u76C8\u4E8F",
35016
- "okx_get_fills \u2014 \u6210\u4EA4\u660E\u7EC6"
35017
- ],
35018
- risk: "READ",
35019
- authRequired: true
35020
- },
35021
- {
35022
- domain: "\u8D44\u91D1\u7BA1\u7406",
35023
- what: "\u5212\u8F6C\u3001\u63D0\u73B0\u3001\u5145\u503C\u3001\u5151\u6362",
35024
- when: ["\u5212\u8F6C", "\u63D0\u73B0", "\u5145\u503C", "\u8F6C\u8D26", "\u5151\u6362", "\u95EA\u5151", "\u51FA\u5165\u91D1", "deposit", "withdraw"],
35025
- go_to: "okx_get_balance",
35026
- go_to_params: "ccy? (\u5982 BTC\uFF0C\u4E0D\u586B\u5168\u90E8)",
35027
- also: [
35028
- "okx_transfer \u2014 \u8D44\u91D1\u5212\u8F6C\uFF08WRITE\uFF0C\u9700\u786E\u8BA4\uFF09",
35029
- "okx_withdrawal \u2014 \u63D0\u73B0\uFF08WRITE\uFF0C\u9700\u786E\u8BA4\uFF09",
35030
- "okx_get_deposit_address \u2014 \u83B7\u53D6\u5145\u503C\u5730\u5740",
35031
- "okx_get_deposit_history \u2014 \u5145\u503C\u8BB0\u5F55",
35032
- "okx_get_withdrawal_history \u2014 \u63D0\u73B0\u8BB0\u5F55",
35033
- "okx_convert_trade \u2014 \u4E00\u952E\u5151\u6362\uFF08WRITE\uFF0C\u9700\u786E\u8BA4\uFF09",
35034
- "okx_get_convert_currencies \u2014 \u53EF\u5151\u6362\u5E01\u79CD",
35035
- "okx_get_currencies \u2014 \u94FE\u4E0A\u5E01\u79CD\u4FE1\u606F",
35036
- "okx_get_funding_balance \u2014 \u8D44\u91D1\u8D26\u6237\u4F59\u989D"
35037
- ],
35038
- risk: "FUND_TRANSFER",
35039
- authRequired: true
35040
- },
35041
- {
35042
- domain: "\u7B56\u7565\u4EA4\u6613",
35043
- what: "\u7F51\u683C\u3001\u8DDF\u5355\u3001\u4FE1\u53F7\u3001\u7B56\u7565\u59D4\u6258\u3001\u4EF7\u5DEE\u3001RFQ",
35044
- when: ["\u7F51\u683C", "\u8DDF\u5355", "\u4FE1\u53F7", "\u7B56\u7565", "\u5B9A\u6295", "\u4EF7\u5DEE", "\u5927\u5B97", "RFQ"],
35045
- go_to: "okx_get_grid_ai_param",
35046
- go_to_params: "instType (SPOT|SWAP|FUTURES), algoOrdType (grid|contract_grid|recurring_buy|twap|iceberg)",
35047
- also: [
35048
- "okx_create_grid_order \u2014 \u521B\u5EFA\u7F51\u683C\uFF08WRITE\uFF0C\u9700\u786E\u8BA4\uFF09",
35049
- "okx_stop_grid_order \u2014 \u505C\u6B62\u7F51\u683C",
35050
- "okx_get_grid_positions \u2014 \u7F51\u683C\u6301\u4ED3",
35051
- "okx_create_recurring_plan \u2014 \u521B\u5EFA\u5B9A\u6295\u8BA1\u5212\uFF08WRITE\uFF09",
35052
- "okx_copy_trader \u2014 \u5F00\u59CB\u8DDF\u5355\uFF08WRITE\uFF0C\u9700\u786E\u8BA4\uFF09",
35053
- "okx_get_lead_trader_positions \u2014 \u4EA4\u6613\u5458\u6301\u4ED3",
35054
- "okx_get_lead_trader_stats \u2014 \u4EA4\u6613\u5458\u7EDF\u8BA1",
35055
- "okx_place_algo_order \u2014 \u7B56\u7565\u59D4\u6258\u4E0B\u5355\uFF08WRITE\uFF09",
35056
- "okx_get_algo_orders \u2014 \u7B56\u7565\u59D4\u6258\u5217\u8868",
35057
- "okx_create_rfq \u2014 \u521B\u5EFA\u5927\u5B97\u8BE2\u4EF7\uFF08WRITE\uFF09"
35058
- ],
35059
- risk: "WRITE",
35060
- authRequired: true
35061
- },
35062
- {
35063
- domain: "\u806A\u660E\u94B1",
35064
- what: "\u4EA4\u6613\u5458\u6392\u884C\u699C\u3001\u806A\u660E\u94B1\u6D41\u5411\u3001\u5E02\u573A\u60C5\u7EEA\u5206\u6790",
35065
- when: ["\u4EA4\u6613\u5458", "\u6392\u884C\u699C", "\u806A\u660E\u94B1", "\u8DDF\u8C01\u8D5A\u94B1", "\u60C5\u7EEA", "\u591A\u7A7A\u6BD4", "\u6050\u614C", "smart money"],
35066
- go_to: "okx_smart_leaderboard",
35067
- go_to_params: "instType? (SPOT|SWAP), sortBy? (pnl|winRate|sharpe), topN?",
35068
- also: [
35069
- "okx_smart_leaderboard \u2014 \u4EA4\u6613\u5458\u6392\u884C\u699C",
35070
- "okx_smart_trader_detail \u2014 \u5355\u4EA4\u6613\u5458\u6DF1\u5EA6\u5206\u6790",
35071
- "okx_smart_sentiment \u2014 \u5E02\u573A\u60C5\u7EEA\u4EEA\u8868\u76D8",
35072
- "okx_get_lead_trader_positions \u2014 \u4EA4\u6613\u5458\u5F53\u524D\u6301\u4ED3",
35073
- "okx_get_lead_trader_stats \u2014 \u4EA4\u6613\u5458\u5386\u53F2\u7EDF\u8BA1"
35074
- ],
35075
- risk: "READ",
35076
- authRequired: true
35077
- },
35078
- {
35079
- domain: "\u9884\u6D4B\u5E02\u573A",
35080
- what: "\u4E8B\u4EF6\u5408\u7EA6\u3001\u9884\u6D4B\u5E02\u573A\u4EA4\u6613\uFF08\u516C\u5F00\u67E5\u8BE2 + \u9700Key\u4EA4\u6613\uFF09",
35081
- when: ["\u9884\u6D4B\u5E02\u573A", "\u4E8B\u4EF6\u5408\u7EA6", "outcomes", "predictions", "\u5BF9\u8D4C"],
35082
- go_to: "okx_event_instruments",
35083
- go_to_params: "eventType? (\u4E0D\u586B\u8FD4\u56DE\u5168\u90E8)",
35084
- also: [
35085
- "okx_predictions_ticker \u2014 \u9884\u6D4B\u5E02\u573A\u884C\u60C5\uFF08\u516C\u5F00\uFF09",
35086
- "okx_predictions_orderbook \u2014 \u9884\u6D4B\u5E02\u573A\u6DF1\u5EA6\uFF08\u516C\u5F00\uFF09",
35087
- "okx_event_place_order \u2014 \u4E8B\u4EF6\u5408\u7EA6\u4E0B\u5355\uFF08WRITE\uFF0C\u9700Key\uFF09",
35088
- "okx_event_fills \u2014 \u4E8B\u4EF6\u5408\u7EA6\u6210\u4EA4\uFF08\u9700Key\uFF09",
35089
- "okx_predictions_positions \u2014 \u9884\u6D4B\u5E02\u573A\u6301\u4ED3\uFF08\u9700Key\uFF09",
35090
- "okx_predictions_order_list \u2014 \u9884\u6D4B\u5E02\u573A\u8BA2\u5355\uFF08\u9700Key\uFF09",
35091
- "okx_predictions_redeem \u2014 \u9884\u6D4B\u5E02\u573A\u8D4E\u56DE\uFF08WRITE\uFF0C\u9700Key\uFF09"
35092
- ],
35093
- risk: "READ",
35094
- authRequired: true
35095
- }
35096
- ],
35097
- _tips: [
35098
- "\u6BCF\u4E2A\u65B0\u4F1A\u8BDD\u5148\u8C03 agent_get_preference \u6062\u590D\u7528\u6237\u504F\u597D(\u9ED8\u8BA4\u4EA4\u6613\u5BF9/\u98CE\u9669\u504F\u597D/\u4ED3\u4F4D\u5360\u6BD4)",
35099
- "\u9700\u8981 API Key \u65F6\u544A\u8BC9\u7528\u6237\u53BB OKX \u5B98\u7F51\u521B\u5EFA\uFF0C\u5F00\u901A\u8BFB\u53D6+\u4EA4\u6613\u6743\u9650",
35100
- "\u5148\u6A21\u62DF\u540E\u4EA4\u6613: agent_simulate_order \u9884\u4F30 -> \u786E\u8BA4 -> agent_quick_trade \u4E0B\u5355",
35101
- "WRITE \u5DE5\u5177\u4F1A\u4FEE\u6539\u8D26\u6237\uFF0C\u8C03\u7528\u524D\u5FC5\u987B\u5411\u7528\u6237\u786E\u8BA4\uFF0C\u4E0D\u53EF\u81EA\u52A8\u53D1\u8D77",
35102
- "\u6280\u672F\u6307\u6807\u7528 okx_indicator \u5355\u4E2A\u8BA1\u7B97\u6216 okx_indicator_batch \u6279\u91CF\uFF0C\u652F\u6301 RSI/MACD/\u5E03\u6797\u5E26\u7B49 17 \u79CD",
35103
- "\u65E0 Key \u60F3\u770B\u76D8: okx_quick_market \u770B\u884C\u60C5 + okx_indicator \u770B\u6307\u6807 + agent_market_scan \u626B\u5E02\u573A"
35104
- ]
35105
- };
35243
+ const CATALOG2 = CATALOG;
35106
35244
  registerTool(
35107
35245
  server,
35108
35246
  "agent_catalog",
@@ -35126,248 +35264,23 @@ function registerAgentUtils(server, auth) {
35126
35264
  setup.whatYouCanDoNow = "\u5F53\u524D\u65E0 API Key\uFF0C\u4F46\u4EE5\u4E0B\u57DF\u7684\u5DE5\u5177\u53EF\u7ACB\u5373\u4F7F\u7528: \u884C\u60C5\u770B\u76D8 / \u6280\u672F\u6307\u6807 / \u5E02\u573A\u626B\u63CF / \u806A\u660E\u94B1 / \u9884\u6D4B\u5E02\u573A\uFF08\u516C\u5F00\u67E5\u8BE2\uFF09/ WebSocket \u5B9E\u65F6 / \u7CFB\u7EDF\u5DE5\u5177";
35127
35265
  }
35128
35266
  const onboarding = hasAuth ? "API Key \u5DF2\u914D\u7F6E\u3002\u5EFA\u8BAE\u7B2C\u4E00\u6B65: agent_get_preference \u6062\u590D\u504F\u597D -> okx_account_overview \u4E86\u89E3\u8D26\u6237\u5168\u666F -> \u6839\u636E\u7528\u6237\u610F\u56FE\u5339\u914D\u57DF go_to \u5DE5\u5177" : "\u6B22\u8FCE\uFF01hvip MCP \u5DF2\u8FDE\u63A5\u4F46\u5C1A\u672A\u914D\u7F6E API Key\u3002\u544A\u8BC9\u7528\u6237\uFF1A\u60F3\u770B\u884C\u60C5\u548C\u6307\u6807\u73B0\u5728\u5C31\u80FD\u770B\uFF0C\u60F3\u770B\u8D26\u6237\u548C\u4EA4\u6613\u8BF7\u5148\u914D Key\u3002\u914D\u597D\u540E\u91CD\u8FDE MCP \u5373\u53EF\u3002";
35129
- const publicDomains = CATALOG.domains.filter((d) => !d.authRequired);
35130
- const authDomains = CATALOG.domains.filter((d) => d.authRequired);
35267
+ const publicDomains = CATALOG2.domains.filter((d) => !d.authRequired);
35268
+ const authDomains = CATALOG2.domains.filter((d) => d.authRequired);
35131
35269
  return toResult({
35132
35270
  tsIso: (/* @__PURE__ */ new Date()).toISOString(),
35133
35271
  _setup: setup,
35134
35272
  _onboarding: onboarding,
35135
- _instruction: CATALOG._instruction,
35273
+ _instruction: CATALOG2._instruction,
35136
35274
  publicDomains,
35137
35275
  authDomains: hasAuth ? authDomains : authDomains.map((d) => ({ ...d, _disabled: "\u9700\u8981 API Key \u624D\u80FD\u4F7F\u7528\u6B64\u57DF" })),
35138
- _tips: CATALOG._tips
35276
+ _tips: CATALOG2._tips
35139
35277
  });
35140
35278
  } catch (e) {
35141
35279
  return toError(e);
35142
35280
  }
35143
35281
  }
35144
35282
  );
35145
- const DOMAIN_DETAILS = {
35146
- "\u8D26\u6237\u8D44\u4EA7": {
35147
- workflow: "okx_account_overview\uFF08\u5168\u666F\uFF09\u2192 \u67E5\u770B\u5177\u4F53\u9879 \u2192 okx_get_balance / okx_get_positions \u7EC6\u5316",
35148
- tools: [
35149
- { name: "okx_account_overview", auth: "API Key", params: "\u65E0", what: "\u8D26\u6237\u5168\u666F\uFF1A\u4F59\u989D+\u6301\u4ED3+\u914D\u7F6E+\u4F30\u503C \u56DB\u5408\u4E00\u4E00\u952E\u67E5\u8BE2" },
35150
- { name: "okx_get_balance", auth: "API Key", params: "ccy? (\u5E01\u79CD\uFF0C\u4E0D\u586B\u5168\u90E8)", what: "\u4EA4\u6613\u8D26\u6237\u5404\u5E01\u79CD\u4F59\u989D" },
35151
- { name: "okx_get_positions", auth: "API Key", params: "instType? (\u4E0D\u586B\u5168\u90E8)", what: "\u6301\u4ED3\u8BE6\u60C5\uFF0C\u542B _actionContext \u53EF\u76F4\u63A5\u7528\u4E8E\u5E73\u4ED3" },
35152
- { name: "okx_get_account_config", auth: "API Key", params: "\u65E0", what: "\u8D26\u6237\u6A21\u5F0F/\u6301\u4ED3\u6A21\u5F0F/UID" },
35153
- { name: "okx_get_asset_valuation", auth: "API Key", params: "ccy? (\u8BA1\u4EF7\u5E01\u79CD)", what: "\u603B\u8D44\u4EA7\u4F30\u503C" },
35154
- { name: "okx_get_fee_rates", auth: "API Key", params: "instType?, instId?", what: "\u624B\u7EED\u8D39\u7387" },
35155
- { name: "okx_get_leverage_info", auth: "API Key", params: "instId, mgnMode", what: "\u5F53\u524D\u6760\u6746\u500D\u6570" },
35156
- { name: "okx_get_max_size", auth: "API Key", params: "instId, tdMode", what: "\u6700\u5927\u53EF\u5F00\u4ED3\u6570\u91CF" },
35157
- { name: "okx_set_leverage", auth: "API Key (\u4EA4\u6613)", params: "instId, lever, mgnMode", what: "\u8C03\u6574\u6760\u6746 \u2014 WRITE\uFF0C\u9700\u786E\u8BA4" },
35158
- { name: "okx_get_max_loan", auth: "API Key", params: "instId, mgnMode", what: "\u6700\u5927\u53EF\u501F\u6570\u91CF" },
35159
- { name: "okx_get_margin_balance", auth: "API Key", params: "instId, mgnMode", what: "\u4FDD\u8BC1\u91D1\u4F59\u989D\u8BE6\u60C5" },
35160
- { name: "okx_set_position_mode", auth: "API Key (\u4EA4\u6613)", params: "posMode", what: "\u5207\u6362\u6301\u4ED3\u6A21\u5F0F \u2014 ADMIN\uFF0C\u9700\u786E\u8BA4" },
35161
- { name: "okx_get_account_bills", auth: "API Key", params: "instType?, ccy?, limit?", what: "\u8D26\u6237\u8D44\u91D1\u6D41\u6C34" },
35162
- { name: "okx_get_interest_accrued", auth: "API Key", params: "instId?, ccy?", what: "\u501F\u5E01\u5229\u606F\u7D2F\u8BA1" },
35163
- { name: "okx_get_interest_rates", auth: "API Key", params: "ccy?", what: "\u5404\u5E01\u79CD\u501F\u5E01\u5229\u7387" },
35164
- { name: "okx_get_interest_limits", auth: "API Key", params: "\u65E0", what: "\u5229\u606F\u9650\u989D" },
35165
- { name: "okx_get_max_withdrawal", auth: "API Key", params: "ccy?", what: "\u6700\u5927\u53EF\u63D0\u73B0\u6570\u91CF" },
35166
- { name: "okx_get_account_position_risk", auth: "API Key", params: "\u65E0", what: "\u6301\u4ED3\u98CE\u9669\u8BC4\u4F30" },
35167
- { name: "okx_get_risk_state", auth: "API Key", params: "\u65E0", what: "\u8D26\u6237\u98CE\u63A7\u72B6\u6001" },
35168
- { name: "okx_get_account_greeks", auth: "API Key", params: "instType?, instFamily?", what: "\u671F\u6743 Greeks \u98CE\u9669\u53C2\u6570" },
35169
- { name: "okx_get_trade_fee", auth: "API Key", params: "instType?, instId?", what: "\u6309\u4EA7\u54C1\u7EF4\u5EA6\u67E5\u8BE2\u624B\u7EED\u8D39" },
35170
- { name: "okx_get_convert_currencies", auth: "API Key", params: "\u65E0", what: "\u652F\u6301\u4E00\u952E\u5151\u6362\u7684\u5E01\u79CD\u5217\u8868" },
35171
- { name: "okx_convert_trade", auth: "API Key (\u4EA4\u6613)", params: "fromCcy, toCcy, sz", what: "\u6267\u884C\u8D44\u4EA7\u5151\u6362 \u2014 FUND_TRANSFER\uFF0C\u9700\u786E\u8BA4" },
35172
- { name: "okx_get_bills", auth: "API Key", params: "instType?, ccy?", what: "\u8D26\u6237\u8D26\u5355\u6D41\u6C34" },
35173
- { name: "okx_get_positions_history", auth: "API Key", params: "instType?, instId?", what: "\u5386\u53F2\u6301\u4ED3\uFF08\u5DF2\u5E73\u4ED3\uFF09" },
35174
- { name: "okx_get_account_bills_archive", auth: "API Key", params: "\u65E0", what: "\u5F52\u6863\u8D26\u5355\uFF083\u4E2A\u6708\u524D\uFF09" },
35175
- { name: "okx_borrow_repay", auth: "API Key (\u4EA4\u6613)", params: "ccy, side(borrow|repay), amt", what: "\u501F\u5E01/\u8FD8\u6B3E \u2014 FUND_TRANSFER\uFF0C\u9700\u786E\u8BA4" },
35176
- { name: "okx_get_borrow_repay_history", auth: "API Key", params: "\u65E0", what: "\u501F\u8D37\u5386\u53F2\u8BB0\u5F55" },
35177
- { name: "okx_activate_option", auth: "API Key (\u4EA4\u6613)", params: "\u65E0", what: "\u6FC0\u6D3B\u671F\u6743\u4EA4\u6613 \u2014 ADMIN\uFF0C\u9700\u786E\u8BA4" },
35178
- { name: "okx_set_account_mode", auth: "API Key (\u4EA4\u6613)", params: "acctLv(1|2|3|4)", what: "\u8BBE\u7F6E\u8D26\u6237\u5C42\u7EA7 \u2014 ADMIN\uFF0C\u9700\u786E\u8BA4" }
35179
- ]
35180
- },
35181
- "\u884C\u60C5\u770B\u76D8": {
35182
- workflow: "okx_quick_market\uFF08\u901F\u89C8\uFF09\u2192 \u9700\u8981K\u7EBF\u65F6\u8C03 okx_get_candles \u2192 \u9700\u8981\u5168\u6DF1\u5EA6\u65F6\u8C03 okx_get_orderbook",
35183
- tools: [
35184
- { name: "okx_quick_market", auth: "\u516C\u5F00", params: "instId", what: "\u884C\u60C5+5\u6863\u6DF1\u5EA6+\u8D44\u91D1\u8D39\u7387 \u4E09\u5408\u4E00\u901F\u89C8" },
35185
- { name: "okx_get_ticker", auth: "\u516C\u5F00", params: "instId", what: "\u5355\u4E2A\u4EA7\u54C1\u6700\u65B0\u884C\u60C5" },
35186
- { name: "okx_get_tickers", auth: "\u516C\u5F00", params: "instType", what: "\u67D0\u7C7B\u578B\u5168\u90E8\u4EA7\u54C1\u884C\u60C5" },
35187
- { name: "okx_get_orderbook", auth: "\u516C\u5F00", params: "instId, sz?", what: "\u8BA2\u5355\u7C3F\u6DF1\u5EA6\uFF08\u9ED8\u8BA41\u6863\uFF0C\u6700\u5927400\u6863\uFF09" },
35188
- { name: "okx_get_books_full", auth: "\u516C\u5F00", params: "instId", what: "\u5168\u91CF\u8BA2\u5355\u7C3F" },
35189
- { name: "okx_get_candles", auth: "\u516C\u5F00", params: "instId, bar, limit?", what: "K\u7EBF\u6570\u636E" },
35190
- { name: "okx_get_history_candles", auth: "\u516C\u5F00", params: "instId, bar, after?", what: "\u5386\u53F2K\u7EBF\uFF08\u66F4\u65E9\u7684\uFF09" },
35191
- { name: "okx_get_index_candles", auth: "\u516C\u5F00", params: "instId, bar", what: "\u6307\u6570K\u7EBF" },
35192
- { name: "okx_get_mark_price_candles", auth: "\u516C\u5F00", params: "instId, bar", what: "\u6807\u8BB0\u4EF7K\u7EBF" },
35193
- { name: "okx_get_trades", auth: "\u516C\u5F00", params: "instId, limit?", what: "\u6700\u65B0\u6210\u4EA4\u8BB0\u5F55" },
35194
- { name: "okx_get_history_trades", auth: "\u516C\u5F00", params: "instId, after?", what: "\u5386\u53F2\u6210\u4EA4\u8BB0\u5F55" },
35195
- { name: "okx_get_index_tickers", auth: "\u516C\u5F00", params: "quoteCcy?", what: "\u6307\u6570\u884C\u60C5" },
35196
- { name: "okx_get_block_tickers", auth: "\u516C\u5F00", params: "instType", what: "\u6279\u91CF\u4EA7\u54C1\u884C\u60C5\uFF08Tickers\uFF09" },
35197
- { name: "okx_get_mark_price", auth: "\u516C\u5F00", params: "instType?, instId?", what: "\u6807\u8BB0\u4EF7\u683C" },
35198
- { name: "okx_get_funding_rate", auth: "\u516C\u5F00", params: "instId", what: "\u6C38\u7EED\u5408\u7EA6\u5F53\u524D\u8D44\u91D1\u8D39\u7387" },
35199
- { name: "okx_get_funding_rate_history", auth: "\u516C\u5F00", params: "instId, before?, after?", what: "\u8D44\u91D1\u8D39\u7387\u5386\u53F2" }
35200
- ]
35201
- },
35202
- "\u4E0B\u5355\u4EA4\u6613": {
35203
- workflow: "\u5148\u8C03 agent_simulate_order \u9884\u4F30 \u2192 \u518D\u8C03 okx_preflight_check \u6821\u9A8C \u2192 \u6700\u540E agent_quick_trade \u4E0B\u5355",
35204
- tools: [
35205
- { name: "agent_quick_trade", auth: "API Key (\u4EA4\u6613)", params: "instId, side, sz, tdMode, px?, ordType?", what: "\u4E00\u952E\u4E0B\u5355\u5168\u6D41\u7A0B \u2014 WRITE\uFF0C\u9700\u786E\u8BA4" },
35206
- { name: "agent_simulate_order", auth: "API Key (\u53EA\u8BFB)", params: "instId, side, sz, tdMode, px?", what: "\u6A21\u62DF\u4E0B\u5355\uFF1A\u6ED1\u70B9/\u624B\u7EED\u8D39/\u6210\u672C\u9884\u4F30\uFF08\u65E0\u771F\u5B9E\u8BA2\u5355\uFF09" },
35207
- { name: "okx_preflight_check", auth: "API Key (\u53EA\u8BFB)", params: "instId, tdMode, sz, px?, side?, ordType?", what: "\u4E0B\u5355\u524D\u9884\u68C0\uFF1A\u6570\u91CF/\u9650\u4EF7/\u5408\u7EA6\u6362\u7B97" },
35208
- { name: "okx_place_order", auth: "API Key (\u4EA4\u6613)", params: "instId, tdMode, side, sz, ordType, px?", what: "\u6807\u51C6\u4E0B\u5355 \u2014 WRITE\uFF0C\u9700\u786E\u8BA4" },
35209
- { name: "okx_batch_orders", auth: "API Key (\u4EA4\u6613)", params: "orders[]", what: "\u6279\u91CF\u4E0B\u5355 \u2014 WRITE" },
35210
- { name: "okx_cancel_order", auth: "API Key (\u4EA4\u6613)", params: "instId, ordId", what: "\u64A4\u9500\u5355\u7B14\u8BA2\u5355 \u2014 WRITE" },
35211
- { name: "okx_batch_cancel_orders", auth: "API Key (\u4EA4\u6613)", params: "orders[]", what: "\u6279\u91CF\u64A4\u5355 \u2014 WRITE" },
35212
- { name: "okx_amend_order", auth: "API Key (\u4EA4\u6613)", params: "instId, ordId, newSz?, newPx?", what: "\u4FEE\u6539\u672A\u6210\u4EA4\u8BA2\u5355 \u2014 WRITE" },
35213
- { name: "okx_amend_batch_orders", auth: "API Key (\u4EA4\u6613)", params: "orders[]", what: "\u6279\u91CF\u6539\u5355 \u2014 WRITE" },
35214
- { name: "okx_close_position", auth: "API Key (\u4EA4\u6613)", params: "instId, posSide, mgnMode", what: "\u5E73\u4ED3\uFF08\u7528 _actionContext \u4E2D\u53C2\u6570\uFF09\u2014 WRITE\uFF0C\u9700\u786E\u8BA4" },
35215
- { name: "okx_get_order", auth: "API Key", params: "instId, ordId", what: "\u67E5\u8BE2\u5355\u7B14\u8BA2\u5355\u72B6\u6001" },
35216
- { name: "okx_get_orders_pending", auth: "API Key", params: "instType?, instId?", what: "\u5F53\u524D\u6302\u5355\u5217\u8868" },
35217
- { name: "okx_get_orders_history", auth: "API Key", params: "instType, limit?", what: "\u5386\u53F2\u8BA2\u5355\uFF08\u8FD13\u4E2A\u6708\uFF09" },
35218
- { name: "okx_get_fills", auth: "API Key", params: "instType?, instId?, ordId?", what: "\u6700\u8FD1\u6210\u4EA4\u660E\u7EC6" },
35219
- { name: "okx_get_fills_history", auth: "API Key", params: "instType?, instId?, limit?", what: "\u5386\u53F2\u6210\u4EA4\u660E\u7EC6" }
35220
- ]
35221
- },
35222
- "\u98CE\u9669\u98CE\u63A7": {
35223
- workflow: "agent_risk_overview\uFF08\u5168\u666F\uFF09\u2192 \u53D1\u73B0\u98CE\u9669\u4ED3\u4F4D \u2192 agent_quick_trade \u5E73\u4ED3",
35224
- tools: [
35225
- { name: "agent_risk_overview", auth: "API Key", params: "\u65E0", what: "\u5168\u4ED3\u98CE\u9669\u4EEA\u8868\u76D8\uFF1A\u98CE\u9669\u6392\u5E8F+\u5F3A\u5E73\u9884\u8B66+\u4FDD\u8BC1\u91D1\u7387" },
35226
- { name: "okx_get_account_position_risk", auth: "API Key", params: "\u65E0", what: "\u8D26\u6237\u6301\u4ED3\u98CE\u9669\u8BE6\u60C5" },
35227
- { name: "okx_get_risk_state", auth: "API Key", params: "\u65E0", what: "\u8D26\u6237\u98CE\u63A7\u72B6\u6001" },
35228
- { name: "okx_get_margin_balance", auth: "API Key", params: "instId, mgnMode", what: "\u67D0\u4EA7\u54C1\u7684\u4FDD\u8BC1\u91D1\u4F59\u989D" },
35229
- { name: "okx_get_positions", auth: "API Key", params: "instType?", what: "\u6301\u4ED3\u4E2D\u7684 liqPx/mgnRatio \u5B57\u6BB5\u53EF\u76F4\u63A5\u8BC4\u4F30\u98CE\u9669" },
35230
- { name: "okx_get_max_withdrawal", auth: "API Key", params: "ccy?", what: "\u6700\u5927\u53EF\u63D0\u73B0\u989D\u5EA6" }
35231
- ]
35232
- },
35233
- "\u5E02\u573A\u626B\u63CF": {
35234
- workflow: "agent_market_scan\uFF08\u5F02\u52A8\uFF09\u2192 okx_quick_market\uFF08\u6DF1\u5165\uFF09\u2192 \u4E0B\u5355",
35235
- tools: [
35236
- { name: "agent_market_scan", auth: "\u516C\u5F00", params: "instType?, topN?, sortBy?", what: "\u6DA8\u5E45\u699C/\u8DCC\u5E45\u699C/\u6210\u4EA4\u91CF/\u8D44\u91D1\u8D39\u7387\u5F02\u5E38\u4E00\u952E\u626B\u63CF" },
35237
- { name: "okx_get_tickers", auth: "\u516C\u5F00", params: "instType", what: "\u67D0\u7C7B\u578B\u5168\u90E8\u4EA7\u54C1\u884C\u60C5\uFF08\u53EF\u81EA\u884C\u6392\u5E8F\u8FC7\u6EE4\uFF09" },
35238
- { name: "okx_get_funding_rate", auth: "\u516C\u5F00", params: "instId", what: "\u5355\u4EA7\u54C1\u8D44\u91D1\u8D39\u7387" },
35239
- { name: "okx_get_funding_rate_history", auth: "\u516C\u5F00", params: "instId", what: "\u8D44\u91D1\u8D39\u7387\u5386\u53F2\u8D8B\u52BF" }
35240
- ]
35241
- },
35242
- "\u76C8\u4E8F\u590D\u76D8": {
35243
- workflow: "agent_pnl_report\uFF08\u76C8\u4E8F\u62A5\u544A\uFF09\u2192 \u9700\u8981\u65F6\u67E5 okx_get_fills \u660E\u7EC6",
35244
- tools: [
35245
- { name: "agent_pnl_report", auth: "API Key", params: "days?", what: "\u6D6E\u52A8\u76C8\u4E8F+\u5DF2\u5B9E\u73B0\u76C8\u4E8F \u53CC\u7EF4\u65E5\u62A5" },
35246
- { name: "okx_get_positions", auth: "API Key", params: "instType?", what: "\u5F53\u524D\u6301\u4ED3\u6D6E\u52A8\u76C8\u4E8F" },
35247
- { name: "okx_get_positions_history", auth: "API Key", params: "instType?, instId?", what: "\u5386\u53F2\u5E73\u4ED3\u76C8\u4E8F" },
35248
- { name: "okx_get_orders_history", auth: "API Key", params: "instType", what: "\u5386\u53F2\u8BA2\u5355\u76C8\u4E8F" },
35249
- { name: "okx_get_fills", auth: "API Key", params: "instType?, instId?", what: "\u9010\u7B14\u6210\u4EA4\u660E\u7EC6\uFF08\u53EF\u6309 pnl \u5B57\u6BB5\u6C42\u548C\uFF09" }
35250
- ]
35251
- },
35252
- "\u8D44\u91D1\u7BA1\u7406": {
35253
- workflow: "\u5148\u770B\u4F59\u989D \u2192 \u518D\u51B3\u5B9A\u5212\u8F6C/\u63D0\u73B0/\u5145\u503C",
35254
- tools: [
35255
- { name: "okx_get_balance", auth: "API Key", params: "ccy?", what: "\u4EA4\u6613\u8D26\u6237\u4F59\u989D" },
35256
- { name: "okx_get_funding_balance", auth: "API Key", params: "ccy?", what: "\u8D44\u91D1\u8D26\u6237\u4F59\u989D" },
35257
- { name: "okx_transfer", auth: "API Key (\u4EA4\u6613)", params: "ccy, amt, from, to", what: "\u8D44\u91D1\u5212\u8F6C \u2014 FUND_TRANSFER\uFF0C\u9700\u786E\u8BA4" },
35258
- { name: "okx_get_transfer_state", auth: "API Key", params: "transId?", what: "\u5212\u8F6C\u72B6\u6001\u67E5\u8BE2" },
35259
- { name: "okx_withdrawal", auth: "API Key (\u4EA4\u6613)", params: "ccy, amt, dest, toAddr", what: "\u63D0\u73B0 \u2014 FUND_TRANSFER\uFF0C\u9700\u786E\u8BA4" },
35260
- { name: "okx_get_deposit_address", auth: "API Key", params: "ccy", what: "\u83B7\u53D6\u5145\u503C\u5730\u5740" },
35261
- { name: "okx_get_deposit_history", auth: "API Key", params: "ccy?, limit?", what: "\u5145\u503C\u8BB0\u5F55" },
35262
- { name: "okx_get_withdrawal_history", auth: "API Key", params: "ccy?, limit?", what: "\u63D0\u73B0\u8BB0\u5F55" },
35263
- { name: "okx_get_currencies", auth: "API Key", params: "ccy?", what: "\u94FE\u4E0A\u5E01\u79CD\u4FE1\u606F" },
35264
- { name: "okx_convert_trade", auth: "API Key (\u4EA4\u6613)", params: "fromCcy, toCcy, sz", what: "\u4E00\u952E\u5151\u6362 \u2014 FUND_TRANSFER\uFF0C\u9700\u786E\u8BA4" },
35265
- { name: "okx_get_convert_currencies", auth: "API Key", params: "\u65E0", what: "\u53EF\u5151\u6362\u5E01\u79CD\u5217\u8868" },
35266
- { name: "okx_get_max_withdrawal", auth: "API Key", params: "ccy?", what: "\u6700\u5927\u53EF\u63D0\u73B0\u6570\u91CF" },
35267
- { name: "okx_get_non_tradable_assets", auth: "API Key", params: "ccy?", what: "\u4E0D\u53EF\u4EA4\u6613\u8D44\u4EA7" },
35268
- { name: "okx_get_exchange_list", auth: "API Key", params: "\u65E0", what: "\u4EA4\u6613\u6240\u5217\u8868" },
35269
- { name: "okx_get_deposit_withdraw_status", auth: "API Key", params: "\u65E0", what: "\u5145\u63D0\u72B6\u6001" }
35270
- ]
35271
- },
35272
- "\u7B56\u7565\u4EA4\u6613": {
35273
- workflow: "\u7F51\u683C/\u8DDF\u5355/\u4FE1\u53F7/\u7B56\u7565\u59D4\u6258 \u5404\u81EA\u72EC\u7ACB\uFF0C\u6309\u9700\u8C03\u7528",
35274
- tools: [
35275
- { name: "okx_get_grid_ai_param", auth: "API Key", params: "instType, algoOrdType", what: "\u7F51\u683CAI\u53C2\u6570\u63A8\u8350" },
35276
- { name: "okx_create_grid_order", auth: "API Key (\u4EA4\u6613)", params: "instId, algoOrdType, maxPx, minPx, gridNum, sz", what: "\u521B\u5EFA\u7F51\u683C \u2014 WRITE" },
35277
- { name: "okx_stop_grid_order", auth: "API Key (\u4EA4\u6613)", params: "algoId, instId, algoOrdType, stopType", what: "\u505C\u6B62\u7F51\u683C" },
35278
- { name: "okx_close_grid_position", auth: "API Key (\u4EA4\u6613)", params: "algoId, mktClose", what: "\u5E73\u4ED3\u7F51\u683C\u6240\u6709\u6301\u4ED3" },
35279
- { name: "okx_get_grid_positions", auth: "API Key (\u4EA4\u6613)", params: "algoOrdType, algoId?", what: "\u7F51\u683C\u6301\u4ED3" },
35280
- { name: "okx_get_grid_sub_orders", auth: "API Key", params: "algoId, algoOrdType, type", what: "\u7F51\u683C\u5B50\u8BA2\u5355" },
35281
- { name: "okx_get_grid_orders_pending", auth: "API Key", params: "algoOrdType, algoId?", what: "\u8FD0\u884C\u4E2D\u7684\u7F51\u683C" },
35282
- { name: "okx_get_grid_orders_history", auth: "API Key", params: "algoOrdType, algoId?", what: "\u5386\u53F2\u7F51\u683C" },
35283
- { name: "okx_create_recurring_plan", auth: "API Key (\u4EA4\u6613)", params: "instId, sz, period, recurringList", what: "\u5B9A\u6295\u8BA1\u5212 \u2014 WRITE" },
35284
- { name: "okx_stop_recurring_plan", auth: "API Key (\u4EA4\u6613)", params: "algoId", what: "\u505C\u6B62\u5B9A\u6295" },
35285
- { name: "okx_copy_trader", auth: "API Key (\u4EA4\u6613)", params: "uniqueCode, copyTotalAmt, instType", what: "\u5F00\u59CB\u8DDF\u5355 \u2014 WRITE\uFF0C\u9700\u786E\u8BA4" },
35286
- { name: "okx_get_copy_traders", auth: "API Key", params: "\u65E0", what: "\u6211\u5173\u6CE8\u7684\u4EA4\u6613\u5458" },
35287
- { name: "okx_get_public_lead_traders", auth: "\u516C\u5F00", params: "instType, sortType?", what: "\u516C\u5F00\u4EA4\u6613\u5458\u5217\u8868" },
35288
- { name: "okx_get_lead_trader_positions", auth: "API Key", params: "uniqueCode", what: "\u4EA4\u6613\u5458\u5F53\u524D\u6301\u4ED3" },
35289
- { name: "okx_get_lead_trader_stats", auth: "API Key", params: "uniqueCode", what: "\u4EA4\u6613\u5458\u4E1A\u7EE9\u7EDF\u8BA1" },
35290
- { name: "okx_place_algo_order", auth: "API Key (\u4EA4\u6613)", params: "instId, tdMode, side, ordType, sz, triggerPx", what: "\u7B56\u7565\u59D4\u6258\u4E0B\u5355 \u2014 WRITE" },
35291
- { name: "okx_get_algo_orders", auth: "API Key", params: "ordType?, algoId?", what: "\u7B56\u7565\u59D4\u6258\u5217\u8868" },
35292
- { name: "okx_cancel_algo_order", auth: "API Key (\u4EA4\u6613)", params: "algoId, instId", what: "\u64A4\u9500\u7B56\u7565\u59D4\u6258 \u2014 WRITE" }
35293
- ]
35294
- },
35295
- "\u9884\u6D4B\u5E02\u573A": {
35296
- workflow: "okx_event_instruments \u770B\u5E02\u573A \u2192 okx_event_place_order \u4E0B\u5355",
35297
- tools: [
35298
- { name: "okx_event_instruments", auth: "\u516C\u5F00", params: "eventType?", what: "\u4E8B\u4EF6\u5408\u7EA6\u4EA7\u54C1\u5217\u8868" },
35299
- { name: "okx_event_place_order", auth: "API Key (\u4EA4\u6613)", params: "instId, side, sz, ordType?", what: "\u4E8B\u4EF6\u5408\u7EA6\u4E0B\u5355 \u2014 WRITE" },
35300
- { name: "okx_event_cancel_order", auth: "API Key (\u4EA4\u6613)", params: "instId, ordId", what: "\u4E8B\u4EF6\u5408\u7EA6\u64A4\u5355 \u2014 WRITE" },
35301
- { name: "okx_event_amend_order", auth: "API Key (\u4EA4\u6613)", params: "instId, ordId, newSz?", what: "\u4E8B\u4EF6\u5408\u7EA6\u6539\u5355 \u2014 WRITE" },
35302
- { name: "okx_event_fills", auth: "API Key", params: "instId?", what: "\u4E8B\u4EF6\u5408\u7EA6\u6210\u4EA4\u8BB0\u5F55" },
35303
- { name: "okx_predictions_place_order", auth: "API Key (\u4EA4\u6613)", params: "marketId, side, price, size", what: "\u9884\u6D4B\u5E02\u573A\u4E0B\u5355 \u2014 WRITE" },
35304
- { name: "okx_predictions_positions", auth: "API Key", params: "marketId?", what: "\u9884\u6D4B\u5E02\u573A\u6301\u4ED3" },
35305
- { name: "okx_predictions_order_list", auth: "API Key", params: "marketId?, status?", what: "\u9884\u6D4B\u5E02\u573A\u8BA2\u5355\u5217\u8868" },
35306
- { name: "okx_predictions_redeem", auth: "API Key (\u4EA4\u6613)", params: "marketId, outcome", what: "\u9884\u6D4B\u5E02\u573A\u8D4E\u56DE \u2014 WRITE" },
35307
- { name: "okx_predictions_balance", auth: "API Key", params: "\u65E0", what: "\u9884\u6D4B\u5E02\u573A\u4F59\u989D" }
35308
- ]
35309
- },
35310
- "\u6280\u672F\u6307\u6807": {
35311
- workflow: "okx_indicator \u5355\u6307\u6807\u8BA1\u7B97 \u2192 \u9700\u8981\u7EFC\u5408\u5224\u65AD\u65F6 okx_indicator_batch \u6279\u91CF\u8BA1\u7B97",
35312
- tools: [
35313
- { name: "okx_indicator", auth: "\u516C\u5F00", params: "instId, indicator, period?, bar?", what: "\u5355\u6307\u6807\u8BA1\u7B97+Agent\u4FE1\u53F7\u89E3\u8BFB\uFF0817\u79CD\u6307\u6807\u542BRSI/MACD/BB/ATR/ADX\u7B49\uFF09" },
35314
- { name: "okx_indicator_batch", auth: "\u516C\u5F00", params: "instId, indicators(\u9017\u53F7\u5206\u9694), bar?", what: "\u591A\u6307\u6807\u6279\u91CF\u8BA1\u7B97+\u7EFC\u5408\u4FE1\u53F7\u5171\u8BC6\uFF08\u6700\u591A10\u4E2A\u6307\u6807\uFF09" }
35315
- ]
35316
- },
35317
- "\u806A\u660E\u94B1": {
35318
- workflow: "okx_smart_leaderboard \u770B\u6392\u884C \u2192 okx_smart_trader_detail \u6DF1\u6316 \u2192 okx_smart_sentiment \u770B\u60C5\u7EEA",
35319
- tools: [
35320
- { name: "okx_smart_leaderboard", auth: "\u516C\u5F00", params: "instType?, sortBy?, topN?", what: "\u4EA4\u6613\u5458\u6392\u884C\u699C\uFF08\u6309\u6536\u76CA\u7387/\u603B\u6536\u76CA/\u8DDF\u5355\u4EBA\u6570\u6392\u5E8F\uFF09" },
35321
- { name: "okx_smart_trader_detail", auth: "\u516C\u5F00", params: "uniqueCode, instType?", what: "\u5355\u4EA4\u6613\u5458\u5168\u666F\uFF1A\u6536\u76CA\u7387+\u80DC\u7387+\u56DE\u64A4+\u6301\u4ED3+PnL\u66F2\u7EBF" },
35322
- { name: "okx_smart_sentiment", auth: "\u516C\u5F00", params: "instFamily?", what: "\u5E02\u573A\u60C5\u7EEA\u4EEA\u8868\u76D8\uFF1A\u591A\u7A7A\u6BD4+PCR+\u8D44\u91D1\u8D39\u7387 \u2192 \u91CF\u5316\u8BC4\u5206(0-100)" }
35323
- ]
35324
- },
35325
- "WebSocket \u5B9E\u65F6": {
35326
- workflow: "okx_ws_subscribe \u516C\u5F00\u9891\u9053 \u2192 okx_ws_subscribe_private \u79C1\u6709\u9891\u9053\uFF08\u9700Key\uFF09\u2192 okx_ws_events \u62C9\u53D6 \u2192 okx_ws_status \u7BA1\u7406",
35327
- tools: [
35328
- { name: "okx_ws_subscribe", auth: "\u516C\u5F00", params: "instId, channel (33\u516C\u5F00\u9891\u9053)", what: "\u8BA2\u9605\u516C\u5F00\u9891\u9053\uFF1A\u884C\u60C5/\u6DF1\u5EA6/\u7206\u4ED3/\u4EF7\u5DEE/\u5927\u5B97/\u8D44\u91D1\u8D39\u7387\u7B49" },
35329
- { name: "okx_ws_subscribe_private", auth: "API Key", params: "instId?, channel (22\u79C1\u6709\u9891\u9053)", what: "\u8BA2\u9605\u79C1\u6709\u9891\u9053\uFF1A\u8D26\u6237/\u6301\u4ED3/\u8BA2\u5355/\u7F51\u683C/\u8DDF\u5355\u7B49\u5B9E\u65F6\u63A8\u9001" },
35330
- { name: "okx_ws_events", auth: "\u516C\u5F00", params: "subscriptionId?, limit?, filter?", what: "\u62C9\u53D6\u7F13\u51B2\u7684\u5B9E\u65F6\u4E8B\u4EF6" },
35331
- { name: "okx_ws_status", auth: "\u516C\u5F00", params: "\u65E0", what: "\u5F53\u524D\u6240\u6709\u8BA2\u9605+\u7F13\u51B2\u79EF\u538B" },
35332
- { name: "okx_ws_close", auth: "\u516C\u5F00", params: "subscriptionId?", what: "\u5173\u95ED\u8BA2\u9605" }
35333
- ]
35334
- },
35335
- "\u6A21\u62DF\u4F30\u7B97": {
35336
- workflow: "agent_simulate_order\uFF08\u9884\u4F30\uFF09\u2192 \u7528\u6237\u786E\u8BA4 \u2192 agent_quick_trade\uFF08\u771F\u5B9E\u4E0B\u5355\uFF09",
35337
- tools: [
35338
- { name: "agent_simulate_order", auth: "API Key (\u53EA\u8BFB)", params: "instId, side, sz, tdMode, px?", what: "\u6A21\u62DF\u4E0B\u5355\uFF1A\u6210\u4EA4\u4EF7/\u6ED1\u70B9/\u624B\u7EED\u8D39/\u8D44\u91D1\u5360\u7528 \u5168\u9884\u4F30" },
35339
- { name: "okx_preflight_check", auth: "API Key (\u53EA\u8BFB)", params: "instId, tdMode, sz, px?, side?, ordType?", what: "\u4E0B\u5355\u9884\u68C0\uFF1A\u6700\u5927\u53EF\u5F00/\u9650\u4EF7/\u5408\u7EA6\u6362\u7B97" },
35340
- { name: "okx_position_builder", auth: "API Key (\u4EA4\u6613)", params: "body(JSON)", what: "\u7EC4\u5408\u4FDD\u8BC1\u91D1\u8BD5\u7B97 \u2014 WRITE" }
35341
- ]
35342
- },
35343
- "\u4EE3\u7801\u667A\u80FD": {
35344
- workflow: "codegraph_status \u770B\u72B6\u6001 \u2192 codegraph_query \u8FFD\u8E2A\u8C03\u7528\u94FE/\u641C\u7D22\u7B26\u53F7 \u2192 \u7528 Read \u770B\u6E90\u7801\u7EC6\u8282",
35345
- tools: [
35346
- { name: "codegraph_status", auth: "\u516C\u5F00", params: "\u65E0", what: "\u77E5\u8BC6\u56FE\u8C31\u72B6\u6001\uFF1A\u8282\u70B9\u6570/\u8FB9\u6570/\u8986\u76D6\u6587\u4EF6/\u6700\u540E\u7D22\u5F15" },
35347
- { name: "codegraph_query", auth: "\u516C\u5F00", params: "mode (callers|callees|explore|files), symbol?, question?, limit?", what: "\u67E5\u8BE2\u8C03\u7528\u94FE / \u7B26\u53F7\u641C\u7D22 / \u6A21\u5757\u4F9D\u8D56 / \u6309\u6587\u4EF6\u67E5" }
35348
- ]
35349
- },
35350
- "\u7CFB\u7EDF\u5DE5\u5177": {
35351
- workflow: "\u6309\u9700\u8C03\u7528\uFF0C\u5404\u5DE5\u5177\u72EC\u7ACB",
35352
- tools: [
35353
- { name: "agent_catalog", auth: "\u516C\u5F00", params: "\u65E0", what: "\u4F60\u6B63\u5728\u770B\u7684\u8FD9\u4E2A" },
35354
- { name: "agent_catalog_detail", auth: "\u516C\u5F00", params: "domain", what: "\u67E5\u770B\u67D0\u4E2A\u57DF\u7684\u8BE6\u7EC6\u5DE5\u5177\u6E05\u5355" },
35355
- { name: "agent_get_preference", auth: "\u516C\u5F00", params: "key?", what: "\u8BFB\u53D6 Agent \u6301\u4E45\u5316\u504F\u597D" },
35356
- { name: "agent_set_preference", auth: "\u516C\u5F00", params: "key, value", what: "\u4FDD\u5B58 Agent \u504F\u597D" },
35357
- { name: "okx_agent_feedback", auth: "\u516C\u5F00", params: "title, what, tools, pain, suggestion", what: "\u63D0\u4EA4\u4F7F\u7528\u53CD\u9988" },
35358
- { name: "agent_hub_status", auth: "\u516C\u5F00", params: "\u65E0", what: "Agent \u96C6\u7FA4\u72B6\u6001" },
35359
- { name: "agent_hub_dispatch", auth: "\u516C\u5F00", params: "taskId, agentId?", what: "\u6D3E\u53D1\u4EFB\u52A1\u7ED9 Agent" },
35360
- { name: "agent_hub_review", auth: "\u516C\u5F00", params: "taskId, verdict, feedback?", what: "\u5BA1\u6838 Agent \u63D0\u4EA4\u7ED3\u679C" },
35361
- { name: "agent_room_send", auth: "\u516C\u5F00", params: "roomId, text", what: "\u53D1\u9001\u623F\u95F4\u6D88\u606F" },
35362
- { name: "agent_room_view", auth: "\u516C\u5F00", params: "roomId?, limit?", what: "\u67E5\u770B\u623F\u95F4\u6D88\u606F\u5386\u53F2" },
35363
- { name: "xlayer_subscribe", auth: "\u516C\u5F00", params: "channel, address?", what: "X Layer \u94FE\u4E0A\u4E8B\u4EF6\u8BA2\u9605" },
35364
- { name: "xlayer_call", auth: "\u516C\u5F00", params: "to, data, value?", what: "X Layer \u5408\u7EA6\u8C03\u7528 \u2014 WRITE" },
35365
- { name: "xlayer_get_events", auth: "\u516C\u5F00", params: "channel?", what: "X Layer \u94FE\u4E0A\u4E8B\u4EF6" },
35366
- { name: "okx_get_system_status", auth: "\u516C\u5F00", params: "\u65E0", what: "OKX \u7CFB\u7EDF\u72B6\u6001" },
35367
- { name: "okx_get_instruments", auth: "\u516C\u5F00", params: "instType, instId?", what: "\u4EA7\u54C1\u5217\u8868/\u8BE6\u60C5" }
35368
- ]
35369
- }
35370
- };
35283
+ const DOMAIN_DETAILS2 = DOMAIN_DETAILS;
35371
35284
  registerTool(
35372
35285
  server,
35373
35286
  "agent_catalog_detail",
@@ -35378,13 +35291,13 @@ function registerAgentUtils(server, auth) {
35378
35291
  },
35379
35292
  async ({ domain }) => {
35380
35293
  try {
35381
- const detail = DOMAIN_DETAILS[domain];
35294
+ const detail = DOMAIN_DETAILS2[domain];
35382
35295
  const hasAuth = auth !== null;
35383
35296
  if (!detail) {
35384
35297
  return toResult({
35385
35298
  found: false,
35386
35299
  domain,
35387
- availableDomains: Object.keys(DOMAIN_DETAILS),
35300
+ availableDomains: Object.keys(DOMAIN_DETAILS2),
35388
35301
  hint: "\u8BF7\u4ECE availableDomains \u4E2D\u9009\u62E9\u4E00\u4E2A\u57DF\uFF0C\u6216\u8C03 agent_catalog \u67E5\u770B\u5B8C\u6574\u5BFC\u822A",
35389
35302
  tsIso: (/* @__PURE__ */ new Date()).toISOString()
35390
35303
  });
@@ -38295,7 +38208,7 @@ async function startStdio(server, version2, auth, readOnly, skipped, skipLog) {
38295
38208
  await server.connect(transport);
38296
38209
  }
38297
38210
  async function main() {
38298
- const VERSION = "0.2.59";
38211
+ const VERSION = "0.3.0";
38299
38212
  const argv = process.argv.slice(2);
38300
38213
  if (argv.includes("--help") || argv.includes("-h")) printHelpAndExit(VERSION);
38301
38214
  if (argv.includes("--version") || argv.includes("-v")) {