travel-r12.json 116 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317
  1. {
  2. "companyId": 338,
  3. "includeStress": true,
  4. "dialogueIndustry": "travel",
  5. "startedAt": "2026-06-23 06:50:05",
  6. "sections": {
  7. "enginePrompts": {
  8. "expectedCatalogKeys": 50,
  9. "newlyInserted": 0,
  10. "missingKeys": [
  11. ],
  12. "platformKeyCount": 50,
  13. "passed": true,
  14. "message": "platform engine prompts complete (50 keys)"
  15. },
  16. "triggerExclude": {
  17. "passed": true,
  18. "errors": [
  19. ],
  20. "message": "trigger exclude/sarcasm/schedule checks ok"
  21. },
  22. "runtimeCapabilities": {
  23. "capabilityTags": [
  24. "product",
  25. "weather",
  26. "logistics",
  27. "survey",
  28. "live",
  29. "article",
  30. "order",
  31. "order_list",
  32. "coupon",
  33. "crm",
  34. "sms"
  35. ],
  36. "toolCount": 11,
  37. "intentChecks": [
  38. {
  39. "message": "这几条线路看起来不错",
  40. "expectedTool": "query_product",
  41. "matchedTool": "query_product",
  42. "passed": "true"
  43. },
  44. {
  45. "message": "云南天气怎么样",
  46. "expectedTool": "query_weather",
  47. "matchedTool": "query_weather",
  48. "passed": "true"
  49. },
  50. {
  51. "message": "我的快递发货了吗",
  52. "expectedTool": "query_logistics",
  53. "matchedTool": "query_logistics",
  54. "passed": "true"
  55. },
  56. {
  57. "message": "满意度打分",
  58. "expectedTool": "start_survey",
  59. "matchedTool": "start_survey",
  60. "passed": "true"
  61. },
  62. {
  63. "message": "有没有新线路优惠",
  64. "expectedTool": "query_product",
  65. "matchedTool": "query_product",
  66. "passed": "true"
  67. },
  68. {
  69. "message": "有直播吗",
  70. "expectedTool": "push_live",
  71. "matchedTool": "push_live",
  72. "passed": "true"
  73. },
  74. {
  75. "message": "发我看看文章",
  76. "expectedTool": "push_article",
  77. "matchedTool": "push_article",
  78. "passed": "true"
  79. }
  80. ],
  81. "surveySmoke": true,
  82. "issues": [
  83. ],
  84. "passed": true,
  85. "message": "运行时能力校验通过"
  86. },
  87. "capabilityDialogue": {
  88. "lines": [
  89. {
  90. "message": "云南7月份天气怎么样,需要带什么衣服",
  91. "matchedTool": "query_weather",
  92. "triggered": true,
  93. "toolStatus": "ok",
  94. "summary": "已查询 云南 天气"
  95. },
  96. {
  97. "message": "快递发货了吗,帮我查一下物流",
  98. "matchedTool": "query_logistics",
  99. "triggered": true,
  100. "toolStatus": "ok",
  101. "summary": "{success=false, error=未找到物流单号,请确认是否已发货}"
  102. },
  103. {
  104. "message": "有没有适合带老人的新线路推荐",
  105. "matchedTool": "query_product",
  106. "triggered": true,
  107. "toolStatus": "ok",
  108. "summary": "{products=[], count=0}"
  109. },
  110. {
  111. "message": "今晚有直播吗,发我直播间链接",
  112. "matchedTool": "push_live",
  113. "triggered": true,
  114. "toolStatus": "ok",
  115. "summary": "暂无可用直播,请稍后再试"
  116. },
  117. {
  118. "message": "有没有出行攻略文章发我看看",
  119. "matchedTool": "push_article",
  120. "triggered": true,
  121. "toolStatus": "ok",
  122. "summary": "为您推荐文章:测试0603"
  123. },
  124. {
  125. "message": "满意度打5分,服务挺好的",
  126. "matchedTool": "start_survey",
  127. "triggered": true,
  128. "toolStatus": "ok",
  129. "summary": "已记录客户参与「satisfaction」问卷意向,请在对话中自然引导完成反馈"
  130. }
  131. ],
  132. "lineCount": 6,
  133. "warnings": [
  134. ],
  135. "issues": [
  136. ],
  137. "passed": true,
  138. "message": "capabilityTriggers 联调通过"
  139. },
  140. "template": {
  141. "passed": true,
  142. "workflowId": 67,
  143. "templateCode": "LOB_1782166913862",
  144. "source": "existing",
  145. "message": "travel template found"
  146. },
  147. "lifecycleCoverage": {
  148. "coverageRatio": 1.0,
  149. "minCoverage": 0.75,
  150. "nodeCount": 16,
  151. "requiredNodeCount": 15,
  152. "missingNodes": [
  153. ],
  154. "passed": true,
  155. "message": "lifecycle nodes covered"
  156. },
  157. "sopDefaults": {
  158. "qwSopTempId": "LOBSTER_TRAVEL_POST_BOOKING",
  159. "wxSopTempId": "LOBSTER_TRAVEL_POST_BOOKING_WX",
  160. "tenantHint": "Create qw_sop/wx_sop tasks with temp_id matching the values above",
  161. "sopEnrollNodeConfig": "{\"sopTempId\":\"LOBSTER_TRAVEL_POST_BOOKING\",\"wxSopTempId\":\"LOBSTER_TRAVEL_POST_BOOKING_WX\",\"plannedIndustry\":\"travel\",\"systemPromptKey\":\"node_LOB_1782166913862_SOP_ENROLL_system\",\"preferContactAccount\":true,\"plannedRole\":\"MESSAGE\",\"instructionPromptKey\":\"node_LOB_1782166913862_SOP_ENROLL_instruction\",\"actionOnly\":true,\"promptPlanned\":true}",
  162. "hasSopEnrollNode": true,
  163. "passed": true,
  164. "message": "travel SOP defaults and SOP_ENROLL node present"
  165. },
  166. "sopEnrollment": {
  167. "qwTaskConfigured": false,
  168. "wxTaskConfigured": false,
  169. "tenantSopReady": false,
  170. "qwChannel": {
  171. "success": false,
  172. "skipped": null,
  173. "channelType": "QW",
  174. "message": "未找到可用的 SOP 任务(请配置 sopId 或 tempId)",
  175. "tempId": null,
  176. "sopId": null,
  177. "reachable": true
  178. },
  179. "wxChannel": {
  180. "success": false,
  181. "skipped": null,
  182. "channelType": "WX",
  183. "message": "未找到个微 SOP 任务(配置 sopId 或 wxSopTempId/tempId)",
  184. "tempId": null,
  185. "sopId": null,
  186. "reachable": true
  187. },
  188. "passed": true,
  189. "notes": [
  190. "tenant missing qw_sop temp_id=LOBSTER_TRAVEL_POST_BOOKING",
  191. "tenant missing wx_sop temp_id=LOBSTER_TRAVEL_POST_BOOKING_WX"
  192. ],
  193. "message": "routing ok; tenant missing qw_sop temp_id=LOBSTER_TRAVEL_POST_BOOKING; tenant missing wx_sop temp_id=LOBSTER_TRAVEL_POST_BOOKING_WX"
  194. },
  195. "nodePromptsPlanned": {
  196. "promptNodeTarget": 6,
  197. "promptNodeFilled": 6,
  198. "emptyPromptNodes": [
  199. ],
  200. "passed": true,
  201. "message": "key node prompts present"
  202. },
  203. "lifecycleSimulation": {
  204. "waitPreTripConfigured": true,
  205. "tagAutoConfigured": true,
  206. "orderActionConfigured": true,
  207. "holidayWaitConfigured": true,
  208. "passed": true,
  209. "message": "lifecycle orchestration nodes configured"
  210. },
  211. "lifecycleRuntime": {
  212. "simMinuteUnit": 10,
  213. "simDayEqualsMinutes": 10,
  214. "schedulerWakeWaitMs": 3500,
  215. "preTripWaitSchedule10m": {
  216. "waitUntil": 1782169200000,
  217. "expectedWaitAt": 1782169200000,
  218. "travelAt": "2026-06-23T07:50:13.760388100",
  219. "waitInRealMinutes": 9,
  220. "diffMinutes": 0,
  221. "simTimeScale": true,
  222. "passed": true,
  223. "message": "T-5 10m sim schedule ok"
  224. },
  225. "preTripWaitWake": {
  226. "passed": true,
  227. "message": "lifecycle wait wake ok",
  228. "statusAfter": "running",
  229. "resumeIndex": 8,
  230. "currentIndexAfter": 9,
  231. "instanceId": 569
  232. },
  233. "preTripSchedulerWake10m": {
  234. "scheduledWakeAt": 1782168620124,
  235. "schedulerWaitMs": 3500,
  236. "passed": true,
  237. "message": "scheduler 10m sim wake ok",
  238. "statusAfter": "running",
  239. "resumeIndex": 8,
  240. "currentIndexAfter": 9,
  241. "instanceId": 570
  242. },
  243. "holidayWaitSchedule10m": {
  244. "waitUntil": 1782186600000,
  245. "expectedWaitAt": 1782186600000,
  246. "waitInRealMinutes": 299,
  247. "simHolidayDays": 30,
  248. "simRealMinutes": 300,
  249. "diffMinutes": 0,
  250. "passed": true,
  251. "message": "holiday 10m sim schedule ok"
  252. },
  253. "holidayWaitWake": {
  254. "passed": true,
  255. "message": "lifecycle wait wake ok",
  256. "statusAfter": "completed",
  257. "resumeIndex": 13,
  258. "currentIndexAfter": 13,
  259. "instanceId": 571
  260. },
  261. "holidaySchedulerWake10m": {
  262. "scheduledWakeAt": 1782168628200,
  263. "schedulerWaitMs": 3500,
  264. "passed": true,
  265. "message": "scheduler 10m sim wake ok",
  266. "statusAfter": "completed",
  267. "resumeIndex": 13,
  268. "currentIndexAfter": 13,
  269. "instanceId": 572
  270. },
  271. "passed": true,
  272. "message": "lifecycle 10m sim schedule/wake ok"
  273. },
  274. "lifecycleFullFlowSim": {
  275. "instanceId": 573,
  276. "finalStatus": "completed",
  277. "finalNodeIndex": 13,
  278. "milestones": [
  279. "STARTED",
  280. "T5_SCHEDULED",
  281. "T5_WAITING",
  282. "PRE_TRIP_CARE",
  283. "PRE_TRIP_MULTITURN",
  284. "HOLIDAY_WAITING",
  285. "HOLIDAY_PROMO"
  286. ],
  287. "errors": [
  288. ],
  289. "passed": true,
  290. "message": "full lifecycle 10m sim flow ok",
  291. "simMinuteUnit": 10
  292. },
  293. "lifecycleExceptions": {
  294. "waitNotExpired": {
  295. "passed": true,
  296. "message": "not-expired wait rejected advance",
  297. "statusAfter": "waiting"
  298. },
  299. "prematureScheduler": {
  300. "passed": true,
  301. "message": "premature scheduler did not wake"
  302. },
  303. "blockedSchedulerSkip": {
  304. "passed": true,
  305. "message": "blocked instance skipped by scheduler"
  306. },
  307. "blockedForceWake": {
  308. "passed": true,
  309. "message": "blocked force wake rejected"
  310. },
  311. "overdueT5SkipWait": {
  312. "waitUntil": 1782166800000,
  313. "overdue": true,
  314. "wouldSkipSchedule": true,
  315. "passed": true,
  316. "message": "overdue T-5 skips wait schedule"
  317. },
  318. "missingTravelDate": {
  319. "waitUntil": 1782169270783,
  320. "expectedFallbackMinutes": 10,
  321. "passed": true,
  322. "message": "missing travel_date sim fallback ok"
  323. },
  324. "completedRejectWake": {
  325. "passed": true,
  326. "message": "completed instance rejects wake"
  327. },
  328. "missingResumeIndex": {
  329. "passed": true,
  330. "message": "missing resume index fallback ok"
  331. },
  332. "doubleWake": {
  333. "passed": true,
  334. "message": "double wake idempotent",
  335. "statusAfter": "running"
  336. },
  337. "passed": true,
  338. "message": "lifecycle exception handling ok"
  339. },
  340. "lifecycleMultiTurnDialogue": {
  341. "bookingTurnCount": 10,
  342. "postBookingTurnCount": 9,
  343. "dialogueSource": "bookingFunnel+postBookingLifecycle",
  344. "consultMultiTurn": {
  345. "turns": 5,
  346. "avgScore": 62.2,
  347. "minScore": 0.0,
  348. "passed": true,
  349. "message": "node multiTurn ok",
  350. "instanceId": 581,
  351. "inputCount": 6
  352. },
  353. "postBookingMultiTurnFlow": {
  354. "instanceId": 582,
  355. "preTripMultiTurn": {
  356. "turns": 3,
  357. "avgScore": 83.33333333333333,
  358. "minScore": 78.0,
  359. "passed": true,
  360. "message": "node multiTurn ok"
  361. },
  362. "holidayMultiTurn": {
  363. "turns": 1,
  364. "avgScore": 84.0,
  365. "minScore": 84.0,
  366. "earlyCompletion": true,
  367. "passed": true,
  368. "message": "node multiTurn ok"
  369. },
  370. "milestones": [
  371. "PRE_TRIP",
  372. "PRE_TRIP_MT",
  373. "HOLIDAY",
  374. "HOLIDAY_MT"
  375. ],
  376. "errors": [
  377. ],
  378. "dialogueTurns": 9,
  379. "passed": true,
  380. "message": "post-booking multi-turn flow ok"
  381. },
  382. "passed": true,
  383. "message": "lifecycle multi-turn dialogue ok"
  384. },
  385. "e2eDialogue": {
  386. "dialogueStage": "bookingFunnel",
  387. "dialogueTurnCount": 10,
  388. "runId": "e6006f0258414a2bbb107018da836ccc",
  389. "status": "SUCCESS",
  390. "instanceId": 583,
  391. "totalScore": 72.31,
  392. "passedNodeCnt": 9,
  393. "totalNodeCnt": 10,
  394. "evolutionCount": 1,
  395. "nodeTraces": 10,
  396. "minNodeScore": 74.375,
  397. "maxNodeScore": 88.75,
  398. "nodesBelowTarget": 1,
  399. "nodesBelowMin": 0,
  400. "nodeScoreDetail": [
  401. {
  402. "nodeCode": "初始化咨询阶段",
  403. "score": 88.75,
  404. "passed": true
  405. },
  406. {
  407. "nodeCode": "直播加微推直播间",
  408. "score": 84.375,
  409. "passed": true
  410. },
  411. {
  412. "nodeCode": "推送出行攻略文章",
  413. "score": 76.875,
  414. "passed": true
  415. },
  416. {
  417. "nodeCode": "推送出行攻略文章",
  418. "score": 84.375,
  419. "passed": true
  420. },
  421. {
  422. "nodeCode": "推送出行攻略文章",
  423. "score": 76.875,
  424. "passed": true
  425. },
  426. {
  427. "nodeCode": "推送出行攻略文章",
  428. "score": 76.25,
  429. "passed": true
  430. },
  431. {
  432. "nodeCode": "推送出行攻略文章",
  433. "score": 82.5,
  434. "passed": true
  435. },
  436. {
  437. "nodeCode": "推送出行攻略文章",
  438. "score": 78.75,
  439. "passed": true
  440. },
  441. {
  442. "nodeCode": "推送出行攻略文章",
  443. "score": 74.375,
  444. "passed": false
  445. }
  446. ],
  447. "passed": true,
  448. "message": "e2e ok"
  449. },
  450. "qualityGate": {
  451. "enabled": true,
  452. "targetScorePercent": 75.0,
  453. "minE2eAvgScorePercent": 75.0,
  454. "minNodeScorePercent": 60.0,
  455. "passScorePercent": 90,
  456. "rawTotalScore": 72.31,
  457. "scoredNodeAvg": 80.34722222222223,
  458. "totalScore": 80.34722222222223,
  459. "nodesBelowTarget": 1,
  460. "nodesBelowMin": 0,
  461. "minNodeScore": 74.375,
  462. "maxNodeScore": 88.75,
  463. "nodeScoreDetail": [
  464. {
  465. "nodeCode": "初始化咨询阶段",
  466. "score": 88.75,
  467. "passed": true
  468. },
  469. {
  470. "nodeCode": "直播加微推直播间",
  471. "score": 84.375,
  472. "passed": true
  473. },
  474. {
  475. "nodeCode": "推送出行攻略文章",
  476. "score": 76.875,
  477. "passed": true
  478. },
  479. {
  480. "nodeCode": "推送出行攻略文章",
  481. "score": 84.375,
  482. "passed": true
  483. },
  484. {
  485. "nodeCode": "推送出行攻略文章",
  486. "score": 76.875,
  487. "passed": true
  488. },
  489. {
  490. "nodeCode": "推送出行攻略文章",
  491. "score": 76.25,
  492. "passed": true
  493. },
  494. {
  495. "nodeCode": "推送出行攻略文章",
  496. "score": 82.5,
  497. "passed": true
  498. },
  499. {
  500. "nodeCode": "推送出行攻略文章",
  501. "score": 78.75,
  502. "passed": true
  503. },
  504. {
  505. "nodeCode": "推送出行攻略文章",
  506. "score": 74.375,
  507. "passed": false
  508. }
  509. ],
  510. "passed": true,
  511. "message": "quality gate ok",
  512. "gapToTarget": "1 node(s) below production target 75.0"
  513. },
  514. "summary": {
  515. "instanceId": 583,
  516. "externalUserId": "999338001",
  517. "asyncDbSummary": true,
  518. "historyLines": 20,
  519. "syncSummaryLength": 79,
  520. "microSummaryLength": 210,
  521. "cachedSummaryOk": true,
  522. "dbSummaryRows": 1,
  523. "passed": true,
  524. "message": "summary persisted to DB"
  525. },
  526. "memoryPipeline": {
  527. "externalUserId": "999338001",
  528. "instanceId": 583,
  529. "summaryOk": true,
  530. "factCount": 20,
  531. "factKeys": [
  532. ],
  533. "passed": true,
  534. "message": "summary or customer_fact persisted"
  535. },
  536. "evolutionAnalyze": {
  537. "e2eEvolutionCount": 1,
  538. "evolutionLogsBefore": 32,
  539. "analyzeInvoked": true,
  540. "analyzeMessage": "analyzeAndSuggest ok",
  541. "evolutionLogsAfter": 32,
  542. "evolutionLogsDelta": 0,
  543. "pendingSuggestions": 0,
  544. "passed": true,
  545. "message": "evolution analyze ok"
  546. },
  547. "sensitiveWord": {
  548. "scopeNote": "lobster SensitiveWordService + evolve step9; not live/call/CompanyAiSensitiveWord AC",
  549. "layers": {
  550. "defaultLib": {
  551. "detectCount": 1,
  552. "filtered": "推荐云南精品线,***,欢迎咨询",
  553. "passed": true
  554. },
  555. "customCrud": {
  556. "word": "LOBSTER_VAL_338",
  557. "hit": true,
  558. "filtered": "行程含***内容",
  559. "passed": true
  560. },
  561. "highRisk": {
  562. "word": "LOBSTER_FRAUD_338",
  563. "highRisk": true,
  564. "passed": true
  565. },
  566. "evolveStep9Simulation": {
  567. "rawHasSensitive": true,
  568. "wouldTransferToHuman": true,
  569. "finalReply": "欢迎咨询,预期收益,***",
  570. "passed": true
  571. },
  572. "wordListLoaded": {
  573. "count": 147,
  574. "passed": true
  575. }
  576. },
  577. "passed": true,
  578. "message": "sensitive word pipeline ok"
  579. },
  580. "executionPolicy": {
  581. "scopeNote": "resolve() strict/content/flow gates used by executor + prompt fallback",
  582. "strictFixedWorkflow": false,
  583. "contentPersonalization": true,
  584. "flowPersonalization": true,
  585. "allowContent": true,
  586. "allowFlow": true,
  587. "executionMode": "HYBRID",
  588. "issues": [
  589. ],
  590. "passed": true,
  591. "message": "execution policy gates ok"
  592. },
  593. "aiGenerate": {
  594. "recordNo": "LOB_1782168993230",
  595. "generateUseLlm": false,
  596. "fallbackGenerate": true,
  597. "finalStatus": 1,
  598. "detail": {
  599. "conversationModel": {
  600. "defaultStage": "consult",
  601. "description": "旅游全链路:会话常驻,节点负责打标/签单/出行关怀/满意度/节日营销",
  602. "version": 2,
  603. "stages": [
  604. {
  605. "code": "consult",
  606. "promptHint": "你是小美,测试旅行社旅行顾问。客户来自直播间,先破冰并了解是否已有出行计划。",
  607. "label": "直播加微破冰",
  608. "goals": [
  609. ]
  610. },
  611. {
  612. "code": "collect",
  613. "promptHint": "逐步询问目的地、日期、人数、预算;一次只问一个关键问题。",
  614. "label": "需求采集打标",
  615. "goals": [
  616. {
  617. "collected": false,
  618. "label": "目的地",
  619. "required": true,
  620. "field": "destination"
  621. },
  622. {
  623. "collected": false,
  624. "label": "出行日期",
  625. "required": true,
  626. "field": "travel_date"
  627. },
  628. {
  629. "collected": false,
  630. "label": "预算",
  631. "required": true,
  632. "field": "budget"
  633. },
  634. {
  635. "collected": false,
  636. "label": "出行人数",
  637. "required": true,
  638. "field": "pax"
  639. }
  640. ]
  641. },
  642. {
  643. "code": "offer",
  644. "promptHint": "基于采集信息推荐云南精品线,突出亮点与优惠,自然引导签单。",
  645. "label": "线路推荐促单",
  646. "goals": [
  647. ]
  648. },
  649. {
  650. "code": "pre_trip",
  651. "promptHint": "出行前5天提醒证件、行李、当地天气与注意事项。",
  652. "label": "出行前关怀",
  653. "goals": [
  654. ]
  655. },
  656. {
  657. "code": "in_trip",
  658. "promptHint": "行程中主动问候,询问是否遇到问题,给出景点玩要建议。",
  659. "label": "行中关怀",
  660. "goals": [
  661. ]
  662. },
  663. {
  664. "code": "post_trip",
  665. "promptHint": "行程结束后收集满意度与改进建议。",
  666. "label": "满意度回访",
  667. "goals": [
  668. ]
  669. },
  670. {
  671. "code": "repurchase",
  672. "promptHint": "大节日前30天关怀,了解是否有新的出行计划并推荐产品。",
  673. "label": "节日营销",
  674. "goals": [
  675. ]
  676. }
  677. ],
  678. "sideTasks": [
  679. {
  680. "triggerIntents": [
  681. "purchase",
  682. "high_intent",
  683. "booked"
  684. ],
  685. "nodeCode": "TAG_AUTO",
  686. "nodeType": 9,
  687. "action": "add_tag"
  688. },
  689. {
  690. "triggerIntents": [
  691. "purchase",
  692. "order",
  693. "book"
  694. ],
  695. "nodeCode": "ORDER_ACTION",
  696. "nodeType": 7,
  697. "action": "create_order"
  698. }
  699. ]
  700. },
  701. "variables": [
  702. {
  703. "varName": "客户姓名",
  704. "label": "客户姓名",
  705. "source": "user_profile",
  706. "type": "string",
  707. "required": 0,
  708. "varType": "string",
  709. "sourceType": "user_profile",
  710. "name": "customerName",
  711. "varCode": "customerName"
  712. },
  713. {
  714. "varName": "目的地",
  715. "label": "目的地",
  716. "source": "conversation",
  717. "type": "string",
  718. "required": 0,
  719. "varType": "string",
  720. "sourceType": "conversation",
  721. "name": "destination",
  722. "varCode": "destination"
  723. },
  724. {
  725. "varName": "出行日期",
  726. "label": "出行日期",
  727. "source": "conversation",
  728. "type": "date",
  729. "required": 0,
  730. "varType": "date",
  731. "sourceType": "conversation",
  732. "name": "travel_date",
  733. "varCode": "travel_date"
  734. },
  735. {
  736. "varName": "预算",
  737. "label": "预算",
  738. "source": "conversation",
  739. "type": "string",
  740. "required": 0,
  741. "varType": "string",
  742. "sourceType": "conversation",
  743. "name": "budget",
  744. "varCode": "budget"
  745. },
  746. {
  747. "varName": "出行人数",
  748. "label": "出行人数",
  749. "source": "conversation",
  750. "type": "number",
  751. "required": 0,
  752. "varType": "number",
  753. "sourceType": "conversation",
  754. "name": "pax",
  755. "varCode": "pax"
  756. },
  757. {
  758. "varName": "测试旅行社",
  759. "label": "测试旅行社",
  760. "source": "manual",
  761. "type": "string",
  762. "required": 0,
  763. "varType": "string",
  764. "sourceType": "manual",
  765. "name": "company_short_name",
  766. "varCode": "company_short_name"
  767. },
  768. {
  769. "varName": "小美",
  770. "label": "小美",
  771. "source": "manual",
  772. "type": "string",
  773. "required": 0,
  774. "varType": "string",
  775. "sourceType": "manual",
  776. "name": "advisor_name",
  777. "varCode": "advisor_name"
  778. },
  779. {
  780. "varName": "云南精品线",
  781. "label": "云南精品线",
  782. "source": "manual",
  783. "type": "string",
  784. "required": 0,
  785. "varType": "string",
  786. "sourceType": "manual",
  787. "name": "main_product",
  788. "varCode": "main_product"
  789. },
  790. {
  791. "varName": "当前阶段",
  792. "label": "当前阶段",
  793. "source": "manual",
  794. "type": "string",
  795. "required": 0,
  796. "varType": "string",
  797. "sourceType": "manual",
  798. "name": "workflowStage",
  799. "varCode": "workflowStage"
  800. },
  801. {
  802. "varName": "客户意向",
  803. "label": "客户意向",
  804. "source": "conversation",
  805. "type": "string",
  806. "required": 0,
  807. "varType": "string",
  808. "sourceType": "conversation",
  809. "name": "customerIntent",
  810. "varCode": "customerIntent"
  811. },
  812. {
  813. "varName": "行业类型",
  814. "defaultValue": "travel",
  815. "label": "行业类型",
  816. "source": "manual",
  817. "type": "string",
  818. "required": 0,
  819. "varType": "string",
  820. "sourceType": "manual",
  821. "name": "industryType",
  822. "varCode": "industryType"
  823. },
  824. {
  825. "varName": "企微SOP模板ID",
  826. "defaultValue": "LOBSTER_TRAVEL_POST_BOOKING",
  827. "label": "企微SOP模板ID",
  828. "source": "manual",
  829. "type": "string",
  830. "required": 0,
  831. "varType": "string",
  832. "sourceType": "manual",
  833. "name": "sopTempId",
  834. "varCode": "sopTempId"
  835. },
  836. {
  837. "varName": "个微SOP模板ID",
  838. "defaultValue": "LOBSTER_TRAVEL_POST_BOOKING_WX",
  839. "label": "个微SOP模板ID",
  840. "source": "manual",
  841. "type": "string",
  842. "required": 0,
  843. "varType": "string",
  844. "sourceType": "manual",
  845. "name": "wxSopTempId",
  846. "varCode": "wxSopTempId"
  847. }
  848. ],
  849. "edges": [
  850. {
  851. "targetNodeCode": "INIT_STAGE",
  852. "sourceNodeCode": "START",
  853. "edgeLabel": "启动"
  854. },
  855. {
  856. "targetNodeCode": "LIVE_PUSH",
  857. "sourceNodeCode": "INIT_STAGE",
  858. "edgeLabel": "直播加微推直播间"
  859. },
  860. {
  861. "targetNodeCode": "ARTICLE_PUSH",
  862. "sourceNodeCode": "LIVE_PUSH",
  863. "edgeLabel": "推送攻略文章"
  864. },
  865. {
  866. "targetNodeCode": "TAG_AUTO",
  867. "sourceNodeCode": "ARTICLE_PUSH",
  868. "edgeLabel": "进入采集打标"
  869. },
  870. {
  871. "targetNodeCode": "JUDGE",
  872. "sourceNodeCode": "TAG_AUTO",
  873. "edgeLabel": "分支"
  874. },
  875. {
  876. "targetNodeCode": "ORDER_ACTION",
  877. "sourceNodeCode": "JUDGE",
  878. "edgeLabel": "签单"
  879. },
  880. {
  881. "targetNodeCode": "WAIT_PRE_TRIP",
  882. "sourceNodeCode": "JUDGE",
  883. "edgeLabel": "已订"
  884. },
  885. {
  886. "targetNodeCode": "WAIT_HOLIDAY",
  887. "sourceNodeCode": "JUDGE",
  888. "edgeLabel": "培育"
  889. },
  890. {
  891. "targetNodeCode": "SOP_ENROLL",
  892. "sourceNodeCode": "ORDER_ACTION",
  893. "edgeLabel": "SOP入营"
  894. },
  895. {
  896. "targetNodeCode": "WAIT_PRE_TRIP",
  897. "sourceNodeCode": "SOP_ENROLL",
  898. "edgeLabel": "进入出行前"
  899. },
  900. {
  901. "targetNodeCode": "PRE_TRIP_CARE",
  902. "sourceNodeCode": "WAIT_PRE_TRIP",
  903. "edgeLabel": "T-5触达"
  904. },
  905. {
  906. "targetNodeCode": "WEATHER_TIPS",
  907. "sourceNodeCode": "PRE_TRIP_CARE",
  908. "edgeLabel": "天气建议"
  909. },
  910. {
  911. "targetNodeCode": "IN_TRIP_CARE",
  912. "sourceNodeCode": "WEATHER_TIPS",
  913. "edgeLabel": "行中"
  914. },
  915. {
  916. "targetNodeCode": "SURVEY",
  917. "sourceNodeCode": "IN_TRIP_CARE",
  918. "edgeLabel": "满意度"
  919. },
  920. {
  921. "targetNodeCode": "WAIT_HOLIDAY",
  922. "sourceNodeCode": "SURVEY",
  923. "edgeLabel": "节日等待"
  924. },
  925. {
  926. "targetNodeCode": "HOLIDAY_PROMO",
  927. "sourceNodeCode": "WAIT_HOLIDAY",
  928. "edgeLabel": "节日营销"
  929. },
  930. {
  931. "targetNodeCode": "END",
  932. "sourceNodeCode": "HOLIDAY_PROMO",
  933. "edgeLabel": "结束"
  934. }
  935. ],
  936. "description": "旅游公司销冠全流程:直播加微→破冰→采集出行需求→线路推荐→促单签单→出行前关怀→旅途中关怀→回访调研→节日营销→循环推荐",
  937. "templateCode": "TRAVEL_TOP_SALES_001",
  938. "errorMsg": "已使用行业兜底模板: validation fast fallback",
  939. "brandContext": {
  940. "advisorName": "小美",
  941. "companyShortName": "测试旅行社",
  942. "advisorRole": "金牌旅行顾问",
  943. "mainProduct": "云南精品线"
  944. },
  945. "_fallbackSource": "travel_lifecycle_full",
  946. "nodes": [
  947. {
  948. "nodeName": "开始",
  949. "nextNodeCode": "INIT_STAGE",
  950. "nodeCode": "START",
  951. "maxRounds": 0,
  952. "nodeType": 1,
  953. "nodeConfig": "{\"autoAdvance\":true,\"channelHint\":\"QW\"}",
  954. "sortNo": 1,
  955. "conditionExpr": "",
  956. "messageTemplate": "您好${customerName},我是小美,测试旅行社旅行顾问。看到您从直播间过来,打算去哪里玩呢?"
  957. },
  958. {
  959. "nodeName": "初始化咨询阶段",
  960. "nextNodeCode": "LIVE_PUSH",
  961. "nodeCode": "INIT_STAGE",
  962. "maxRounds": 0,
  963. "nodeType": 16,
  964. "nodeConfig": "{\"assignments\":{\"workflowStage\":\"consult\"},\"stageGate\":true}",
  965. "sortNo": 2,
  966. "conditionExpr": "",
  967. "messageTemplate": ""
  968. },
  969. {
  970. "nodeName": "直播加微推直播间",
  971. "nextNodeCode": "ARTICLE_PUSH",
  972. "nodeCode": "LIVE_PUSH",
  973. "maxRounds": 0,
  974. "nodeType": 54,
  975. "nodeConfig": "{\"delivery\":\"proactive\",\"channelHint\":\"QW\",\"actionOnly\":false,\"keyword\":\"云南精品线\",\"liveBaseUrl\":\"/live/watch\"}",
  976. "sortNo": 3,
  977. "conditionExpr": "",
  978. "messageTemplate": ""
  979. },
  980. {
  981. "nodeName": "推送出行攻略文章",
  982. "nextNodeCode": "TAG_AUTO",
  983. "nodeCode": "ARTICLE_PUSH",
  984. "maxRounds": 0,
  985. "nodeType": 55,
  986. "nodeConfig": "{\"delivery\":\"proactive\",\"actionOnly\":false,\"keyword\":\"云南精品线\",\"articleBaseUrl\":\"/article/detail\"}",
  987. "sortNo": 4,
  988. "conditionExpr": "",
  989. "messageTemplate": ""
  990. },
  991. {
  992. "nodeName": "自动打标",
  993. "nextNodeCode": "JUDGE",
  994. "nodeCode": "TAG_AUTO",
  995. "maxRounds": 0,
  996. "nodeType": 9,
  997. "nodeConfig": "{\"sideTask\":true,\"actionOnly\":true,\"action\":\"add_tag\",\"tags\":[\"travel_lead\",\"qw_live\"],\"triggerIntents\":[\"purchase\",\"high_intent\"]}",
  998. "sortNo": 5,
  999. "conditionExpr": "",
  1000. "messageTemplate": ""
  1001. },
  1002. {
  1003. "nodeName": "签单动作",
  1004. "nextNodeCode": "SOP_ENROLL",
  1005. "nodeCode": "ORDER_ACTION",
  1006. "maxRounds": 0,
  1007. "nodeType": 7,
  1008. "nodeConfig": "{\"sideTask\":true,\"actionOnly\":true,\"action\":\"create_order\",\"triggerIntents\":[\"purchase\",\"order\"]}",
  1009. "sortNo": 6,
  1010. "conditionExpr": "",
  1011. "messageTemplate": ""
  1012. },
  1013. {
  1014. "nodeName": "签单后SOP入营",
  1015. "nextNodeCode": "WAIT_PRE_TRIP",
  1016. "nodeCode": "SOP_ENROLL",
  1017. "maxRounds": 0,
  1018. "nodeType": 50,
  1019. "nodeConfig": "{\"sopTempId\":\"LOBSTER_TRAVEL_POST_BOOKING\",\"wxSopTempId\":\"LOBSTER_TRAVEL_POST_BOOKING_WX\",\"preferContactAccount\":true,\"actionOnly\":true}",
  1020. "sortNo": 7,
  1021. "conditionExpr": "",
  1022. "messageTemplate": ""
  1023. },
  1024. {
  1025. "nodeName": "出行前5天等待",
  1026. "nextNodeCode": "PRE_TRIP_CARE",
  1027. "nodeCode": "WAIT_PRE_TRIP",
  1028. "maxRounds": 0,
  1029. "nodeType": 4,
  1030. "nodeConfig": "{\"waitType\":\"date_offset\",\"offsetDays\":-5,\"dateField\":\"travel_date\",\"timeoutHours\":720}",
  1031. "sortNo": 8,
  1032. "conditionExpr": "",
  1033. "messageTemplate": ""
  1034. },
  1035. {
  1036. "nodeName": "出行前提醒",
  1037. "nextNodeCode": "WEATHER_TIPS",
  1038. "nodeCode": "PRE_TRIP_CARE",
  1039. "maxRounds": 0,
  1040. "nodeType": 10,
  1041. "nodeConfig": "{\"delivery\":\"proactive\",\"careType\":\"pre_trip\",\"awaitReply\":true}",
  1042. "sortNo": 9,
  1043. "conditionExpr": "",
  1044. "messageTemplate": "您好,离您的云南精品线出行还有5天啦!请准备好身份证/护照、常用药品和舒适鞋服。需要我帮您核对行程清单吗?"
  1045. },
  1046. {
  1047. "nodeName": "天气与玩要建议",
  1048. "nextNodeCode": "IN_TRIP_CARE",
  1049. "nodeCode": "WEATHER_TIPS",
  1050. "maxRounds": 0,
  1051. "nodeType": 14,
  1052. "nodeConfig": "{\"apiKey\":\"weather_travel_tips\",\"sideTask\":false,\"smartApi\":true}",
  1053. "sortNo": 10,
  1054. "conditionExpr": "",
  1055. "messageTemplate": "根据您目的地近期天气和同行人员情况,建议您注意防晒补水、老人小孩备常用药。具体玩游项目我会结合天气给您建议。"
  1056. },
  1057. {
  1058. "nodeName": "行中关怀",
  1059. "nextNodeCode": "SURVEY",
  1060. "nodeCode": "IN_TRIP_CARE",
  1061. "maxRounds": 0,
  1062. "nodeType": 10,
  1063. "nodeConfig": "{\"delivery\":\"proactive\",\"careType\":\"in_trip\",\"awaitReply\":true}",
  1064. "sortNo": 11,
  1065. "conditionExpr": "",
  1066. "messageTemplate": "旅途还顺利吗?景点玩得怎么样?如有任何问题随时告诉我,小美一直在线。"
  1067. },
  1068. {
  1069. "nodeName": "满意度调查",
  1070. "nextNodeCode": "WAIT_HOLIDAY",
  1071. "nodeCode": "SURVEY",
  1072. "maxRounds": 0,
  1073. "nodeType": 11,
  1074. "nodeConfig": "{\"surveyType\":\"satisfaction\",\"awaitReply\":true}",
  1075. "sortNo": 12,
  1076. "conditionExpr": "",
  1077. "messageTemplate": "感谢您选择测试旅行社!方便用1分钟做个满意度调查吗?您的反馈帮我们做得更好。"
  1078. },
  1079. {
  1080. "nodeName": "节日营销等待",
  1081. "nextNodeCode": "HOLIDAY_PROMO",
  1082. "nodeCode": "WAIT_HOLIDAY",
  1083. "maxRounds": 0,
  1084. "nodeType": 32,
  1085. "nodeConfig": "{\"delayDays\":30,\"cronHint\":\"holiday_minus_30d\"}",
  1086. "sortNo": 13,
  1087. "conditionExpr": "",
  1088. "messageTemplate": ""
  1089. },
  1090. {
  1091. "nodeName": "节日营销触达",
  1092. "nextNodeCode": "END",
  1093. "nodeCode": "HOLIDAY_PROMO",
  1094. "maxRounds": 0,
  1095. "nodeType": 13,
  1096. "nodeConfig": "{\"repurchaseType\":\"holiday\",\"delivery\":\"proactive\"}",
  1097. "sortNo": 14,
  1098. "conditionExpr": "",
  1099. "messageTemplate": "您好!临近节日,想了解下您近期有没有出行计划?云南精品线有新线路优惠,感兴趣我发您看看。"
  1100. },
  1101. {
  1102. "nodeName": "意向分支",
  1103. "nextNodeCode": "",
  1104. "nodeCode": "JUDGE",
  1105. "maxRounds": 0,
  1106. "nodeType": 3,
  1107. "nodeConfig": "{}",
  1108. "sortNo": 15,
  1109. "conditionExpr": "{\"branches\":[{\"nextNodeCode\":\"ORDER_ACTION\",\"condition\":{\"field\":\"customerIntent\",\"operator\":\"eq\",\"value\":\"purchase\"},\"desc\":\"\\u7b7e\\u5355\"},{\"nextNodeCode\":\"WAIT_PRE_TRIP\",\"condition\":{\"field\":\"customerIntent\",\"operator\":\"eq\",\"value\":\"booked\"},\"desc\":\"\\u5df2\\u8ba2\\u8fdb\\u5165\\u51fa\\u884c\\u524d\"},{\"nextNodeCode\":\"HOLIDAY_PROMO\",\"condition\":{\"field\":\"customerIntent\",\"operator\":\"eq\",\"value\":\"inquiry\"},\"desc\":\"\\u7ee7\\u7eed\\u57f9\\u80b2\"}],\"defaultNodeCode\":\"WAIT_HOLIDAY\"}",
  1110. "messageTemplate": ""
  1111. },
  1112. {
  1113. "nodeName": "结束",
  1114. "nextNodeCode": "",
  1115. "nodeCode": "END",
  1116. "maxRounds": 0,
  1117. "nodeType": 5,
  1118. "nodeConfig": "{}",
  1119. "sortNo": 16,
  1120. "conditionExpr": "",
  1121. "messageTemplate": ""
  1122. }
  1123. ],
  1124. "industryType": "travel",
  1125. "templateName": "旅游销冠全链路(A旅游公司)",
  1126. "_generateParam": {
  1127. "advisorName": "小美",
  1128. "companyShortName": "测试旅行社",
  1129. "industryType": "travel",
  1130. "advisorRole": "金牌旅行顾问",
  1131. "mainProduct": "云南精品线"
  1132. },
  1133. "status": 1
  1134. },
  1135. "usedFallback": true,
  1136. "passed": true,
  1137. "workflowId": 68,
  1138. "message": "generate and confirm ok"
  1139. },
  1140. "phase2Learning": {
  1141. "hotReplayRowsBefore": 78,
  1142. "hotReplayRowsAfter": 80,
  1143. "delta": 2,
  1144. "passed": true,
  1145. "status": "ok",
  1146. "hint": "async write ok",
  1147. "message": "learning replay ok",
  1148. "verify": {
  1149. "companyId": 338,
  1150. "archiveTableExists": true,
  1151. "hotIndexExists": true,
  1152. "hotReplayRows": 80,
  1153. "eventLogRows": 80,
  1154. "archiveRows": 0,
  1155. "status": "ok"
  1156. }
  1157. },
  1158. "stress": {
  1159. "multiTurn": {
  1160. "dialogueStage": "stressMultiTurn",
  1161. "turns": 6,
  1162. "avgScore": 80.0,
  1163. "minScore": 77.0,
  1164. "passed": true,
  1165. "message": "multiTurn ok"
  1166. },
  1167. "rateLimit": {
  1168. "cooldownAt": 6,
  1169. "passed": true,
  1170. "message": "rate limit triggered",
  1171. "instanceId": 585
  1172. },
  1173. "waitWake": {
  1174. "passed": true,
  1175. "message": "lifecycle wait wake ok",
  1176. "statusAfter": "running",
  1177. "resumeIndex": 8,
  1178. "currentIndexAfter": 9,
  1179. "instanceId": 586
  1180. },
  1181. "longMessage": {
  1182. "passed": true,
  1183. "message": "long message handled",
  1184. "code": 200,
  1185. "messageLength": 11000
  1186. },
  1187. "concurrentStart": {
  1188. "passed": true,
  1189. "successCount": 3,
  1190. "instanceIds": [
  1191. 588,
  1192. 589,
  1193. 590
  1194. ],
  1195. "message": "3 burst starts ok"
  1196. },
  1197. "emptyMessage": {
  1198. "passed": true,
  1199. "code": 200,
  1200. "message": "empty message handled"
  1201. },
  1202. "completedReentry": {
  1203. "statusBeforeReentry": "completed",
  1204. "responseMsg": "工作流实例不在运行状态",
  1205. "passed": true,
  1206. "message": "completed reentry handled"
  1207. },
  1208. "instanceState": {
  1209. "passed": true,
  1210. "state": {
  1211. "variables": {
  1212. "_lobsterSimMinuteUnit": 10,
  1213. "workflowStage": "consult",
  1214. "channelType": "TEST",
  1215. "_actionOutcomes": [
  1216. ],
  1217. "activeGoals": [
  1218. ],
  1219. "_recentOutbound": [
  1220. ],
  1221. "conversationMode": "active",
  1222. "_conversationModel": "{\"stages\":[{\"code\":\"consult\",\"promptHint\":\"你是小美,测试旅行社旅行顾问。客户来自直播间,先破冰并了解是否已有出行计划。\",\"label\":\"直播加微破冰\",\"goals\":[]},{\"code\":\"collect\",\"promptHint\":\"逐步询问目的地、日期、人数、预算;一次只问一个关键问题。\",\"label\":\"需求采集打标\",\"goals\":[{\"field\":\"destination\",\"collected\":false,\"label\":\"目的地\",\"required\":true},{\"field\":\"travel_date\",\"collected\":false,\"label\":\"出行日期\",\"required\":true},{\"field\":\"budget\",\"collected\":false,\"label\":\"预算\",\"required\":true},{\"field\":\"pax\",\"collected\":false,\"label\":\"出行人数\",\"required\":true}]},{\"code\":\"offer\",\"promptHint\":\"基于采集信息推荐云南精品线,突出亮点与优惠,自然引导签单。\",\"label\":\"线路推荐促单\",\"goals\":[]},{\"code\":\"pre_trip\",\"promptHint\":\"出行前5天提醒证件、行李、当地天气与注意事项。\",\"label\":\"出行前关怀\",\"goals\":[]},{\"code\":\"in_trip\",\"promptHint\":\"行程中主动问候,询问是否遇到问题,给出景点玩要建议。\",\"label\":\"行中关怀\",\"goals\":[]},{\"code\":\"post_trip\",\"promptHint\":\"行程结束后收集满意度与改进建议。\",\"label\":\"满意度回访\",\"goals\":[]},{\"code\":\"repurchase\",\"promptHint\":\"大节日前30天关怀,了解是否有新的出行计划并推荐产品。\",\"label\":\"节日营销\",\"goals\":[]}],\"sideTasks\":[{\"triggerIntents\":[\"purchase\",\"high_intent\",\"booked\"],\"nodeCode\":\"TAG_AUTO\",\"action\":\"add_tag\",\"nodeType\":9},{\"triggerIntents\":[\"purchase\",\"order\",\"book\"],\"nodeCode\":\"ORDER_ACTION\",\"action\":\"create_order\",\"nodeType\":7}],\"defaultStage\":\"consult\",\"description\":\"旅游全链路:会话常驻,节点负责打标/签单/出行关怀/满意度/节日营销\",\"version\":2}",
  1223. "validation": true
  1224. },
  1225. "instanceId": 593,
  1226. "completedNodes": 0,
  1227. "heartbeat": {
  1228. "instanceId": 593,
  1229. "registered": true,
  1230. "lastHeartbeatTime": "Tue Jun 23 06:58:14 CST 2026",
  1231. "lastHeartbeatTimestamp": 1782169094344,
  1232. "elapsedMinutes": 0,
  1233. "timeoutMinutes": 1440,
  1234. "active": true,
  1235. "status": "active",
  1236. "message": "实例心跳正常"
  1237. },
  1238. "currentNodeName": "开始",
  1239. "startTime": "2026-06-23 06:58:13",
  1240. "currentNodeIndex": 0,
  1241. "lastActivityTime": "2026-06-23 06:58:13",
  1242. "status": "running",
  1243. "totalNodes": 16
  1244. },
  1245. "message": "instance state ok"
  1246. },
  1247. "qualityDirect": {
  1248. "rawScore": 125,
  1249. "normalizedPercent": 78.125,
  1250. "passThreshold": 144,
  1251. "passScorePercent": 90,
  1252. "floorRaw": 96,
  1253. "productionTargetMet": false,
  1254. "passed": true,
  1255. "message": "score ok but below production target 144"
  1256. }
  1257. }
  1258. },
  1259. "dialogueScript": {
  1260. "industryType": "travel",
  1261. "industryLabel": "旅游销冠全链路",
  1262. "stageKeys": [
  1263. "postBookingPreTripMultiTurn",
  1264. "capabilityTriggers",
  1265. "consultMultiTurn",
  1266. "postBookingLifecycle",
  1267. "bookingFunnel",
  1268. "stressMultiTurn",
  1269. "holidayPromoMultiTurn",
  1270. "preTripCareMultiTurn"
  1271. ],
  1272. "stageLineCounts": {
  1273. "postBookingPreTripMultiTurn": 3,
  1274. "capabilityTriggers": 6,
  1275. "consultMultiTurn": 6,
  1276. "postBookingLifecycle": 9,
  1277. "bookingFunnel": 10,
  1278. "stressMultiTurn": 6,
  1279. "holidayPromoMultiTurn": 3,
  1280. "preTripCareMultiTurn": 3
  1281. }
  1282. },
  1283. "qualityGateConfig": {
  1284. "enabled": true,
  1285. "passScorePercent": 90,
  1286. "targetScorePercent": 75,
  1287. "minNodeScorePercent": 60,
  1288. "minE2eAvgScorePercent": 75,
  1289. "multiturnMinAvgScorePercent": 45
  1290. },
  1291. "failures": [
  1292. ],
  1293. "passed": true,
  1294. "durationMs": 492492,
  1295. "templateIdUsed": 67
  1296. }