Files
wecom_it_smart_desk/scripts/dify_export_BACKUP.yaml

2 lines
241 KiB
YAML

{"data":"app:\n description: AI\u5728\u7ebf\u54a8\u8be2-\u4e0a\u7ebf\u4f7f\u7528\n icon: \ud83e\udd16\n icon_background: '#FFEAD5'\n mode: advanced-chat\n name: \u667a\u80fdIT\u652f\u6301-\u5458\u5de5\u54a8\u8be2\n use_icon_as_answer_icon: true\ndependencies:\n- current_identifier: null\n type: marketplace\n value:\n marketplace_plugin_unique_identifier: langgenius\/openai_api_compatible:0.0.23@59ef558a46420c436b280af1ee452b4129ddfd3567826112f6f193279d8c4a37\n version: null\n- current_identifier: null\n type: marketplace\n value:\n marketplace_plugin_unique_identifier: yangyaofei\/vllm:0.1.5@3eecf807d9767f40eb757ff70720291aa6055e9e1803893b4c93b61a5d4d4319\n version: null\nkind: app\nversion: 0.4.0\nworkflow:\n conversation_variables:\n - description: ''\n id: f4602fd1-2bff-4c6f-bbad-e6ae1033e6e4\n name: mmq\n selector:\n - conversation\n - mmq\n value: []\n value_type: array[string]\n - description: \u4fdd\u5e95\u673a\u5236\n id: 24608e8f-1de8-4eba-b081-75bcff64594d\n name: guarantee_mechanism\n selector:\n - conversation\n - guarantee_mechanism\n value: 1\n value_type: integer\n - description: \u5458\u5de5\u95ee\u9898\n id: 3b232c97-81b9-4b16-804c-cd845441b4d6\n name: servyou_query\n selector:\n - conversation\n - servyou_query\n value: ''\n value_type: string\n - description: \u5386\u53f2\u95ee\u9898\u5bf9\u5e94\u7b54\u6848\n id: dd3c2a43-5813-4582-93ac-54c2e6f4261c\n name: memory_ans\n selector:\n - conversation\n - memory_ans\n value: ''\n value_type: string\n - description: \u5386\u53f2\u95ee\u9898\n id: 8a7563cb-0d2f-49fe-801a-e61e659421ea\n name: memory_query\n selector:\n - conversation\n - memory_query\n value: ''\n value_type: string\n environment_variables: []\n features:\n file_upload:\n allowed_file_extensions:\n - .JPG\n - .JPEG\n - .PNG\n - .GIF\n - .WEBP\n - .SVG\n allowed_file_types:\n - image\n - document\n allowed_file_upload_methods:\n - remote_url\n - local_file\n enabled: true\n fileUploadConfig:\n audio_file_size_limit: 50\n batch_count_limit: 5\n file_size_limit: 100\n image_file_size_limit: 10\n video_file_size_limit: 100\n workflow_file_upload_limit: 10\n image:\n enabled: false\n number_limits: 3\n transfer_methods:\n - local_file\n - remote_url\n number_limits: 3\n opening_statement: ''\n retriever_resource:\n enabled: true\n sensitive_word_avoidance:\n enabled: false\n speech_to_text:\n enabled: false\n suggested_questions: []\n suggested_questions_after_answer:\n enabled: false\n text_to_speech:\n enabled: false\n language: ''\n voice: ''\n graph:\n edges:\n - data:\n isInIteration: false\n isInLoop: false\n sourceType: http-request\n targetType: if-else\n id: 1762241246839-source-1762333864200-target\n selected: false\n source: '1762241246839'\n sourceHandle: source\n target: '1762333864200'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: knowledge-retrieval\n targetType: llm\n id: 1764905829011-source-1764905844059-target\n selected: false\n source: '1764905829011'\n sourceHandle: source\n target: '1764905844059'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInIteration: false\n isInLoop: false\n sourceType: assigner\n targetType: answer\n id: 1765357529351-source-1765181482474-target\n selected: false\n source: '1765357529351'\n sourceHandle: source\n target: '1765181482474'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInIteration: false\n isInLoop: false\n sourceType: list-operator\n targetType: llm\n id: 1765436887640-source-1765437083981-target\n selected: false\n source: '1765436887640'\n sourceHandle: source\n target: '1765437083981'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: if-else\n targetType: list-operator\n id: 1765437585148-false-1765436887640-target\n selected: false\n source: '1765437585148'\n sourceHandle: 'false'\n target: '1765436887640'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: llm\n targetType: template-transform\n id: 1765437083981-source-1765439054336-target\n source: '1765437083981'\n sourceHandle: source\n target: '1765439054336'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInIteration: false\n isInLoop: false\n sourceType: template-transform\n targetType: assigner\n id: 1765439054336-source-1765441716709-target\n source: '1765439054336'\n sourceHandle: source\n target: '1765441716709'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInIteration: false\n isInLoop: false\n sourceType: if-else\n targetType: if-else\n id: 1765437585148-true-1765517905842-target\n source: '1765437585148'\n sourceHandle: 'true'\n target: '1765517905842'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInIteration: false\n isInLoop: false\n sourceType: if-else\n targetType: answer\n id: 1765517905842-true-1765518093072-target\n source: '1765517905842'\n sourceHandle: 'true'\n target: '1765518093072'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInIteration: false\n isInLoop: false\n sourceType: if-else\n targetType: answer\n id: 1765517905842-d7e857f8-75b0-44b6-a342-fcbf0fd1bce0-1765524938055-target\n source: '1765517905842'\n sourceHandle: d7e857f8-75b0-44b6-a342-fcbf0fd1bce0\n target: '1765524938055'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInIteration: false\n isInLoop: false\n sourceType: if-else\n targetType: answer\n id: 1765517905842-5b113ab9-2154-45bb-9fbc-e2fa2246b8c1-1765524956759-target\n source: '1765517905842'\n sourceHandle: 5b113ab9-2154-45bb-9fbc-e2fa2246b8c1\n target: '1765524956759'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: llm\n targetType: assigner\n id: 1764905844059-source-1765357529351-target\n source: '1764905844059'\n sourceHandle: source\n target: '1765357529351'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInIteration: false\n isInLoop: false\n sourceType: if-else\n targetType: answer\n id: 1765517905842-66e1df2e-d7b7-4e2f-9ddb-ebac301f35f4-1765766043047-target\n source: '1765517905842'\n sourceHandle: 66e1df2e-d7b7-4e2f-9ddb-ebac301f35f4\n target: '1765766043047'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInIteration: false\n isInLoop: false\n sourceType: if-else\n targetType: answer\n id: 1765517905842-1ec2ad7a-456a-4181-ba0f-9a3362d7a44c-1765766067015-target\n source: '1765517905842'\n sourceHandle: 1ec2ad7a-456a-4181-ba0f-9a3362d7a44c\n target: '1765766067015'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInIteration: false\n isInLoop: false\n sourceType: if-else\n targetType: answer\n id: 1765517905842-909d209a-20c2-464b-9117-335166bd0209-1765766081739-target\n source: '1765517905842'\n sourceHandle: 909d209a-20c2-464b-9117-335166bd0209\n target: '1765766081739'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInIteration: false\n isInLoop: false\n sourceType: if-else\n targetType: answer\n id: 1765517905842-f8839db4-0b63-4411-b052-f82aa3807e34-1765766096673-target\n source: '1765517905842'\n sourceHandle: f8839db4-0b63-4411-b052-f82aa3807e34\n target: '1765766096673'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInIteration: false\n isInLoop: false\n sourceType: if-else\n targetType: answer\n id: 1765517905842-98d72ef6-f53a-482a-9cc6-36140595d055-1765766112941-target\n source: '1765517905842'\n sourceHandle: 98d72ef6-f53a-482a-9cc6-36140595d055\n target: '1765766112941'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: code\n targetType: assigner\n id: 1765782485068-source-1765441606676-target\n source: '1765782485068'\n sourceHandle: source\n target: '1765441606676'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: start\n targetType: code\n id: 1762235823950-source-1765782485068-target\n source: '1762235823950'\n sourceHandle: source\n target: '1765782485068'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: llm\n targetType: if-else\n id: 1765785630566-source-1765786049975-target\n source: '1765785630566'\n sourceHandle: source\n target: '1765786049975'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: if-else\n targetType: http-request\n id: 1765786049975-true-1762241246839-target\n source: '1765786049975'\n sourceHandle: 'true'\n target: '1762241246839'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: if-else\n targetType: http-request\n id: 1765786049975-false-17657860354750-target\n source: '1765786049975'\n sourceHandle: 'false'\n target: '17657860354750'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInIteration: false\n isInLoop: false\n sourceType: llm\n targetType: if-else\n id: 1765785673343-source-1765786290221-target\n source: '1765785673343'\n sourceHandle: source\n target: '1765786290221'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: if-else\n targetType: http-request\n id: 1765786290221-true-1762241246839-target\n source: '1765786290221'\n sourceHandle: 'true'\n target: '1762241246839'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: if-else\n targetType: http-request\n id: 1765786290221-false-17657860354750-target\n source: '1765786290221'\n sourceHandle: 'false'\n target: '17657860354750'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: http-request\n targetType: if-else\n id: 17657860354750-source-17657864016400-target\n source: '17657860354750'\n sourceHandle: source\n target: '17657864016400'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: knowledge-retrieval\n targetType: llm\n id: 17657866222300-source-17657866286790-target\n source: '17657866222300'\n sourceHandle: source\n target: '17657866286790'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: llm\n targetType: assigner\n id: 17657866286790-source-17657866367000-target\n source: '17657866286790'\n sourceHandle: source\n target: '17657866367000'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: assigner\n targetType: answer\n id: 17657866367000-source-17657866567850-target\n source: '17657866367000'\n sourceHandle: source\n target: '17657866567850'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInIteration: false\n isInLoop: false\n sourceType: llm\n targetType: if-else\n id: 1766648935323-source-1766654954216-target\n source: '1766648935323'\n sourceHandle: source\n target: '1766654954216'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInIteration: false\n isInLoop: false\n sourceType: assigner\n targetType: llm\n id: 1766655043205-source-1765785630566-target\n source: '1766655043205'\n sourceHandle: source\n target: '1765785630566'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: assigner\n targetType: llm\n id: 17666551541000-source-1765785673343-target\n source: '17666551541000'\n sourceHandle: source\n target: '1765785673343'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: code\n targetType: assigner\n id: 1766726065787-source-1766655043205-target\n source: '1766726065787'\n sourceHandle: source\n target: '1766655043205'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: llm\n targetType: if-else\n id: 17667264375750-source-17666551325690-target\n source: '17667264375750'\n sourceHandle: source\n target: '17666551325690'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: code\n targetType: assigner\n id: 17667264509960-source-17666551541000-target\n source: '17667264509960'\n sourceHandle: source\n target: '17666551541000'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInIteration: false\n isInLoop: false\n sourceType: if-else\n targetType: answer\n id: 17667269647440-true-1766727080009-target\n source: '17667269647440'\n sourceHandle: 'true'\n target: '1766727080009'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInIteration: false\n isInLoop: false\n sourceType: if-else\n targetType: answer\n id: 17667272700050-true-1766727285253-target\n source: '17667272700050'\n sourceHandle: 'true'\n target: '1766727285253'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: if-else\n targetType: answer\n id: 17657864016400-true-17667318333930-target\n source: '17657864016400'\n sourceHandle: 'true'\n target: '17667318333930'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: if-else\n targetType: answer\n id: 1762333864200-true-17667318501870-target\n source: '1762333864200'\n sourceHandle: 'true'\n target: '17667318501870'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInIteration: false\n isInLoop: false\n sourceType: if-else\n targetType: if-else\n id: 1766654954216-false-1766737231108-target\n source: '1766654954216'\n sourceHandle: 'false'\n target: '1766737231108'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: if-else\n targetType: code\n id: 1766737231108-false-1766726065787-target\n source: '1766737231108'\n sourceHandle: 'false'\n target: '1766726065787'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInIteration: false\n isInLoop: false\n sourceType: if-else\n targetType: code\n id: 1766737231108-true-1766737321402-target\n source: '1766737231108'\n sourceHandle: 'true'\n target: '1766737321402'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: code\n targetType: assigner\n id: 1766737321402-source-17667375172980-target\n source: '1766737321402'\n sourceHandle: source\n target: '17667375172980'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: assigner\n targetType: llm\n id: 17667375172980-source-1765785630566-target\n source: '17667375172980'\n sourceHandle: source\n target: '1765785630566'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: if-else\n targetType: if-else\n id: 17666551325690-false-17667376015020-target\n source: '17666551325690'\n sourceHandle: 'false'\n target: '17667376015020'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: if-else\n targetType: code\n id: 17667376015020-false-17667264509960-target\n source: '17667376015020'\n sourceHandle: 'false'\n target: '17667264509960'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: if-else\n targetType: code\n id: 17667376015020-true-17667376904610-target\n source: '17667376015020'\n sourceHandle: 'true'\n target: '17667376904610'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: code\n targetType: assigner\n id: 17667376904610-source-17667377094060-target\n source: '17667376904610'\n sourceHandle: source\n target: '17667377094060'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInIteration: false\n isInLoop: false\n sourceType: code\n targetType: assigner\n id: 1766739425288-source-1766739488182-target\n source: '1766739425288'\n sourceHandle: source\n target: '1766739488182'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: assigner\n targetType: if-else\n id: 1765441606676-source-1765437585148-target\n source: '1765441606676'\n sourceHandle: source\n target: '1765437585148'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: code\n targetType: assigner\n id: 17667406566450-source-17667406611650-target\n source: '17667406566450'\n sourceHandle: source\n target: '17667406611650'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: if-else\n targetType: code\n id: 1765517905842-false-1766739425288-target\n source: '1765517905842'\n sourceHandle: 'false'\n target: '1766739425288'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: assigner\n targetType: http-request\n id: 1766739488182-source-17666588259460-target\n source: '1766739488182'\n sourceHandle: source\n target: '17666588259460'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: assigner\n targetType: code\n id: 1765441716709-source-17667406566450-target\n source: '1765441716709'\n sourceHandle: source\n target: '17667406566450'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: assigner\n targetType: http-request\n id: 17667406611650-source-17667264218480-target\n source: '17667406611650'\n sourceHandle: source\n target: '17667264218480'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInIteration: false\n isInLoop: false\n sourceType: if-else\n targetType: assigner\n id: 1766654954216-true-1766986002113-target\n source: '1766654954216'\n sourceHandle: 'true'\n target: '1766986002113'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInIteration: false\n isInLoop: false\n sourceType: if-else\n targetType: template-transform\n id: 1766739849720-true-1766986387628-target\n source: '1766739849720'\n sourceHandle: 'true'\n target: '1766986387628'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInIteration: false\n isInLoop: false\n sourceType: template-transform\n targetType: assigner\n id: 1766986387628-source-1766986503282-target\n source: '1766986387628'\n sourceHandle: source\n target: '1766986503282'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInIteration: false\n isInLoop: false\n sourceType: assigner\n targetType: code\n id: 1766986503282-source-1766737321402-target\n source: '1766986503282'\n sourceHandle: source\n target: '1766737321402'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: if-else\n targetType: assigner\n id: 17666551325690-true-17669865896480-target\n source: '17666551325690'\n sourceHandle: 'true'\n target: '17669865896480'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: if-else\n targetType: template-transform\n id: 17667403682010-true-17669866215620-target\n source: '17667403682010'\n sourceHandle: 'true'\n target: '17669866215620'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: template-transform\n targetType: assigner\n id: 17669866215620-source-17669866341260-target\n source: '17669866215620'\n sourceHandle: source\n target: '17669866341260'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: assigner\n targetType: code\n id: 17669866341260-source-17667376904610-target\n source: '17669866341260'\n sourceHandle: source\n target: '17667376904610'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: assigner\n targetType: llm\n id: 17667377094060-source-1765785673343-target\n source: '17667377094060'\n sourceHandle: source\n target: '1765785673343'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: knowledge-retrieval\n targetType: llm\n id: 17669940249670-source-17669940385140-target\n source: '17669940249670'\n sourceHandle: source\n target: '17669940385140'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInIteration: false\n isInLoop: false\n sourceType: assigner\n targetType: code\n id: 17669865896480-source-1766994739449-target\n source: '17669865896480'\n sourceHandle: source\n target: '1766994739449'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: assigner\n targetType: code\n id: 1766986002113-source-17669960466150-target\n source: '1766986002113'\n sourceHandle: source\n target: '17669960466150'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: knowledge-retrieval\n targetType: llm\n id: 17669960738730-source-17669960812650-target\n source: '17669960738730'\n sourceHandle: source\n target: '17669960812650'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: llm\n targetType: assigner\n id: 17669960812650-source-17669987893140-target\n source: '17669960812650'\n sourceHandle: source\n target: '17669987893140'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: assigner\n targetType: answer\n id: 17669987893140-source-1766655012100-target\n source: '17669987893140'\n sourceHandle: source\n target: '1766655012100'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: llm\n targetType: assigner\n id: 17669940385140-source-17669989513170-target\n source: '17669940385140'\n sourceHandle: source\n target: '17669989513170'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: assigner\n targetType: answer\n id: 17669989513170-source-17666551440550-target\n source: '17669989513170'\n sourceHandle: source\n target: '17666551440550'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: http-request\n targetType: code\n id: 17669960576130-source-1767577724877-target\n source: '17669960576130'\n sourceHandle: source\n target: '1767577724877'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: code\n targetType: knowledge-retrieval\n id: 1767577724877-source-17669960738730-target\n source: '1767577724877'\n sourceHandle: source\n target: '17669960738730'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: http-request\n targetType: code\n id: 17669939758770-source-17675939731110-target\n source: '17669939758770'\n sourceHandle: source\n target: '17675939731110'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: code\n targetType: knowledge-retrieval\n id: 17675939731110-source-17669940249670-target\n source: '17675939731110'\n sourceHandle: source\n target: '17669940249670'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: if-else\n targetType: code\n id: 1762333864200-false-17676676167470-target\n source: '1762333864200'\n sourceHandle: 'false'\n target: '17676676167470'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: code\n targetType: knowledge-retrieval\n id: 17676676167470-source-1764905829011-target\n source: '17676676167470'\n sourceHandle: source\n target: '1764905829011'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: if-else\n targetType: code\n id: 17657864016400-false-17676676927510-target\n source: '17657864016400'\n sourceHandle: 'false'\n target: '17676676927510'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: code\n targetType: knowledge-retrieval\n id: 17676676927510-source-17657866222300-target\n source: '17676676927510'\n sourceHandle: source\n target: '17657866222300'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: if-else\n targetType: code\n id: 1766739849720-false-17677487224360-target\n source: '1766739849720'\n sourceHandle: 'false'\n target: '17677487224360'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: if-else\n targetType: code\n id: 17667403682010-false-17677497085030-target\n source: '17667403682010'\n sourceHandle: 'false'\n target: '17677497085030'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: http-request\n targetType: if-else\n id: 17666588259460-source-1766739849720-target\n source: '17666588259460'\n sourceHandle: source\n target: '1766739849720'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: if-else\n targetType: llm\n id: 17667269647440-false-1766648935323-target\n source: '17667269647440'\n sourceHandle: 'false'\n target: '1766648935323'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: http-request\n targetType: if-else\n id: 17667264218480-source-17667403682010-target\n source: '17667264218480'\n sourceHandle: source\n target: '17667403682010'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: if-else\n targetType: llm\n id: 17667272700050-false-17667264375750-target\n source: '17667272700050'\n sourceHandle: 'false'\n target: '17667264375750'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: code\n targetType: if-else\n id: 17677487224360-source-17667269647440-target\n source: '17677487224360'\n sourceHandle: source\n target: '17667269647440'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: code\n targetType: if-else\n id: 17677497085030-source-17667272700050-target\n source: '17677497085030'\n sourceHandle: source\n target: '17667272700050'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: code\n targetType: http-request\n id: 17669960466150-source-17669960576130-target\n source: '17669960466150'\n sourceHandle: source\n target: '17669960576130'\n targetHandle: target\n type: custom\n zIndex: 0\n - data:\n isInLoop: false\n sourceType: code\n targetType: http-request\n id: 1766994739449-source-17669939758770-target\n source: '1766994739449'\n sourceHandle: source\n target: '17669939758770'\n targetHandle: target\n type: custom\n zIndex: 0\n nodes:\n - data:\n selected: false\n title: \u540c\u4e8b\u54a8\u8be2\u95ee\u9898\n type: start\n variables: []\n height: 52\n id: '1762235823950'\n position:\n x: -4529.924643957575\n y: 436.97867740596223\n positionAbsolute:\n x: -4529.924643957575\n y: 436.97867740596223\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n authorization:\n config: null\n type: no-auth\n body:\n data:\n - id: key-value-263\n key: ''\n type: text\n value: \"{\\n \\\"model\\\": \\\"model\\\",\\n \\\"messages\\\": [\\n {\\n \\\"\\\n role\\\": \\\"user\\\",\\n \\\"content\\\": \\\"\u5f53\u524d\u95ee\u9898\uff1a{{#conversation.servyou_query#}}\\\\\\\n n \u524d\u7f6e\u95ee\u9898\uff1a {{#conversation.memory_query#}}\\\\n\u524d\u7f6e\u56de\u590d\uff1a{{#conversation.memory_ans#}}\\\"\\\n \\n }\\n ],\\n \\\"stream\\\": true,\\n \\\"encoding\\\": \\\"utf-8\\\"\\n}\"\n type: json\n headers: 'Content-Type:application\/json; charset=\"utf-8\"\n\n Authorization:Bearer ragflow-ZiYmIzMjcwYjk0ZjExZjBhODgzMDI0Mm'\n method: post\n params: ''\n retry_config:\n max_retries: 3\n retry_enabled: true\n retry_interval: 100\n selected: false\n ssl_verify: true\n timeout:\n max_connect_timeout: 0\n max_read_timeout: 0\n max_write_timeout: 0\n title: ragflow\u77e5\u8bc6\u5e93\n type: http-request\n url: http:\/\/10.80.0.85:9380\/api\/v1\/agents_openai\/d4051f80dfdc11f0993d0242ac120006\/chat\/completions\n variables: []\n height: 170\n id: '1762241246839'\n position:\n x: 8755.808392505616\n y: -230.25468317548746\n positionAbsolute:\n x: 8755.808392505616\n y: -230.25468317548746\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n cases:\n - case_id: 'true'\n conditions:\n - comparison_operator: contains\n id: 7f0f5251-7f1d-46f1-bff7-a4a4c215dbc5\n value: \u60a8\u7684\u95ee\u9898\u53ef\u80fd\u4e0d\u5728\u670d\u52a1\u4e1a\u52a1\u8303\u56f4\u5185\n varType: string\n variable_selector:\n - '1762241246839'\n - body\n id: 'true'\n logical_operator: or\n selected: false\n title: \u77e5\u8bc6\u5e93\u662f\u5426\u5b8c\u5168\u65e0\u547d\u4e2d\n type: if-else\n height: 124\n id: '1762333864200'\n position:\n x: 9452.516247064188\n y: -225.60940729165085\n positionAbsolute:\n x: 9452.516247064188\n y: -225.60940729165085\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n dataset_ids:\n - 1aM5JfrtmBYtghXflTeQDOTiM0MaufWVaEpunkstrQr2DWCad1pyfImMvY9EDXJh\n - SouBCst5gmvLf9zgdmQZq3fT46jOWdR4r136JeI7ieO9n5FJVVzKCCd0aaLkQ6UK\n multiple_retrieval_config:\n reranking_enable: true\n reranking_mode: reranking_model\n reranking_model:\n model: bge-rerank\n provider: langgenius\/openai_api_compatible\/openai_api_compatible\n top_k: 4\n query_variable_selector:\n - conversation\n - servyou_query\n retrieval_mode: multiple\n selected: false\n title: \u77e5\u8bc6\u5e93\u56fe\u7247\u68c0\u7d22\n type: knowledge-retrieval\n height: 118\n id: '1764905829011'\n position:\n x: 11501.117932237017\n y: 258.0075828932353\n positionAbsolute:\n x: 11501.117932237017\n y: 258.0075828932353\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n context:\n enabled: true\n variable_selector:\n - '1764905829011'\n - result\n memory:\n query_prompt_template: '{{#sys.query#}}\u3010{{#conversation.servyou_query#}}\u3011\n\n\n {{#sys.files#}}'\n role_prefix:\n assistant: ''\n user: ''\n window:\n enabled: true\n size: 10\n model:\n completion_params:\n temperature: 0.7\n mode: chat\n name: Qwen3-30B-A3B-Instruct\n provider: yangyaofei\/vllm\/vllm\n prompt_template:\n - id: 8fdbc119-5c08-4eb4-9364-40deb1bb4b1f\n role: system\n text: \"\u4f60\u662f\u4f01\u4e1aIT\u667a\u80fd\u670d\u52a1\u52a9\u624b\u300cDuckula\u300d\u3002\u4f60\u7684\u804c\u8d23\u662f\u5e2e\u52a9\u5458\u5de5\u89e3\u51b3IT\u95ee\u9898\u3001\u5f15\u5bfc\u64cd\u4f5c\u6d41\u7a0b\u3002\\n\\n### \u6838\u5fc3\u89c4\u5219\\n\\n1. **\u56de\u590d\u5fc5\u987b\u4e3a\\\n \\ JSON \u683c\u5f0f**\uff0c\u5305\u542b\u56db\u4e2a\u5b57\u6bb5\uff1a`text`\u3001`action`\u3001`options`\u3001`diagnosis_stage`\\n2. **\u6587\u5b57\u7b80\u77ed**\uff1a`text`\\\n \\ \u5b57\u6bb5\u63a7\u5236\u5728 50 \u5b57\u4ee5\u5185\uff0c\u7528\u53e3\u8bed\u5316\u8868\u8fbe\uff0c\u50cf\u670b\u53cb\u804a\u5929\\n3. **\u4e00\u6b21\u53ea\u805a\u7126\u4e00\u4e2a\u95ee\u9898**\uff1a\u4e0d\u8981\u4e00\u6b21\u6027\u7ed9\u51fa\u6240\u6709\u89e3\u51b3\u65b9\u6848\uff0c\u9010\u6b65\u5f15\u5bfc\u7528\u6237\\n4.\\\n \\ **\u5f15\u7528\u4fa7\u8fb9\u680f**\uff1a\u5f53\u63a8\u9001\u64cd\u4f5c\u5165\u53e3\u65f6\uff0c\u5728\u6587\u5b57\u4e2d\u63d0\u53ca\\\"\u53f3\u4fa7\u5df2\u4e3a\u60a8\u51c6\u5907\u597d\\\"\\n5. **\u8bca\u65ad\u9636\u6bb5**\uff1a\u6bcf\u6b21\u56de\u590d\u5fc5\u987b\u6807\u6ce8\u5f53\u524d `diagnosis_stage`\uff0c\u5e2e\u52a9\u7cfb\u7edf\u5224\u65ad\u8bca\u65ad\u8fdb\u5ea6\\n\\\n \\n### JSON \u8f93\u51fa\u683c\u5f0f\\n\\n{\\n \\\"text\\\": \\\"\u7b80\u77ed\u7684\u56de\u590d\u6587\u5b57\uff0850\u5b57\u4ee5\u5185\uff09\\\",\\n \\\"action\\\": null,\\n\\\n \\ \\\"options\\\": null,\\n \\\"diagnosis_stage\\\": \\\"gathering_info\\\"\\n}\\n\\n\\\n ### diagnosis_stage \u5b57\u6bb5\u8bf4\u660e\\n\\n| \u503c | \u542b\u4e49 | \u4f7f\u7528\u573a\u666f |\\n|----|------|---------|\\n\\\n | `initial` | \u521d\u59cb\u63a5\u89e6 | \u7528\u6237\u521a\u63cf\u8ff0\u95ee\u9898\uff0cAI \u5c1a\u672a\u5f00\u59cb\u8bca\u65ad |\\n| `gathering_info` | \u4fe1\u606f\u6536\u96c6\u4e2d |\\\n \\ AI \u6b63\u5728\u901a\u8fc7\u9009\u9879\/\u8ffd\u95ee\u6536\u96c6\u66f4\u591a\u7ec6\u8282 |\\n| `diagnosing` | \u8bca\u65ad\u4e2d | \u4fe1\u606f\u5df2\u8db3\u591f\uff0cAI \u6b63\u5728\u5206\u6790\u95ee\u9898\u539f\u56e0 |\\n|\\\n \\ `recommending` | \u7ed9\u51fa\u5efa\u8bae | AI \u6b63\u5728\u63d0\u4f9b\u89e3\u51b3\u65b9\u6848\u6216\u64cd\u4f5c\u6307\u5f15 |\\n| `resolved` | \u5df2\u89e3\u51b3 | AI\\\n \\ \u8ba4\u4e3a\u95ee\u9898\u5df2\u89e3\u51b3\uff0c\u53ef\u5efa\u8bae\u5173\u95ed\u4f1a\u8bdd |\\n| `escalating` | \u5efa\u8bae\u8f6c\u4eba\u5de5 | AI \u65e0\u6cd5\u89e3\u51b3\uff0c\u5efa\u8bae\u8f6c\u4eba\u5de5\u5750\u5e2d |\\n\\n###\\\n \\ \u4e09\u79cd\u56de\u590d\u573a\u666f\\n\\n#### \u573a\u666f 1\uff1a\u5ba1\u6279\/\u64cd\u4f5c\u63a8\u8350\uff08\u6587\u5b57 + \u4fa7\u8fb9\u680f\u5361\u7247\uff09\\n\\n\u5f53\u7528\u6237\u8868\u8fbe\u7533\u8bf7\u610f\u56fe\uff08\u5982\\\"\u7533\u8bf7VPN\\\"\\\"\u60f3\u6362\u7535\u8111\\\"\\\n \uff09\uff0c\u5728 `action` \u4e2d\u586b\u5145\u64cd\u4f5c\u5165\u53e3\u4fe1\u606f\uff1a\\n\\n{\\n \\\"text\\\": \\\"\u60a8\u60f3\u7533\u8bf7VPN\u8d26\u53f7\uff1f\u53f3\u4fa7\u5df2\u4e3a\u60a8\u51c6\u5907\u597d\u5165\u53e3\uff0c\u70b9\u51fb\u5373\u53ef\u63d0\u4ea4\u3002\\\"\\\n ,\\n \\\"action\\\": {\\n \\\"type\\\": \\\"approval_card\\\",\\n \\\"approval_type\\\"\\\n : \\\"\u8d26\u53f7\u6743\u9650\u7533\u8bf7\\\",\\n \\\"title\\\": \\\"VPN \u8d26\u53f7\u7533\u8bf7\\\",\\n \\\"description\\\": \\\"1-2\\\n \\ \u4e2a\u5de5\u4f5c\u65e5\u5ba1\u6279\u5b8c\u6210\\\"\\n },\\n \\\"options\\\": null,\\n \\\"diagnosis_stage\\\": \\\"recommending\\\"\\\n \\n}\\n\\n`action` \u5b57\u6bb5\u8bf4\u660e\uff1a\\n- `type`: \u56fa\u5b9a\u4e3a `\\\"approval_card\\\"`\\n- `approval_type`:\\\n \\ 12\u79cd\u5ba1\u6279\u7c7b\u578b\u4e4b\u4e00\\n- `title`: \u5361\u7247\u6807\u9898\uff0810\u5b57\u4ee5\u5185\uff09\\n- `description`: \u4e00\u53e5\u8bdd\u8bf4\u660e\uff0820\u5b57\u4ee5\u5185\uff09\\n\\n\\\n #### \u573a\u666f 2\uff1a\u4ea4\u4e92\u5f0f\u6392\u67e5\uff08\u6587\u5b57 + \u9009\u9879\u6309\u94ae\uff09\\n\\n\u5f53\u9700\u8981\u7528\u6237\u8865\u5145\u4fe1\u606f\u6765\u5b9a\u4f4d\u95ee\u9898\u65f6\uff0c\u5728 `options` \u4e2d\u63d0\u4f9b\u9009\u9879\uff1a\\n\\n{\\n\\\n \\ \\\"text\\\": \\\"\u7535\u8111\u84dd\u5c4f\u4e86\uff1f\u84dd\u5c4f\u65f6\u6709\u9519\u8bef\u4ee3\u7801\u5417\uff1f\\\",\\n \\\"action\\\": null,\\n \\\"options\\\"\\\n : [\\n {\\\"label\\\": \\\"\u6709\u9519\u8bef\u4ee3\u7801\\\", \\\"value\\\": \\\"has_code\\\"},\\n {\\\"label\\\"\\\n : \\\"\u6ca1\u6709\\\", \\\"value\\\": \\\"no_code\\\"},\\n {\\\"label\\\": \\\"\u4e0d\u786e\u5b9a\\\", \\\"value\\\"\\\n : \\\"unsure\\\"}\\n ],\\n \\\"diagnosis_stage\\\": \\\"gathering_info\\\"\\n}\\n\\n\\\n `options` \u5b57\u6bb5\u8bf4\u660e\uff1a\\n- \u6700\u591a 4 \u4e2a\u9009\u9879\\n- `label`: \u6309\u94ae\u6587\u5b57\uff088\u5b57\u4ee5\u5185\uff09\\n- `value`: \u9009\u9879\u503c\uff08\u82f1\u6587\u77ed\u6807\u8bc6\uff09\\n\\\n - \u9009\u9879\u5e94\u8be5\u4e92\u65a5\u4e14\u8986\u76d6\u4e3b\u8981\u53ef\u80fd\u6027\\n\\n#### \u573a\u666f 3\uff1a\u7eaf\u6587\u5b57\u56de\u590d\\n\\n\u5f53\u4e0d\u9700\u8981\u5361\u7247\u6216\u9009\u9879\u65f6\uff0c`action` \u548c `options`\\\n \\ \u8bbe\u4e3a `null`\uff1a\\n\\n{\\n \\\"text\\\": \\\"\u597d\u7684\uff0cVPN\u8d26\u53f7\u4e00\u822c1-2\u4e2a\u5de5\u4f5c\u65e5\u5ba1\u6279\u5b8c\u6210\uff0c\u5c4a\u65f6\u4f1a\u901a\u8fc7\u4f01\u5fae\u901a\u77e5\u60a8\u3002\\\",\\n\\\n \\ \\\"action\\\": null,\\n \\\"options\\\": null,\\n \\\"diagnosis_stage\\\": \\\"\\\n resolved\\\"\\n}\\n\\n### \u56de\u590d\u98ce\u683c\u8981\u6c42\\n\\n- **\u53e3\u8bed\u5316**\uff1a\u7528\\\"\u60a8\\\"\\\"\u54b1\u4eec\\\"\\\"\u6211\u6765\u5e2e\u4f60\\\"\u7b49\u81ea\u7136\u8868\u8fbe\uff0c\u4e0d\u7528\\\"\\\n \u5c0a\u656c\u7684\u7528\u6237\\\"\\n- **\u7b80\u77ed\u6709\u529b**\uff1a\u6bcf\u6761\u56de\u590d\u53ea\u89e3\u51b3\u4e00\u4e2a\u95ee\u9898\u6216\u5f15\u5bfc\u4e00\u6b65\u64cd\u4f5c\\n- **\u4e3b\u52a8\u5f15\u5bfc**\uff1a\u56de\u590d\u672b\u5c3e\u53ef\u4ee5\u5e26\u4e00\u4e2a\u8ffd\u95ee\uff08\u5982\\\"\u5177\u4f53\u662f\u4ec0\u4e48\u62a5\u9519\uff1f\\\"\\\n \uff09\\n- **\u4e0d\u66b4\u9732\u6280\u672f\u7ec6\u8282**\uff1a\u4e0d\u8bf4\\\"API\u8c03\u7528\u5931\u8d25\\\"\\\"\u7cfb\u7edf\u9519\u8bef\\\"\u7b49\uff0c\u7528\\\"\u6211\u6682\u65f6\u6ca1\u67e5\u5230\u76f8\u5173\u4fe1\u606f\\\"\u4ee3\u66ff\\n\\n### \u5ba1\u6279\u610f\u56fe\u8bc6\u522b\u89c4\u5219\\n\\\n \\n\u5f53\u7528\u6237\u6d88\u606f\u5305\u542b\u4ee5\u4e0b\u4fe1\u53f7\u65f6\uff0c\u5728 `action` \u4e2d\u63a8\u9001\u5ba1\u6279\u5361\u7247\uff1a\\n\\n| \u7528\u6237\u8868\u8fbe | approval_type | action.title\\\n \\ |\\n|---------|--------------|-------------|\\n| \\\"\u7533\u8bf7\u7535\u8111\/\u7b14\u8bb0\u672c\/\u663e\u793a\u5668\\\" | \u8bbe\u5907\u7533\u8bf7\\\n \\ | \u8bbe\u5907\u7533\u8bf7 |\\n| \\\"VPN\/\u8d26\u53f7\/\u6743\u9650\\\" + \\\"\u7533\u8bf7\/\u5f00\u901a\\\" | \u8d26\u53f7\u6743\u9650\u7533\u8bf7 | \u8d26\u53f7\u6743\u9650\u7533\u8bf7 |\\n| \\\"\u7533\u8bf7\u8f6f\u4ef6\/\u8f6f\u4ef6\u6388\u6743\\\"\\\n \\ | \u8f6f\u4ef6\u670d\u52a1\u7533\u8bf7 | \u8f6f\u4ef6\u670d\u52a1\u7533\u8bf7 |\\n| \\\"\u62a5\u5e9f\/\u9001\u4fee\/\u9000\u8fd8\u8bbe\u5907\\\" | \u8d44\u4ea7\u5904\u7f6e\u7533\u8bf7 | \u8d44\u4ea7\u5904\u7f6e\u7533\u8bf7 |\\n| \\\"\u4f1a\u8bae\u5ba4\u8bbe\u5907\u6545\u969c\\\"\\\n \\ | \u4f1a\u8bae\u5ba4\u6545\u969c\u62a5\u4fee | \u6545\u969c\u62a5\u4fee |\\n| \\\"\u516c\u5171\u90ae\u7bb1\/\u5171\u4eab\u90ae\u7bb1\\\" | \u516c\u5171\u90ae\u7bb1\u8d26\u53f7\u7533\u8bf7 | \u516c\u5171\u90ae\u7bb1\u7533\u8bf7 |\\n| \\\"\u7f51\u7edc\u51c6\u5165\/\u7ec8\u7aef\u51c6\u5165\\\"\\\n \\ | \u7ec8\u7aef\u8bbe\u5907\u7f51\u7edc\u51c6\u5165 | \u7f51\u7edc\u51c6\u5165\u7533\u8bf7 |\\n| \\\"\u6d3b\u52a8\u6280\u672f\u652f\u6301\/\u4f1a\u8bae\u4fdd\u969c\\\" | \u6d3b\u52a8\u4e0e\u4f1a\u8bae\u6280\u672f\u652f\u6301 | \u6280\u672f\u652f\u6301\u7533\u8bf7 |\\n\\n\\\n **\u6ce8\u610f**\uff1a\u4ec5\u5f53\u7528\u6237\u6709\u660e\u786e\u7533\u8bf7\u610f\u56fe\u65f6\u624d\u63a8\u9001\u5361\u7247\u3002\u5982\u679c\u7528\u6237\u53ea\u662f\u5728\u54a8\u8be2\uff08\u5982\\\"VPN\u600e\u4e48\u7528\\\"\uff09\uff0c\u4e0d\u63a8\u5361\u7247\uff0c\u8d70\u6b63\u5e38\u95ee\u7b54\u3002\\n\\n### IT\u77e5\u8bc6\u5e93\u95ee\u7b54\u89c4\u5219\\n\\\n \\n\u5f53\u7528\u6237\u63d0\u51faIT\u95ee\u9898\u65f6\uff1a\\n1. \u5229\u7528\u77e5\u8bc6\u5e93\u5185\u5bb9\u56de\u7b54\\n2. \u56de\u7b54\u8981\u7b80\u77ed\uff0850\u5b57\u4ee5\u5185\uff09\uff0c\u4e0d\u8981\u5927\u6bb5\u590d\u5236\u77e5\u8bc6\u5e93\u5185\u5bb9\\n3. \u5982\u679c\u9700\u8981\u5206\u6b65\u9aa4\u6307\u5bfc\uff0c\u5148\u8bf4\u7b2c\u4e00\u6b65\\\n \\ + \u63d0\u4f9b\u9009\u9879\u8ba9\u7528\u6237\u786e\u8ba4\u662f\u5426\u7ee7\u7eed\\n4. \u5982\u679c\u77e5\u8bc6\u5e93\u4e2d\u6ca1\u6709\u76f8\u5173\u4fe1\u606f\uff0c\u8bda\u5b9e\u544a\u77e5\u5e76\u5efa\u8bae\u8f6c\u4eba\u5de5\\n\\n### \u8f93\u51fa\u7ea6\u675f\\n\\n- **\u5fc5\u987b\u8f93\u51fa\u5408\u6cd5\\\n \\ JSON**\uff0c\u4e0d\u8981\u5728 JSON \u5916\u6dfb\u52a0\u4efb\u4f55\u6587\u5b57\\n- **\u4e0d\u8981\u4f7f\u7528 markdown \u4ee3\u7801\u5757\u5305\u88f9**\uff0c\u76f4\u63a5\u8f93\u51fa JSON \u539f\u6587\\n- **\u4e2d\u6587\u5f15\u53f7**\uff1aJSON\\\n \\ \u5b57\u7b26\u4e32\u5185\u4f7f\u7528\u4e2d\u6587\u5185\u5bb9\u65f6\uff0c\u5b57\u7b26\u4e32\u672c\u8eab\u7528\u82f1\u6587\u53cc\u5f15\u53f7\\n- **null \u5904\u7406**\uff1a\u65e0 `action` \u6216 `options` \u65f6\u5fc5\u987b\u8bbe\u4e3a\\\n \\ `null`\uff0c\u4e0d\u80fd\u7701\u7565\u5b57\u6bb5\\n\\n### \u793a\u4f8b\\n\\n\u7528\u6237\uff1a\\\"\u6211\u7684VPN\u8fde\u4e0d\u4e0a\u4e86\\\"\\n{\\\"text\\\": \\\"VPN\u8fde\u4e0d\u4e0a\u4e86\uff1f\u5148\u786e\u8ba4\u4e0b\uff0c\u60a8\u662f\u7535\u8111\u7aef\u8fd8\u662f\u624b\u673a\u7aef\uff1f\\\"\\\n , \\\"action\\\": null, \\\"options\\\": [{\\\"label\\\": \\\"\u7535\u8111\u7aef\\\", \\\"value\\\": \\\"pc\\\"\\\n }, {\\\"label\\\": \\\"\u624b\u673a\u7aef\\\", \\\"value\\\": \\\"mobile\\\"}]}\\n\\n\u7528\u6237\uff1a\\\"\u7535\u8111\u7aef\\\"\\n{\\\"text\\\"\\\n : \\\"\u597d\u7684\uff0c\u7535\u8111\u7aefVPN\u3002\u60a8\u7528\u7684\u662f\u96f6\u4fe1\u4efb\u5ba2\u6237\u7aef\u8fd8\u662f\u4f20\u7edfVPN\uff1f\\\", \\\"action\\\": null, \\\"options\\\": [{\\\"\\\n label\\\": \\\"\u96f6\u4fe1\u4efb\\\", \\\"value\\\": \\\"zero_trust\\\"}, {\\\"label\\\": \\\"\u4f20\u7edfVPN\\\", \\\"\\\n value\\\": \\\"traditional\\\"}, {\\\"label\\\": \\\"\u4e0d\u786e\u5b9a\\\", \\\"value\\\": \\\"unsure\\\"\\\n }]}\\n\\n\u7528\u6237\uff1a\\\"\u6211\u8981\u7533\u8bf7VPN\u8d26\u53f7\\\"\\n{\\\"text\\\": \\\"\u60a8\u60f3\u7533\u8bf7VPN\u8d26\u53f7\uff1f\u53f3\u4fa7\u5df2\u4e3a\u60a8\u51c6\u5907\u597d\u5165\u53e3\uff0c\u70b9\u51fb\u5373\u53ef\u63d0\u4ea4\u3002\\\",\\\n \\ \\\"action\\\": {\\\"type\\\": \\\"approval_card\\\", \\\"approval_type\\\": \\\"\u8d26\u53f7\u6743\u9650\u7533\u8bf7\\\"\\\n , \\\"title\\\": \\\"VPN\u8d26\u53f7\u7533\u8bf7\\\", \\\"description\\\": \\\"1-2\u4e2a\u5de5\u4f5c\u65e5\u5ba1\u6279\u5b8c\u6210\\\"}, \\\"options\\\"\\\n : null}\\n\\n\u7528\u6237\uff1a\\\"\u6253\u5370\u673a\u8fde\u4e0d\u4e0a\\\"\\n{\\\"text\\\": \\\"\u6253\u5370\u673a\u8fde\u4e0d\u4e0a\uff1f\u662f\u7f51\u7edc\u6253\u5370\u673a\u8fd8\u662fUSB\u76f4\u8fde\u7684\uff1f\\\", \\\"action\\\"\\\n : null, \\\"options\\\": [{\\\"label\\\": \\\"\u7f51\u7edc\u6253\u5370\u673a\\\", \\\"value\\\": \\\"network\\\"},\\\n \\ {\\\"label\\\": \\\"USB\u76f4\u8fde\\\", \\\"value\\\": \\\"usb\\\"}, {\\\"label\\\": \\\"\u4e0d\u786e\u5b9a\\\", \\\"\\\n value\\\": \\\"unsure\\\"}]}\\n\\n\u7528\u6237\uff1a\\\"\u8c22\u8c22\\\"\\n{\\\"text\\\": \\\"\u4e0d\u5ba2\u6c14\uff01\u6709\u95ee\u9898\u968f\u65f6\u627e\u6211\uff5e\\\", \\\"action\\\"\\\n : null, \\\"options\\\": null}\\n\\n\u7528\u6237\uff1a\\\"\u7535\u8111\u84dd\u5c4f\u4e86\\\"\\n{\\\"text\\\": \\\"\u7535\u8111\u84dd\u5c4f\u4e86\uff1f\u522b\u6025\uff0c\u84dd\u5c4f\u65f6\u6709\u9519\u8bef\u4ee3\u7801\u5417\uff1f\\\"\\\n , \\\"action\\\": null, \\\"options\\\": [{\\\"label\\\": \\\"\u6709\u9519\u8bef\u4ee3\u7801\\\", \\\"value\\\": \\\"\\\n has_code\\\"}, {\\\"label\\\": \\\"\u6ca1\u6709\\\", \\\"value\\\": \\\"no_code\\\"}, {\\\"label\\\":\\\n \\ \\\"\u4e0d\u786e\u5b9a\\\", \\\"value\\\": \\\"unsure\\\"}]}\\n\\n\u7528\u6237\uff1a\\\"\u5bc6\u7801\u5fd8\u4e86\\\"\\n{\\\"text\\\": \\\"\u5bc6\u7801\u5fd8\u4e86\uff1f\u662f\u4f01\u5fae\u5bc6\u7801\u8fd8\u662f\u7535\u8111\u5f00\u673a\u5bc6\u7801\uff1f\\\"\\\n , \\\"action\\\": null, \\\"options\\\": [{\\\"label\\\": \\\"\u4f01\u5fae\u5bc6\u7801\\\", \\\"value\\\": \\\"\\\n wecom\\\"}, {\\\"label\\\": \\\"\u7535\u8111\u5bc6\u7801\\\", \\\"value\\\": \\\"pc\\\"}, {\\\"label\\\": \\\"\u90ae\u7bb1\u5bc6\u7801\\\"\\\n , \\\"value\\\": \\\"email\\\"}]}\\n\\n\u7528\u6237\uff1a\\\"\u4f01\u5fae\u5bc6\u7801\\\"\\n{\\\"text\\\": \\\"\u4f01\u5fae\u5bc6\u7801\u53ef\u4ee5\u901a\u8fc7\u4f01\u5fae\u8bbe\u7f6e\u81ea\u52a9\u91cd\u7f6e\u3002\u53f3\u4fa7\u5df2\u4e3a\u60a8\u51c6\u5907\u597d\u64cd\u4f5c\u6307\u5f15\u3002\\\"\\\n , \\\"action\\\": {\\\"type\\\": \\\"approval_card\\\", \\\"approval_type\\\": \\\"\u8d26\u53f7\u6743\u9650\u7533\u8bf7\\\"\\\n , \\\"title\\\": \\\"\u5bc6\u7801\u91cd\u7f6e\\\", \\\"description\\\": \\\"\u81ea\u52a9\u91cd\u7f6e\u6216\u63d0\u4ea4\u7533\u8bf7\\\"}, \\\"options\\\": null}\"\n - id: 034760a9-98ca-4e3a-a86d-269ca66a9e69\n role: user\n text: '\u540c\u4e8b\u54a8\u8be2\u95ee\u9898\uff1a{{#conversation.servyou_query#}}\n\n \u77e5\u8bc6\u5e93\u5185\u5bb9\uff1a{{#17676676167470.result#}}\n\n \u56fe\u6587\u4fe1\u606f\uff1a{{#context#}}'\n selected: false\n title: \u672c\u5730\u5927\u6a21\u578b\u5206\u6790\n type: llm\n vision:\n enabled: false\n height: 88\n id: '1764905844059'\n position:\n x: 12303.182583067013\n y: 258.0075828932353\n positionAbsolute:\n x: 12303.182583067013\n y: 258.0075828932353\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n answer: '{{#1764905844059.text#}}'\n selected: false\n title: \u6574\u5408\u56de\u590d\n type: answer\n variables: []\n height: 103\n id: '1765181482474'\n position:\n x: 13762.9588534678\n y: 258.0075828932353\n positionAbsolute:\n x: 13762.9588534678\n y: 258.0075828932353\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n items:\n - input_type: variable\n operation: over-write\n value:\n - conversation\n - servyou_query\n variable_selector:\n - conversation\n - memory_query\n write_mode: over-write\n - input_type: variable\n operation: over-write\n value:\n - '1764905844059'\n - text\n variable_selector:\n - conversation\n - memory_ans\n write_mode: over-write\n selected: false\n title: \u5168\u5c40\u53d8\u91cf-\u8bb0\u5fc6\u524d\u7f6e\u95ee\u9898\u548c\u56de\u590d\n type: assigner\n version: '2'\n height: 110\n id: '1765357529351'\n position:\n x: 13067.71450474107\n y: 258.0075828932353\n positionAbsolute:\n x: 13067.71450474107\n y: 258.0075828932353\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n extract_by:\n enabled: false\n serial: '1'\n filter_by:\n conditions:\n - comparison_operator: in\n key: type\n value:\n - image\n enabled: true\n item_var_type: file\n limit:\n enabled: false\n size: 10\n order_by:\n enabled: false\n key: ''\n value: asc\n selected: false\n title: \u63d0\u53d6\u56fe\u7247\n type: list-operator\n var_type: array[file]\n variable:\n - sys\n - files\n height: 92\n id: '1765436887640'\n position:\n x: -1236.233421978262\n y: 731.254359189726\n positionAbsolute:\n x: -1236.233421978262\n y: 731.254359189726\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n context:\n enabled: true\n variable_selector:\n - '1765436887640'\n - last_record\n model:\n completion_params:\n temperature: 0.7\n mode: chat\n name: Qwen3-VL-8B-Instruct\n provider: langgenius\/openai_api_compatible\/openai_api_compatible\n prompt_template:\n - id: 9f9ca01e-921c-46af-9fde-99961443a7f4\n role: system\n text: \"\u4f60\u662f\u4f01\u4e1aIT\u667a\u80fd\u670d\u52a1\u52a9\u624b\u300cDuckula\u300d\u3002\u4f60\u7684\u804c\u8d23\u662f\u5e2e\u52a9\u5458\u5de5\u89e3\u51b3IT\u95ee\u9898\u3001\u5f15\u5bfc\u64cd\u4f5c\u6d41\u7a0b\u3002\\n\\n### \u6838\u5fc3\u89c4\u5219\\n\\n1. **\u56de\u590d\u5fc5\u987b\u4e3a\\\n \\ JSON \u683c\u5f0f**\uff0c\u5305\u542b\u56db\u4e2a\u5b57\u6bb5\uff1a`text`\u3001`action`\u3001`options`\u3001`diagnosis_stage`\\n2. **\u6587\u5b57\u7b80\u77ed**\uff1a`text`\\\n \\ \u5b57\u6bb5\u63a7\u5236\u5728 50 \u5b57\u4ee5\u5185\uff0c\u7528\u53e3\u8bed\u5316\u8868\u8fbe\uff0c\u50cf\u670b\u53cb\u804a\u5929\\n3. **\u4e00\u6b21\u53ea\u805a\u7126\u4e00\u4e2a\u95ee\u9898**\uff1a\u4e0d\u8981\u4e00\u6b21\u6027\u7ed9\u51fa\u6240\u6709\u89e3\u51b3\u65b9\u6848\uff0c\u9010\u6b65\u5f15\u5bfc\u7528\u6237\\n4.\\\n \\ **\u5f15\u7528\u4fa7\u8fb9\u680f**\uff1a\u5f53\u63a8\u9001\u64cd\u4f5c\u5165\u53e3\u65f6\uff0c\u5728\u6587\u5b57\u4e2d\u63d0\u53ca\\\"\u53f3\u4fa7\u5df2\u4e3a\u60a8\u51c6\u5907\u597d\\\"\\n5. **\u8bca\u65ad\u9636\u6bb5**\uff1a\u6bcf\u6b21\u56de\u590d\u5fc5\u987b\u6807\u6ce8\u5f53\u524d `diagnosis_stage`\uff0c\u5e2e\u52a9\u7cfb\u7edf\u5224\u65ad\u8bca\u65ad\u8fdb\u5ea6\\n\\\n \\n### JSON \u8f93\u51fa\u683c\u5f0f\\n\\n{\\n \\\"text\\\": \\\"\u7b80\u77ed\u7684\u56de\u590d\u6587\u5b57\uff0850\u5b57\u4ee5\u5185\uff09\\\",\\n \\\"action\\\": null,\\n\\\n \\ \\\"options\\\": null,\\n \\\"diagnosis_stage\\\": \\\"gathering_info\\\"\\n}\\n\\n\\\n ### diagnosis_stage \u5b57\u6bb5\u8bf4\u660e\\n\\n| \u503c | \u542b\u4e49 | \u4f7f\u7528\u573a\u666f |\\n|----|------|---------|\\n\\\n | `initial` | \u521d\u59cb\u63a5\u89e6 | \u7528\u6237\u521a\u63cf\u8ff0\u95ee\u9898\uff0cAI \u5c1a\u672a\u5f00\u59cb\u8bca\u65ad |\\n| `gathering_info` | \u4fe1\u606f\u6536\u96c6\u4e2d |\\\n \\ AI \u6b63\u5728\u901a\u8fc7\u9009\u9879\/\u8ffd\u95ee\u6536\u96c6\u66f4\u591a\u7ec6\u8282 |\\n| `diagnosing` | \u8bca\u65ad\u4e2d | \u4fe1\u606f\u5df2\u8db3\u591f\uff0cAI \u6b63\u5728\u5206\u6790\u95ee\u9898\u539f\u56e0 |\\n|\\\n \\ `recommending` | \u7ed9\u51fa\u5efa\u8bae | AI \u6b63\u5728\u63d0\u4f9b\u89e3\u51b3\u65b9\u6848\u6216\u64cd\u4f5c\u6307\u5f15 |\\n| `resolved` | \u5df2\u89e3\u51b3 | AI\\\n \\ \u8ba4\u4e3a\u95ee\u9898\u5df2\u89e3\u51b3\uff0c\u53ef\u5efa\u8bae\u5173\u95ed\u4f1a\u8bdd |\\n| `escalating` | \u5efa\u8bae\u8f6c\u4eba\u5de5 | AI \u65e0\u6cd5\u89e3\u51b3\uff0c\u5efa\u8bae\u8f6c\u4eba\u5de5\u5750\u5e2d |\\n\\n###\\\n \\ \u4e09\u79cd\u56de\u590d\u573a\u666f\\n\\n#### \u573a\u666f 1\uff1a\u5ba1\u6279\/\u64cd\u4f5c\u63a8\u8350\uff08\u6587\u5b57 + \u4fa7\u8fb9\u680f\u5361\u7247\uff09\\n\\n\u5f53\u7528\u6237\u8868\u8fbe\u7533\u8bf7\u610f\u56fe\uff08\u5982\\\"\u7533\u8bf7VPN\\\"\\\"\u60f3\u6362\u7535\u8111\\\"\\\n \uff09\uff0c\u5728 `action` \u4e2d\u586b\u5145\u64cd\u4f5c\u5165\u53e3\u4fe1\u606f\uff1a\\n\\n{\\n \\\"text\\\": \\\"\u60a8\u60f3\u7533\u8bf7VPN\u8d26\u53f7\uff1f\u53f3\u4fa7\u5df2\u4e3a\u60a8\u51c6\u5907\u597d\u5165\u53e3\uff0c\u70b9\u51fb\u5373\u53ef\u63d0\u4ea4\u3002\\\"\\\n ,\\n \\\"action\\\": {\\n \\\"type\\\": \\\"approval_card\\\",\\n \\\"approval_type\\\"\\\n : \\\"\u8d26\u53f7\u6743\u9650\u7533\u8bf7\\\",\\n \\\"title\\\": \\\"VPN \u8d26\u53f7\u7533\u8bf7\\\",\\n \\\"description\\\": \\\"1-2\\\n \\ \u4e2a\u5de5\u4f5c\u65e5\u5ba1\u6279\u5b8c\u6210\\\"\\n },\\n \\\"options\\\": null,\\n \\\"diagnosis_stage\\\": \\\"recommending\\\"\\\n \\n}\\n\\n`action` \u5b57\u6bb5\u8bf4\u660e\uff1a\\n- `type`: \u56fa\u5b9a\u4e3a `\\\"approval_card\\\"`\\n- `approval_type`:\\\n \\ 12\u79cd\u5ba1\u6279\u7c7b\u578b\u4e4b\u4e00\\n- `title`: \u5361\u7247\u6807\u9898\uff0810\u5b57\u4ee5\u5185\uff09\\n- `description`: \u4e00\u53e5\u8bdd\u8bf4\u660e\uff0820\u5b57\u4ee5\u5185\uff09\\n\\n\\\n #### \u573a\u666f 2\uff1a\u4ea4\u4e92\u5f0f\u6392\u67e5\uff08\u6587\u5b57 + \u9009\u9879\u6309\u94ae\uff09\\n\\n\u5f53\u9700\u8981\u7528\u6237\u8865\u5145\u4fe1\u606f\u6765\u5b9a\u4f4d\u95ee\u9898\u65f6\uff0c\u5728 `options` \u4e2d\u63d0\u4f9b\u9009\u9879\uff1a\\n\\n{\\n\\\n \\ \\\"text\\\": \\\"\u7535\u8111\u84dd\u5c4f\u4e86\uff1f\u84dd\u5c4f\u65f6\u6709\u9519\u8bef\u4ee3\u7801\u5417\uff1f\\\",\\n \\\"action\\\": null,\\n \\\"options\\\"\\\n : [\\n {\\\"label\\\": \\\"\u6709\u9519\u8bef\u4ee3\u7801\\\", \\\"value\\\": \\\"has_code\\\"},\\n {\\\"label\\\"\\\n : \\\"\u6ca1\u6709\\\", \\\"value\\\": \\\"no_code\\\"},\\n {\\\"label\\\": \\\"\u4e0d\u786e\u5b9a\\\", \\\"value\\\"\\\n : \\\"unsure\\\"}\\n ],\\n \\\"diagnosis_stage\\\": \\\"gathering_info\\\"\\n}\\n\\n\\\n `options` \u5b57\u6bb5\u8bf4\u660e\uff1a\\n- \u6700\u591a 4 \u4e2a\u9009\u9879\\n- `label`: \u6309\u94ae\u6587\u5b57\uff088\u5b57\u4ee5\u5185\uff09\\n- `value`: \u9009\u9879\u503c\uff08\u82f1\u6587\u77ed\u6807\u8bc6\uff09\\n\\\n - \u9009\u9879\u5e94\u8be5\u4e92\u65a5\u4e14\u8986\u76d6\u4e3b\u8981\u53ef\u80fd\u6027\\n\\n#### \u573a\u666f 3\uff1a\u7eaf\u6587\u5b57\u56de\u590d\\n\\n\u5f53\u4e0d\u9700\u8981\u5361\u7247\u6216\u9009\u9879\u65f6\uff0c`action` \u548c `options`\\\n \\ \u8bbe\u4e3a `null`\uff1a\\n\\n{\\n \\\"text\\\": \\\"\u597d\u7684\uff0cVPN\u8d26\u53f7\u4e00\u822c1-2\u4e2a\u5de5\u4f5c\u65e5\u5ba1\u6279\u5b8c\u6210\uff0c\u5c4a\u65f6\u4f1a\u901a\u8fc7\u4f01\u5fae\u901a\u77e5\u60a8\u3002\\\",\\n\\\n \\ \\\"action\\\": null,\\n \\\"options\\\": null,\\n \\\"diagnosis_stage\\\": \\\"\\\n resolved\\\"\\n}\\n\\n### \u56de\u590d\u98ce\u683c\u8981\u6c42\\n\\n- **\u53e3\u8bed\u5316**\uff1a\u7528\\\"\u60a8\\\"\\\"\u54b1\u4eec\\\"\\\"\u6211\u6765\u5e2e\u4f60\\\"\u7b49\u81ea\u7136\u8868\u8fbe\uff0c\u4e0d\u7528\\\"\\\n \u5c0a\u656c\u7684\u7528\u6237\\\"\\n- **\u7b80\u77ed\u6709\u529b**\uff1a\u6bcf\u6761\u56de\u590d\u53ea\u89e3\u51b3\u4e00\u4e2a\u95ee\u9898\u6216\u5f15\u5bfc\u4e00\u6b65\u64cd\u4f5c\\n- **\u4e3b\u52a8\u5f15\u5bfc**\uff1a\u56de\u590d\u672b\u5c3e\u53ef\u4ee5\u5e26\u4e00\u4e2a\u8ffd\u95ee\uff08\u5982\\\"\u5177\u4f53\u662f\u4ec0\u4e48\u62a5\u9519\uff1f\\\"\\\n \uff09\\n- **\u4e0d\u66b4\u9732\u6280\u672f\u7ec6\u8282**\uff1a\u4e0d\u8bf4\\\"API\u8c03\u7528\u5931\u8d25\\\"\\\"\u7cfb\u7edf\u9519\u8bef\\\"\u7b49\uff0c\u7528\\\"\u6211\u6682\u65f6\u6ca1\u67e5\u5230\u76f8\u5173\u4fe1\u606f\\\"\u4ee3\u66ff\\n\\n### \u5ba1\u6279\u610f\u56fe\u8bc6\u522b\u89c4\u5219\\n\\\n \\n\u5f53\u7528\u6237\u6d88\u606f\u5305\u542b\u4ee5\u4e0b\u4fe1\u53f7\u65f6\uff0c\u5728 `action` \u4e2d\u63a8\u9001\u5ba1\u6279\u5361\u7247\uff1a\\n\\n| \u7528\u6237\u8868\u8fbe | approval_type | action.title\\\n \\ |\\n|---------|--------------|-------------|\\n| \\\"\u7533\u8bf7\u7535\u8111\/\u7b14\u8bb0\u672c\/\u663e\u793a\u5668\\\" | \u8bbe\u5907\u7533\u8bf7\\\n \\ | \u8bbe\u5907\u7533\u8bf7 |\\n| \\\"VPN\/\u8d26\u53f7\/\u6743\u9650\\\" + \\\"\u7533\u8bf7\/\u5f00\u901a\\\" | \u8d26\u53f7\u6743\u9650\u7533\u8bf7 | \u8d26\u53f7\u6743\u9650\u7533\u8bf7 |\\n| \\\"\u7533\u8bf7\u8f6f\u4ef6\/\u8f6f\u4ef6\u6388\u6743\\\"\\\n \\ | \u8f6f\u4ef6\u670d\u52a1\u7533\u8bf7 | \u8f6f\u4ef6\u670d\u52a1\u7533\u8bf7 |\\n| \\\"\u62a5\u5e9f\/\u9001\u4fee\/\u9000\u8fd8\u8bbe\u5907\\\" | \u8d44\u4ea7\u5904\u7f6e\u7533\u8bf7 | \u8d44\u4ea7\u5904\u7f6e\u7533\u8bf7 |\\n| \\\"\u4f1a\u8bae\u5ba4\u8bbe\u5907\u6545\u969c\\\"\\\n \\ | \u4f1a\u8bae\u5ba4\u6545\u969c\u62a5\u4fee | \u6545\u969c\u62a5\u4fee |\\n| \\\"\u516c\u5171\u90ae\u7bb1\/\u5171\u4eab\u90ae\u7bb1\\\" | \u516c\u5171\u90ae\u7bb1\u8d26\u53f7\u7533\u8bf7 | \u516c\u5171\u90ae\u7bb1\u7533\u8bf7 |\\n| \\\"\u7f51\u7edc\u51c6\u5165\/\u7ec8\u7aef\u51c6\u5165\\\"\\\n \\ | \u7ec8\u7aef\u8bbe\u5907\u7f51\u7edc\u51c6\u5165 | \u7f51\u7edc\u51c6\u5165\u7533\u8bf7 |\\n| \\\"\u6d3b\u52a8\u6280\u672f\u652f\u6301\/\u4f1a\u8bae\u4fdd\u969c\\\" | \u6d3b\u52a8\u4e0e\u4f1a\u8bae\u6280\u672f\u652f\u6301 | \u6280\u672f\u652f\u6301\u7533\u8bf7 |\\n\\n\\\n **\u6ce8\u610f**\uff1a\u4ec5\u5f53\u7528\u6237\u6709\u660e\u786e\u7533\u8bf7\u610f\u56fe\u65f6\u624d\u63a8\u9001\u5361\u7247\u3002\u5982\u679c\u7528\u6237\u53ea\u662f\u5728\u54a8\u8be2\uff08\u5982\\\"VPN\u600e\u4e48\u7528\\\"\uff09\uff0c\u4e0d\u63a8\u5361\u7247\uff0c\u8d70\u6b63\u5e38\u95ee\u7b54\u3002\\n\\n### IT\u77e5\u8bc6\u5e93\u95ee\u7b54\u89c4\u5219\\n\\\n \\n\u5f53\u7528\u6237\u63d0\u51faIT\u95ee\u9898\u65f6\uff1a\\n1. \u5229\u7528\u77e5\u8bc6\u5e93\u5185\u5bb9\u56de\u7b54\\n2. \u56de\u7b54\u8981\u7b80\u77ed\uff0850\u5b57\u4ee5\u5185\uff09\uff0c\u4e0d\u8981\u5927\u6bb5\u590d\u5236\u77e5\u8bc6\u5e93\u5185\u5bb9\\n3. \u5982\u679c\u9700\u8981\u5206\u6b65\u9aa4\u6307\u5bfc\uff0c\u5148\u8bf4\u7b2c\u4e00\u6b65\\\n \\ + \u63d0\u4f9b\u9009\u9879\u8ba9\u7528\u6237\u786e\u8ba4\u662f\u5426\u7ee7\u7eed\\n4. \u5982\u679c\u77e5\u8bc6\u5e93\u4e2d\u6ca1\u6709\u76f8\u5173\u4fe1\u606f\uff0c\u8bda\u5b9e\u544a\u77e5\u5e76\u5efa\u8bae\u8f6c\u4eba\u5de5\\n\\n### \u8f93\u51fa\u7ea6\u675f\\n\\n- **\u5fc5\u987b\u8f93\u51fa\u5408\u6cd5\\\n \\ JSON**\uff0c\u4e0d\u8981\u5728 JSON \u5916\u6dfb\u52a0\u4efb\u4f55\u6587\u5b57\\n- **\u4e0d\u8981\u4f7f\u7528 markdown \u4ee3\u7801\u5757\u5305\u88f9**\uff0c\u76f4\u63a5\u8f93\u51fa JSON \u539f\u6587\\n- **\u4e2d\u6587\u5f15\u53f7**\uff1aJSON\\\n \\ \u5b57\u7b26\u4e32\u5185\u4f7f\u7528\u4e2d\u6587\u5185\u5bb9\u65f6\uff0c\u5b57\u7b26\u4e32\u672c\u8eab\u7528\u82f1\u6587\u53cc\u5f15\u53f7\\n- **null \u5904\u7406**\uff1a\u65e0 `action` \u6216 `options` \u65f6\u5fc5\u987b\u8bbe\u4e3a\\\n \\ `null`\uff0c\u4e0d\u80fd\u7701\u7565\u5b57\u6bb5\\n\\n### \u793a\u4f8b\\n\\n\u7528\u6237\uff1a\\\"\u6211\u7684VPN\u8fde\u4e0d\u4e0a\u4e86\\\"\\n{\\\"text\\\": \\\"VPN\u8fde\u4e0d\u4e0a\u4e86\uff1f\u5148\u786e\u8ba4\u4e0b\uff0c\u60a8\u662f\u7535\u8111\u7aef\u8fd8\u662f\u624b\u673a\u7aef\uff1f\\\"\\\n , \\\"action\\\": null, \\\"options\\\": [{\\\"label\\\": \\\"\u7535\u8111\u7aef\\\", \\\"value\\\": \\\"pc\\\"\\\n }, {\\\"label\\\": \\\"\u624b\u673a\u7aef\\\", \\\"value\\\": \\\"mobile\\\"}]}\\n\\n\u7528\u6237\uff1a\\\"\u7535\u8111\u7aef\\\"\\n{\\\"text\\\"\\\n : \\\"\u597d\u7684\uff0c\u7535\u8111\u7aefVPN\u3002\u60a8\u7528\u7684\u662f\u96f6\u4fe1\u4efb\u5ba2\u6237\u7aef\u8fd8\u662f\u4f20\u7edfVPN\uff1f\\\", \\\"action\\\": null, \\\"options\\\": [{\\\"\\\n label\\\": \\\"\u96f6\u4fe1\u4efb\\\", \\\"value\\\": \\\"zero_trust\\\"}, {\\\"label\\\": \\\"\u4f20\u7edfVPN\\\", \\\"\\\n value\\\": \\\"traditional\\\"}, {\\\"label\\\": \\\"\u4e0d\u786e\u5b9a\\\", \\\"value\\\": \\\"unsure\\\"\\\n }]}\\n\\n\u7528\u6237\uff1a\\\"\u6211\u8981\u7533\u8bf7VPN\u8d26\u53f7\\\"\\n{\\\"text\\\": \\\"\u60a8\u60f3\u7533\u8bf7VPN\u8d26\u53f7\uff1f\u53f3\u4fa7\u5df2\u4e3a\u60a8\u51c6\u5907\u597d\u5165\u53e3\uff0c\u70b9\u51fb\u5373\u53ef\u63d0\u4ea4\u3002\\\",\\\n \\ \\\"action\\\": {\\\"type\\\": \\\"approval_card\\\", \\\"approval_type\\\": \\\"\u8d26\u53f7\u6743\u9650\u7533\u8bf7\\\"\\\n , \\\"title\\\": \\\"VPN\u8d26\u53f7\u7533\u8bf7\\\", \\\"description\\\": \\\"1-2\u4e2a\u5de5\u4f5c\u65e5\u5ba1\u6279\u5b8c\u6210\\\"}, \\\"options\\\"\\\n : null}\\n\\n\u7528\u6237\uff1a\\\"\u6253\u5370\u673a\u8fde\u4e0d\u4e0a\\\"\\n{\\\"text\\\": \\\"\u6253\u5370\u673a\u8fde\u4e0d\u4e0a\uff1f\u662f\u7f51\u7edc\u6253\u5370\u673a\u8fd8\u662fUSB\u76f4\u8fde\u7684\uff1f\\\", \\\"action\\\"\\\n : null, \\\"options\\\": [{\\\"label\\\": \\\"\u7f51\u7edc\u6253\u5370\u673a\\\", \\\"value\\\": \\\"network\\\"},\\\n \\ {\\\"label\\\": \\\"USB\u76f4\u8fde\\\", \\\"value\\\": \\\"usb\\\"}, {\\\"label\\\": \\\"\u4e0d\u786e\u5b9a\\\", \\\"\\\n value\\\": \\\"unsure\\\"}]}\\n\\n\u7528\u6237\uff1a\\\"\u8c22\u8c22\\\"\\n{\\\"text\\\": \\\"\u4e0d\u5ba2\u6c14\uff01\u6709\u95ee\u9898\u968f\u65f6\u627e\u6211\uff5e\\\", \\\"action\\\"\\\n : null, \\\"options\\\": null}\\n\\n\u7528\u6237\uff1a\\\"\u7535\u8111\u84dd\u5c4f\u4e86\\\"\\n{\\\"text\\\": \\\"\u7535\u8111\u84dd\u5c4f\u4e86\uff1f\u522b\u6025\uff0c\u84dd\u5c4f\u65f6\u6709\u9519\u8bef\u4ee3\u7801\u5417\uff1f\\\"\\\n , \\\"action\\\": null, \\\"options\\\": [{\\\"label\\\": \\\"\u6709\u9519\u8bef\u4ee3\u7801\\\", \\\"value\\\": \\\"\\\n has_code\\\"}, {\\\"label\\\": \\\"\u6ca1\u6709\\\", \\\"value\\\": \\\"no_code\\\"}, {\\\"label\\\":\\\n \\ \\\"\u4e0d\u786e\u5b9a\\\", \\\"value\\\": \\\"unsure\\\"}]}\\n\\n\u7528\u6237\uff1a\\\"\u5bc6\u7801\u5fd8\u4e86\\\"\\n{\\\"text\\\": \\\"\u5bc6\u7801\u5fd8\u4e86\uff1f\u662f\u4f01\u5fae\u5bc6\u7801\u8fd8\u662f\u7535\u8111\u5f00\u673a\u5bc6\u7801\uff1f\\\"\\\n , \\\"action\\\": null, \\\"options\\\": [{\\\"label\\\": \\\"\u4f01\u5fae\u5bc6\u7801\\\", \\\"value\\\": \\\"\\\n wecom\\\"}, {\\\"label\\\": \\\"\u7535\u8111\u5bc6\u7801\\\", \\\"value\\\": \\\"pc\\\"}, {\\\"label\\\": \\\"\u90ae\u7bb1\u5bc6\u7801\\\"\\\n , \\\"value\\\": \\\"email\\\"}]}\\n\\n\u7528\u6237\uff1a\\\"\u4f01\u5fae\u5bc6\u7801\\\"\\n{\\\"text\\\": \\\"\u4f01\u5fae\u5bc6\u7801\u53ef\u4ee5\u901a\u8fc7\u4f01\u5fae\u8bbe\u7f6e\u81ea\u52a9\u91cd\u7f6e\u3002\u53f3\u4fa7\u5df2\u4e3a\u60a8\u51c6\u5907\u597d\u64cd\u4f5c\u6307\u5f15\u3002\\\"\\\n , \\\"action\\\": {\\\"type\\\": \\\"approval_card\\\", \\\"approval_type\\\": \\\"\u8d26\u53f7\u6743\u9650\u7533\u8bf7\\\"\\\n , \\\"title\\\": \\\"\u5bc6\u7801\u91cd\u7f6e\\\", \\\"description\\\": \\\"\u81ea\u52a9\u91cd\u7f6e\u6216\u63d0\u4ea4\u7533\u8bf7\\\"}, \\\"options\\\": null}\"\n - id: 01bdc141-56e6-4757-a1f5-57f78f504369\n role: user\n text: \u56fe\u7247\uff1a{{#context#}}\n selected: false\n title: \u56fe\u7247\u5206\u6790\u5927\u6a21\u578b\n type: llm\n vision:\n configs:\n detail: high\n variable_selector:\n - '1765436887640'\n - last_record\n enabled: true\n height: 88\n id: '1765437083981'\n position:\n x: -729.4536141008323\n y: 888.1844744887503\n positionAbsolute:\n x: -729.4536141008323\n y: 888.1844744887503\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n cases:\n - case_id: 'true'\n conditions:\n - comparison_operator: empty\n id: e86d98d8-010f-4cf2-a1c6-b8e151b7cf26\n value: ''\n varType: array[file]\n variable_selector:\n - sys\n - files\n id: 'true'\n logical_operator: and\n selected: false\n title: \u56fe\u6587\u5224\u65ad\n type: if-else\n height: 124\n id: '1765437585148'\n position:\n x: -1926.280179417684\n y: 425.8515926460108\n positionAbsolute:\n x: -1926.280179417684\n y: 425.8515926460108\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n selected: false\n template: '{{ image }},{{ text }}'\n title: \u56fe\u6587\u5185\u5bb9\u6574\u5408\n type: template-transform\n variables:\n - value_selector:\n - '1765437083981'\n - text\n value_type: string\n variable: image\n - value_selector:\n - conversation\n - servyou_query\n value_type: string\n variable: text\n height: 52\n id: '1765439054336'\n position:\n x: -216.91587430741686\n y: 1034.342443267299\n positionAbsolute:\n x: -216.91587430741686\n y: 1034.342443267299\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n items:\n - input_type: variable\n operation: over-write\n value:\n - '1765782485068'\n - result\n variable_selector:\n - conversation\n - servyou_query\n write_mode: over-write\n selected: false\n title: \u5168\u5c40\u8d4b\u503c-\u540c\u4e8b\u54a8\u8be2\u95ee\u9898\n type: assigner\n version: '2'\n height: 84\n id: '1765441606676'\n position:\n x: -2963.8329056615107\n y: 436.97867740596223\n positionAbsolute:\n x: -2963.8329056615107\n y: 436.97867740596223\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n items:\n - input_type: variable\n operation: over-write\n value:\n - '1765439054336'\n - output\n variable_selector:\n - conversation\n - servyou_query\n write_mode: over-write\n selected: false\n title: \u5168\u5c40\u53d8\u91cf-\u540c\u4e8b\u54a8\u8be2\u95ee\u9898\n type: assigner\n version: '2'\n height: 84\n id: '1765441716709'\n position:\n x: 293.29585950407113\n y: 1160.9098249676185\n positionAbsolute:\n x: 293.29585950407113\n y: 1160.9098249676185\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n cases:\n - case_id: 'true'\n conditions:\n - comparison_operator: is\n id: 33ee6a32-a0c0-4bbf-9a96-bb7160234499\n value: \u60a8\u597d\n varType: string\n variable_selector:\n - conversation\n - servyou_query\n - comparison_operator: is\n id: 459317d5-9334-4557-83cc-bcd5acec58bf\n value: \u4f60\u597d\n varType: string\n variable_selector:\n - conversation\n - servyou_query\n - comparison_operator: is\n id: 73df0b1d-a2ad-45f8-8b63-003d70b0d108\n value: hi\n varType: string\n variable_selector:\n - conversation\n - servyou_query\n - comparison_operator: is\n id: 20e600d7-6737-4fd2-8658-26e43b68bc32\n value: \u54c8\u55bd\n varType: string\n variable_selector:\n - conversation\n - servyou_query\n - comparison_operator: is\n id: b7903e47-d4fb-44e1-b6a1-242903487ff6\n value: Hi\n varType: string\n variable_selector:\n - conversation\n - servyou_query\n - comparison_operator: is\n id: af62fff6-c3de-4c8d-821a-38c7f1f44608\n value: HI\n varType: string\n variable_selector:\n - conversation\n - servyou_query\n - comparison_operator: is\n id: ea51a7b1-7f5a-435f-a56c-2348802996a1\n value: hl\n varType: string\n variable_selector:\n - conversation\n - servyou_query\n - comparison_operator: is\n id: 92c3338e-915f-424f-87fb-84eb995e0f40\n value: \u65e9\u4e0a\u597d\n varType: string\n variable_selector:\n - conversation\n - servyou_query\n - comparison_operator: is\n id: f47b5f19-0c46-46f0-8098-ee05a2078547\n value: \u4e2d\u5348\u597d\n varType: string\n variable_selector:\n - conversation\n - servyou_query\n - comparison_operator: is\n id: 6362a678-559e-4cf7-a48d-d997b56629c3\n value: \u665a\u4e0a\u597d\n varType: string\n variable_selector:\n - conversation\n - servyou_query\n id: 'true'\n logical_operator: or\n - case_id: d7e857f8-75b0-44b6-a342-fcbf0fd1bce0\n conditions:\n - comparison_operator: is\n id: 83764bd9-5d95-4aa7-966c-38a0eb37f463\n value: \u4eba\u5de5\n varType: string\n variable_selector:\n - conversation\n - servyou_query\n - comparison_operator: is\n id: 1135a97c-f44c-4b05-9048-e0efed72d761\n value: \u4eba\u5de5\u670d\u52a1\n varType: string\n variable_selector:\n - conversation\n - servyou_query\n - comparison_operator: is\n id: b80be458-4af2-4d20-8b7c-1d661e75fa7f\n value: \u8f6c\u4eba\u5de5\n varType: string\n variable_selector:\n - conversation\n - servyou_query\n - comparison_operator: is\n id: debde512-7ae9-4abe-9778-a0073d2e42d8\n value: \u4eba\u5de5\u652f\u6301\n varType: string\n variable_selector:\n - conversation\n - servyou_query\n - comparison_operator: is\n id: 9d308df4-3147-4c89-9073-d3199b69d99a\n value: \u80fd\u5426\u4eba\u5de5\n varType: string\n variable_selector:\n - conversation\n - servyou_query\n - comparison_operator: is\n id: 553a78ee-cb2c-46b9-9475-c6bca650a51c\n value: \u4eba\u5de5\u5ba2\u670d\n varType: string\n variable_selector:\n - conversation\n - servyou_query\n - comparison_operator: is\n id: e244f35d-9568-46e2-a9e0-605022e9996d\n value: IT\u4eba\u5de5\n varType: string\n variable_selector:\n - conversation\n - servyou_query\n id: d7e857f8-75b0-44b6-a342-fcbf0fd1bce0\n logical_operator: or\n - case_id: 5b113ab9-2154-45bb-9fbc-e2fa2246b8c1\n conditions:\n - comparison_operator: is\n id: ca85a04b-ea31-40de-87ea-024ea69c780a\n value: IT\n varType: string\n variable_selector:\n - conversation\n - servyou_query\n - comparison_operator: is\n id: f721a7cf-e0cc-48a2-9314-b73967c900fb\n value: it\n varType: string\n variable_selector:\n - conversation\n - servyou_query\n - comparison_operator: is\n id: 9547b80f-0444-46c0-acb1-a1e37309ac84\n value: iT\n varType: string\n variable_selector:\n - conversation\n - servyou_query\n - comparison_operator: is\n id: ad1029fa-3fb9-4d48-a8a5-e5a4c24224fd\n value: It\n varType: string\n variable_selector:\n - conversation\n - servyou_query\n id: 5b113ab9-2154-45bb-9fbc-e2fa2246b8c1\n logical_operator: or\n - case_id: 66e1df2e-d7b7-4e2f-9ddb-ebac301f35f4\n conditions:\n - comparison_operator: is\n id: d109fdb4-fb99-47fa-8c4d-0eaac37846a4\n value: \u4eba\u529b\n varType: string\n variable_selector:\n - conversation\n - servyou_query\n id: 66e1df2e-d7b7-4e2f-9ddb-ebac301f35f4\n logical_operator: and\n - case_id: 1ec2ad7a-456a-4181-ba0f-9a3362d7a44c\n conditions:\n - comparison_operator: is\n id: 2fd0693a-fb0e-46a2-902e-9fd7b26c412c\n value: \u7269\u4e1a\n varType: string\n variable_selector:\n - conversation\n - servyou_query\n id: 1ec2ad7a-456a-4181-ba0f-9a3362d7a44c\n logical_operator: and\n - case_id: 909d209a-20c2-464b-9117-335166bd0209\n conditions:\n - comparison_operator: is\n id: d75ac251-6e79-4b8d-bc6a-510f0c38cfb4\n value: \u62a5\u9500\n varType: string\n variable_selector:\n - conversation\n - servyou_query\n id: 909d209a-20c2-464b-9117-335166bd0209\n logical_operator: and\n - case_id: f8839db4-0b63-4411-b052-f82aa3807e34\n conditions:\n - comparison_operator: is\n id: 213ed616-05ae-483a-8c37-512eb39a138a\n value: \u515a\u5de5\n varType: string\n variable_selector:\n - conversation\n - servyou_query\n id: f8839db4-0b63-4411-b052-f82aa3807e34\n logical_operator: and\n - case_id: 98d72ef6-f53a-482a-9cc6-36140595d055\n conditions:\n - comparison_operator: is\n id: eead373e-a9f0-459e-b2bf-6ea814f65e4c\n value: \u5b89\u5168\n varType: string\n variable_selector:\n - conversation\n - servyou_query\n id: 98d72ef6-f53a-482a-9cc6-36140595d055\n logical_operator: and\n selected: false\n title: \u81ea\u5b9a\u4e49\u89c4\u5219\u5e93\n type: if-else\n height: 928\n id: '1765517905842'\n position:\n x: 520.5281865827573\n y: -2456.2000110016365\n positionAbsolute:\n x: 520.5281865827573\n y: -2456.2000110016365\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n answer: Hi\uff01\u6211\u662f\u201c\u667a\u80fdIT\u52a9\u624b\u201d\uff0c\u5f88\u9ad8\u5174\u4e3a\u60a8\u670d\u52a1\uff0c\u8bf7\u4f7f\u7528\u6587\u5b57\u7b80\u5355\u63cf\u8ff0\u60a8\u7684\u95ee\u9898\u3002\n selected: false\n title: \u95ee\u5019\u56fa\u5b9a\u56de\u590d\n type: answer\n variables: []\n height: 116\n id: '1765518093072'\n position:\n x: 2554.5815342573715\n y: -3113.922099235114\n positionAbsolute:\n x: 2554.5815342573715\n y: -3113.922099235114\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n answer: \u8bf7\u4f7f\u7528\u6587\u5b57\u7b80\u5355\u63cf\u8ff0\u60a8\u7684\u95ee\u9898\uff0c\u6216\u8005\u56de\u590d\u201cIT\u201d\u3001\u201c\u4eba\u529b\u201d\u3001\u201c\u7269\u4e1a\u201d\u3001\u201c\u62a5\u9500\u201d\u3001\u201c\u515a\u5de5\u201d\u3001\u201c\u5b89\u5168\u201d\u7b49\u83b7\u5f97\u4eba\u5de5\u54a8\u8be2\u670d\u52a1\u5165\u53e3\u3002\n selected: false\n title: \u8f93\u5165\u201c\u4eba\u5de5\u201d\u4e8c\u5b57\u76f8\u5173\u56fa\u5b9a\u56de\u590d\n type: answer\n variables: []\n height: 148\n id: '1765524938055'\n position:\n x: 2854.0743305228325\n y: -2967.3309878875216\n positionAbsolute:\n x: 2854.0743305228325\n y: -2967.3309878875216\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n answer: \u8bf7\u70b9\u51fb\u201c[\u8054\u7cfbIT\u4eba\u5de5\u5750\u5e2d](https:\/\/work.weixin.qq.com\/nl\/innerkfid\/ikfCtcYBwAASJO8iTSSGONGsDfFMoUypg)\u201d\u94fe\u63a5\u8fdb\u5165\u4eba\u5de5\u670d\u52a1\u7a97\u53e3\uff0c\u7b80\u5355\u63cf\u8ff0\u60a8\u7684\u95ee\u9898\uff0c\u5e76\u63d0\u4f9b\u62a5\u9519\u4fe1\u606f\u6216\u622a\u56fe\uff0c\u540c\u4e8b\u5c06\u5c3d\u5feb\u56de\u590d\u60a8\u7684\u95ee\u9898\uff0c\uff08\u4eba\u5de5\u5750\u5e2d\u670d\u52a1\u65f6\u95f4\uff1a\u5de5\u4f5c\u65e5\u00a09:00~18:00\uff09\u3002\u3010\u6ce8\uff1a\u8bf7\u786e\u4fdd\u4f01\u5fae\u5728\u6700\u65b0\u7248\u672c\uff0c\u5426\u5219\u65e0\u6cd5\u70b9\u51fb\u94fe\u63a5\u3002\u3011\n selected: false\n title: IT\u5750\u5e2d\u4eba\u5de5\u94fe\u63a5\u56de\u590d\n type: answer\n variables: []\n height: 228\n id: '1765524956759'\n position:\n x: 3113.2329739514166\n y: -2800.425441650135\n positionAbsolute:\n x: 3113.2329739514166\n y: -2800.425441650135\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n answer: \u8bf7\u70b9\u51fb\u201c[\u4eba\u529b\u8d44\u6e90\u5171\u4eab\u670d\u52a1\u54a8\u8be2](https:\/\/work.weixin.qq.com\/nl\/innerkfid\/ikfCtcYBwAAvSRL5i5b_Xia8vCmFc2gRw)\u201d\u94fe\u63a5\u8fdb\u5165\u4eba\u5de5\u670d\u52a1\u7a97\u53e3\uff0c\u7b80\u5355\u63cf\u8ff0\u60a8\u7684\u95ee\u9898\uff0c\u540c\u4e8b\u5c06\u5c3d\u5feb\u56de\u590d\u60a8\u7684\u95ee\u9898\u3002\u3010\u6ce8\uff1a\u8bf7\u786e\u4fdd\u4f01\u5fae\u5728\u6700\u65b0\u7248\u672c\uff0c\u5426\u5219\u65e0\u6cd5\u70b9\u51fb\u94fe\u63a5\u3002\u3011\n selected: false\n title: \u4eba\u529b\u5750\u5e2d\u4eba\u5de5\u94fe\u63a5\u56de\u590d\n type: answer\n variables: []\n height: 196\n id: '1765766043047'\n position:\n x: 3374.9606775942593\n y: -2570.152723035539\n positionAbsolute:\n x: 3374.9606775942593\n y: -2570.152723035539\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n answer: \u8bf7\u70b9\u51fb\u201c[\u7269\u4e1a\u670d\u52a1\u54a8\u8be2](https:\/\/work.weixin.qq.com\/nl\/innerkfid\/ikfCtcYBwAAUtkMyOToCZqe42ZBDupVEQ)\u201d\u94fe\u63a5\u8fdb\u5165\u4eba\u5de5\u670d\u52a1\u7a97\u53e3\uff0c\u7b80\u5355\u63cf\u8ff0\u60a8\u7684\u95ee\u9898\uff0c\u540c\u4e8b\u5c06\u5c3d\u5feb\u56de\u590d\u60a8\u7684\u95ee\u9898\u3002\u3010\u6ce8\uff1a\u8bf7\u786e\u4fdd\u4f01\u5fae\u5728\u6700\u65b0\u7248\u672c\uff0c\u5426\u5219\u65e0\u6cd5\u70b9\u51fb\u94fe\u63a5\u3002\u3011\n selected: false\n title: \u7269\u4e1a\u5750\u5e2d\u4eba\u5de5\u94fe\u63a5\u56de\u590d\n type: answer\n variables: []\n height: 196\n id: '1765766067015'\n position:\n x: 3616.741884343417\n y: -2365.8413323601862\n positionAbsolute:\n x: 3616.741884343417\n y: -2365.8413323601862\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n answer: \u8bf7\u70b9\u51fb\u201c[\u62a5\u9500\u670d\u52a1\u54a8\u8be2](https:\/\/work.weixin.qq.com\/nl\/innerkfid\/ikfCtcYBwAAG4HC1zWJtPuALPKl2X6jcw)\u201d\u94fe\u63a5\u8fdb\u5165\u4eba\u5de5\u670d\u52a1\u7a97\u53e3\uff0c\u7b80\u5355\u63cf\u8ff0\u60a8\u7684\u95ee\u9898\uff0c\u540c\u4e8b\u5c06\u5c3d\u5feb\u56de\u590d\u60a8\u7684\u95ee\u9898\u3002\u3010\u6ce8\uff1a\u8bf7\u786e\u4fdd\u4f01\u5fae\u5728\u6700\u65b0\u7248\u672c\uff0c\u5426\u5219\u65e0\u6cd5\u70b9\u51fb\u94fe\u63a5\u3002\u3011\n selected: false\n title: \u62a5\u9500\u5750\u5e2d\u4eba\u5de5\u94fe\u63a5\u56de\u590d\n type: answer\n variables: []\n height: 196\n id: '1765766081739'\n position:\n x: 3909.9734093883203\n y: -2174.2176645758727\n positionAbsolute:\n x: 3909.9734093883203\n y: -2174.2176645758727\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n answer: \u8bf7\u70b9\u51fb\u201c[\u515a\u5de5\u670d\u52a1\u54a8\u8be2](https:\/\/work.weixin.qq.com\/nl\/innerkfid\/ikfCtcYBwAANk3yPOPAmkD6nLRHjbv-Zg)\u201d\u94fe\u63a5\u8fdb\u5165\u4eba\u5de5\u670d\u52a1\u7a97\u53e3\uff0c\u7b80\u5355\u63cf\u8ff0\u60a8\u7684\u95ee\u9898\uff0c\u540c\u4e8b\u5c06\u5c3d\u5feb\u56de\u590d\u60a8\u7684\u95ee\u9898\u3002\u3010\u6ce8\uff1a\u8bf7\u786e\u4fdd\u4f01\u5fae\u5728\u6700\u65b0\u7248\u672c\uff0c\u5426\u5219\u65e0\u6cd5\u70b9\u51fb\u94fe\u63a5\u3002\u3011\n selected: false\n title: \u515a\u5de5\u5750\u5e2d\u4eba\u5de5\u94fe\u63a5\u56de\u590d\n type: answer\n variables: []\n height: 196\n id: '1765766096673'\n position:\n x: 4161.9490515054285\n y: -1965.5190282543938\n positionAbsolute:\n x: 4161.9490515054285\n y: -1965.5190282543938\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n answer: \u8bf7\u70b9\u51fb\u201c[\u5b89\u5168\u670d\u52a1\u54a8\u8be2](https:\/\/work.weixin.qq.com\/nl\/innerkfid\/ikfCtcYBwAAtkP_ODMcv53bGE5x5M9YYw)\u201d\u94fe\u63a5\u8fdb\u5165\u4eba\u5de5\u670d\u52a1\u7a97\u53e3\uff0c\u7b80\u5355\u63cf\u8ff0\u60a8\u7684\u95ee\u9898\uff0c\u540c\u4e8b\u5c06\u5c3d\u5feb\u56de\u590d\u60a8\u7684\u95ee\u9898\u3002\u3010\u6ce8\uff1a\u8bf7\u786e\u4fdd\u4f01\u5fae\u5728\u6700\u65b0\u7248\u672c\uff0c\u5426\u5219\u65e0\u6cd5\u70b9\u51fb\u94fe\u63a5\u3002\u3011\n selected: false\n title: \u5b89\u5168\u5750\u5e2d\u4eba\u5de5\u94fe\u63a5\u56de\u590d\n type: answer\n variables: []\n height: 196\n id: '1765766112941'\n position:\n x: 4421.398579391068\n y: -1741.1828280237867\n positionAbsolute:\n x: 4421.398579391068\n y: -1741.1828280237867\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n code: \"def main(query: str):\\n extracted_content = \\\"\\\"\\n query = query.replace(\\\"\\\n \\\\n\\\",\\\"\\\")\\n query = query.replace(\\\"\\\\\\\"\\\",\\\"\\\")\\n query = query.strip()\\n\\\n \\ if \\\"Here is my question\\\" in query:\\n before, separator, after\\\n \\ = query.partition(\\\"Here is my question:\\\")\\n if separator:\\n \\\n \\ if after:\\n extracted_content = after.strip()\\n\\\n \\ else:\\n after = \\\"\u4ec0\u4e48\u95ee\u9898\uff1f\\\"\\n extracted_content\\\n \\ = after.strip()\\n else:\\n extracted_content = query.strip()\\n\\\n \\ return {\\n \\\"result\\\": extracted_content\\n }\\n\"\n code_language: python3\n outputs:\n result:\n children: null\n type: string\n selected: false\n title: \u4ee3\u7801\u6267\u884c\n type: code\n variables:\n - value_selector:\n - sys\n - query\n value_type: string\n variable: query\n height: 52\n id: '1765782485068'\n position:\n x: -3867.754148404409\n y: 436.97867740596223\n positionAbsolute:\n x: -3867.754148404409\n y: 436.97867740596223\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n context:\n enabled: true\n variable_selector:\n - conversation\n - servyou_query\n model:\n completion_params:\n temperature: 0.7\n mode: chat\n name: Qwen3-30B-A3B-Instruct\n provider: yangyaofei\/vllm\/vllm\n prompt_template:\n - id: df73d0b1-fb70-4b31-b446-94bfc168d44c\n role: system\n text: \"\u4f60\u662f\u4f01\u4e1aIT\u667a\u80fd\u670d\u52a1\u52a9\u624b\u300cDuckula\u300d\u3002\u4f60\u7684\u804c\u8d23\u662f\u5e2e\u52a9\u5458\u5de5\u89e3\u51b3IT\u95ee\u9898\u3001\u5f15\u5bfc\u64cd\u4f5c\u6d41\u7a0b\u3002\\n\\n### \u6838\u5fc3\u89c4\u5219\\n\\n1. **\u56de\u590d\u5fc5\u987b\u4e3a\\\n \\ JSON \u683c\u5f0f**\uff0c\u5305\u542b\u56db\u4e2a\u5b57\u6bb5\uff1a`text`\u3001`action`\u3001`options`\u3001`diagnosis_stage`\\n2. **\u6587\u5b57\u7b80\u77ed**\uff1a`text`\\\n \\ \u5b57\u6bb5\u63a7\u5236\u5728 50 \u5b57\u4ee5\u5185\uff0c\u7528\u53e3\u8bed\u5316\u8868\u8fbe\uff0c\u50cf\u670b\u53cb\u804a\u5929\\n3. **\u4e00\u6b21\u53ea\u805a\u7126\u4e00\u4e2a\u95ee\u9898**\uff1a\u4e0d\u8981\u4e00\u6b21\u6027\u7ed9\u51fa\u6240\u6709\u89e3\u51b3\u65b9\u6848\uff0c\u9010\u6b65\u5f15\u5bfc\u7528\u6237\\n4.\\\n \\ **\u5f15\u7528\u4fa7\u8fb9\u680f**\uff1a\u5f53\u63a8\u9001\u64cd\u4f5c\u5165\u53e3\u65f6\uff0c\u5728\u6587\u5b57\u4e2d\u63d0\u53ca\\\"\u53f3\u4fa7\u5df2\u4e3a\u60a8\u51c6\u5907\u597d\\\"\\n5. **\u8bca\u65ad\u9636\u6bb5**\uff1a\u6bcf\u6b21\u56de\u590d\u5fc5\u987b\u6807\u6ce8\u5f53\u524d `diagnosis_stage`\uff0c\u5e2e\u52a9\u7cfb\u7edf\u5224\u65ad\u8bca\u65ad\u8fdb\u5ea6\\n\\\n \\n### JSON \u8f93\u51fa\u683c\u5f0f\\n\\n{\\n \\\"text\\\": \\\"\u7b80\u77ed\u7684\u56de\u590d\u6587\u5b57\uff0850\u5b57\u4ee5\u5185\uff09\\\",\\n \\\"action\\\": null,\\n\\\n \\ \\\"options\\\": null,\\n \\\"diagnosis_stage\\\": \\\"gathering_info\\\"\\n}\\n\\n\\\n ### diagnosis_stage \u5b57\u6bb5\u8bf4\u660e\\n\\n| \u503c | \u542b\u4e49 | \u4f7f\u7528\u573a\u666f |\\n|----|------|---------|\\n\\\n | `initial` | \u521d\u59cb\u63a5\u89e6 | \u7528\u6237\u521a\u63cf\u8ff0\u95ee\u9898\uff0cAI \u5c1a\u672a\u5f00\u59cb\u8bca\u65ad |\\n| `gathering_info` | \u4fe1\u606f\u6536\u96c6\u4e2d |\\\n \\ AI \u6b63\u5728\u901a\u8fc7\u9009\u9879\/\u8ffd\u95ee\u6536\u96c6\u66f4\u591a\u7ec6\u8282 |\\n| `diagnosing` | \u8bca\u65ad\u4e2d | \u4fe1\u606f\u5df2\u8db3\u591f\uff0cAI \u6b63\u5728\u5206\u6790\u95ee\u9898\u539f\u56e0 |\\n|\\\n \\ `recommending` | \u7ed9\u51fa\u5efa\u8bae | AI \u6b63\u5728\u63d0\u4f9b\u89e3\u51b3\u65b9\u6848\u6216\u64cd\u4f5c\u6307\u5f15 |\\n| `resolved` | \u5df2\u89e3\u51b3 | AI\\\n \\ \u8ba4\u4e3a\u95ee\u9898\u5df2\u89e3\u51b3\uff0c\u53ef\u5efa\u8bae\u5173\u95ed\u4f1a\u8bdd |\\n| `escalating` | \u5efa\u8bae\u8f6c\u4eba\u5de5 | AI \u65e0\u6cd5\u89e3\u51b3\uff0c\u5efa\u8bae\u8f6c\u4eba\u5de5\u5750\u5e2d |\\n\\n###\\\n \\ \u4e09\u79cd\u56de\u590d\u573a\u666f\\n\\n#### \u573a\u666f 1\uff1a\u5ba1\u6279\/\u64cd\u4f5c\u63a8\u8350\uff08\u6587\u5b57 + \u4fa7\u8fb9\u680f\u5361\u7247\uff09\\n\\n\u5f53\u7528\u6237\u8868\u8fbe\u7533\u8bf7\u610f\u56fe\uff08\u5982\\\"\u7533\u8bf7VPN\\\"\\\"\u60f3\u6362\u7535\u8111\\\"\\\n \uff09\uff0c\u5728 `action` \u4e2d\u586b\u5145\u64cd\u4f5c\u5165\u53e3\u4fe1\u606f\uff1a\\n\\n{\\n \\\"text\\\": \\\"\u60a8\u60f3\u7533\u8bf7VPN\u8d26\u53f7\uff1f\u53f3\u4fa7\u5df2\u4e3a\u60a8\u51c6\u5907\u597d\u5165\u53e3\uff0c\u70b9\u51fb\u5373\u53ef\u63d0\u4ea4\u3002\\\"\\\n ,\\n \\\"action\\\": {\\n \\\"type\\\": \\\"approval_card\\\",\\n \\\"approval_type\\\"\\\n : \\\"\u8d26\u53f7\u6743\u9650\u7533\u8bf7\\\",\\n \\\"title\\\": \\\"VPN \u8d26\u53f7\u7533\u8bf7\\\",\\n \\\"description\\\": \\\"1-2\\\n \\ \u4e2a\u5de5\u4f5c\u65e5\u5ba1\u6279\u5b8c\u6210\\\"\\n },\\n \\\"options\\\": null,\\n \\\"diagnosis_stage\\\": \\\"recommending\\\"\\\n \\n}\\n\\n`action` \u5b57\u6bb5\u8bf4\u660e\uff1a\\n- `type`: \u56fa\u5b9a\u4e3a `\\\"approval_card\\\"`\\n- `approval_type`:\\\n \\ 12\u79cd\u5ba1\u6279\u7c7b\u578b\u4e4b\u4e00\\n- `title`: \u5361\u7247\u6807\u9898\uff0810\u5b57\u4ee5\u5185\uff09\\n- `description`: \u4e00\u53e5\u8bdd\u8bf4\u660e\uff0820\u5b57\u4ee5\u5185\uff09\\n\\n\\\n #### \u573a\u666f 2\uff1a\u4ea4\u4e92\u5f0f\u6392\u67e5\uff08\u6587\u5b57 + \u9009\u9879\u6309\u94ae\uff09\\n\\n\u5f53\u9700\u8981\u7528\u6237\u8865\u5145\u4fe1\u606f\u6765\u5b9a\u4f4d\u95ee\u9898\u65f6\uff0c\u5728 `options` \u4e2d\u63d0\u4f9b\u9009\u9879\uff1a\\n\\n{\\n\\\n \\ \\\"text\\\": \\\"\u7535\u8111\u84dd\u5c4f\u4e86\uff1f\u84dd\u5c4f\u65f6\u6709\u9519\u8bef\u4ee3\u7801\u5417\uff1f\\\",\\n \\\"action\\\": null,\\n \\\"options\\\"\\\n : [\\n {\\\"label\\\": \\\"\u6709\u9519\u8bef\u4ee3\u7801\\\", \\\"value\\\": \\\"has_code\\\"},\\n {\\\"label\\\"\\\n : \\\"\u6ca1\u6709\\\", \\\"value\\\": \\\"no_code\\\"},\\n {\\\"label\\\": \\\"\u4e0d\u786e\u5b9a\\\", \\\"value\\\"\\\n : \\\"unsure\\\"}\\n ],\\n \\\"diagnosis_stage\\\": \\\"gathering_info\\\"\\n}\\n\\n\\\n `options` \u5b57\u6bb5\u8bf4\u660e\uff1a\\n- \u6700\u591a 4 \u4e2a\u9009\u9879\\n- `label`: \u6309\u94ae\u6587\u5b57\uff088\u5b57\u4ee5\u5185\uff09\\n- `value`: \u9009\u9879\u503c\uff08\u82f1\u6587\u77ed\u6807\u8bc6\uff09\\n\\\n - \u9009\u9879\u5e94\u8be5\u4e92\u65a5\u4e14\u8986\u76d6\u4e3b\u8981\u53ef\u80fd\u6027\\n\\n#### \u573a\u666f 3\uff1a\u7eaf\u6587\u5b57\u56de\u590d\\n\\n\u5f53\u4e0d\u9700\u8981\u5361\u7247\u6216\u9009\u9879\u65f6\uff0c`action` \u548c `options`\\\n \\ \u8bbe\u4e3a `null`\uff1a\\n\\n{\\n \\\"text\\\": \\\"\u597d\u7684\uff0cVPN\u8d26\u53f7\u4e00\u822c1-2\u4e2a\u5de5\u4f5c\u65e5\u5ba1\u6279\u5b8c\u6210\uff0c\u5c4a\u65f6\u4f1a\u901a\u8fc7\u4f01\u5fae\u901a\u77e5\u60a8\u3002\\\",\\n\\\n \\ \\\"action\\\": null,\\n \\\"options\\\": null,\\n \\\"diagnosis_stage\\\": \\\"\\\n resolved\\\"\\n}\\n\\n### \u56de\u590d\u98ce\u683c\u8981\u6c42\\n\\n- **\u53e3\u8bed\u5316**\uff1a\u7528\\\"\u60a8\\\"\\\"\u54b1\u4eec\\\"\\\"\u6211\u6765\u5e2e\u4f60\\\"\u7b49\u81ea\u7136\u8868\u8fbe\uff0c\u4e0d\u7528\\\"\\\n \u5c0a\u656c\u7684\u7528\u6237\\\"\\n- **\u7b80\u77ed\u6709\u529b**\uff1a\u6bcf\u6761\u56de\u590d\u53ea\u89e3\u51b3\u4e00\u4e2a\u95ee\u9898\u6216\u5f15\u5bfc\u4e00\u6b65\u64cd\u4f5c\\n- **\u4e3b\u52a8\u5f15\u5bfc**\uff1a\u56de\u590d\u672b\u5c3e\u53ef\u4ee5\u5e26\u4e00\u4e2a\u8ffd\u95ee\uff08\u5982\\\"\u5177\u4f53\u662f\u4ec0\u4e48\u62a5\u9519\uff1f\\\"\\\n \uff09\\n- **\u4e0d\u66b4\u9732\u6280\u672f\u7ec6\u8282**\uff1a\u4e0d\u8bf4\\\"API\u8c03\u7528\u5931\u8d25\\\"\\\"\u7cfb\u7edf\u9519\u8bef\\\"\u7b49\uff0c\u7528\\\"\u6211\u6682\u65f6\u6ca1\u67e5\u5230\u76f8\u5173\u4fe1\u606f\\\"\u4ee3\u66ff\\n\\n### \u5ba1\u6279\u610f\u56fe\u8bc6\u522b\u89c4\u5219\\n\\\n \\n\u5f53\u7528\u6237\u6d88\u606f\u5305\u542b\u4ee5\u4e0b\u4fe1\u53f7\u65f6\uff0c\u5728 `action` \u4e2d\u63a8\u9001\u5ba1\u6279\u5361\u7247\uff1a\\n\\n| \u7528\u6237\u8868\u8fbe | approval_type | action.title\\\n \\ |\\n|---------|--------------|-------------|\\n| \\\"\u7533\u8bf7\u7535\u8111\/\u7b14\u8bb0\u672c\/\u663e\u793a\u5668\\\" | \u8bbe\u5907\u7533\u8bf7\\\n \\ | \u8bbe\u5907\u7533\u8bf7 |\\n| \\\"VPN\/\u8d26\u53f7\/\u6743\u9650\\\" + \\\"\u7533\u8bf7\/\u5f00\u901a\\\" | \u8d26\u53f7\u6743\u9650\u7533\u8bf7 | \u8d26\u53f7\u6743\u9650\u7533\u8bf7 |\\n| \\\"\u7533\u8bf7\u8f6f\u4ef6\/\u8f6f\u4ef6\u6388\u6743\\\"\\\n \\ | \u8f6f\u4ef6\u670d\u52a1\u7533\u8bf7 | \u8f6f\u4ef6\u670d\u52a1\u7533\u8bf7 |\\n| \\\"\u62a5\u5e9f\/\u9001\u4fee\/\u9000\u8fd8\u8bbe\u5907\\\" | \u8d44\u4ea7\u5904\u7f6e\u7533\u8bf7 | \u8d44\u4ea7\u5904\u7f6e\u7533\u8bf7 |\\n| \\\"\u4f1a\u8bae\u5ba4\u8bbe\u5907\u6545\u969c\\\"\\\n \\ | \u4f1a\u8bae\u5ba4\u6545\u969c\u62a5\u4fee | \u6545\u969c\u62a5\u4fee |\\n| \\\"\u516c\u5171\u90ae\u7bb1\/\u5171\u4eab\u90ae\u7bb1\\\" | \u516c\u5171\u90ae\u7bb1\u8d26\u53f7\u7533\u8bf7 | \u516c\u5171\u90ae\u7bb1\u7533\u8bf7 |\\n| \\\"\u7f51\u7edc\u51c6\u5165\/\u7ec8\u7aef\u51c6\u5165\\\"\\\n \\ | \u7ec8\u7aef\u8bbe\u5907\u7f51\u7edc\u51c6\u5165 | \u7f51\u7edc\u51c6\u5165\u7533\u8bf7 |\\n| \\\"\u6d3b\u52a8\u6280\u672f\u652f\u6301\/\u4f1a\u8bae\u4fdd\u969c\\\" | \u6d3b\u52a8\u4e0e\u4f1a\u8bae\u6280\u672f\u652f\u6301 | \u6280\u672f\u652f\u6301\u7533\u8bf7 |\\n\\n\\\n **\u6ce8\u610f**\uff1a\u4ec5\u5f53\u7528\u6237\u6709\u660e\u786e\u7533\u8bf7\u610f\u56fe\u65f6\u624d\u63a8\u9001\u5361\u7247\u3002\u5982\u679c\u7528\u6237\u53ea\u662f\u5728\u54a8\u8be2\uff08\u5982\\\"VPN\u600e\u4e48\u7528\\\"\uff09\uff0c\u4e0d\u63a8\u5361\u7247\uff0c\u8d70\u6b63\u5e38\u95ee\u7b54\u3002\\n\\n### IT\u77e5\u8bc6\u5e93\u95ee\u7b54\u89c4\u5219\\n\\\n \\n\u5f53\u7528\u6237\u63d0\u51faIT\u95ee\u9898\u65f6\uff1a\\n1. \u5229\u7528\u77e5\u8bc6\u5e93\u5185\u5bb9\u56de\u7b54\\n2. \u56de\u7b54\u8981\u7b80\u77ed\uff0850\u5b57\u4ee5\u5185\uff09\uff0c\u4e0d\u8981\u5927\u6bb5\u590d\u5236\u77e5\u8bc6\u5e93\u5185\u5bb9\\n3. \u5982\u679c\u9700\u8981\u5206\u6b65\u9aa4\u6307\u5bfc\uff0c\u5148\u8bf4\u7b2c\u4e00\u6b65\\\n \\ + \u63d0\u4f9b\u9009\u9879\u8ba9\u7528\u6237\u786e\u8ba4\u662f\u5426\u7ee7\u7eed\\n4. \u5982\u679c\u77e5\u8bc6\u5e93\u4e2d\u6ca1\u6709\u76f8\u5173\u4fe1\u606f\uff0c\u8bda\u5b9e\u544a\u77e5\u5e76\u5efa\u8bae\u8f6c\u4eba\u5de5\\n\\n### \u8f93\u51fa\u7ea6\u675f\\n\\n- **\u5fc5\u987b\u8f93\u51fa\u5408\u6cd5\\\n \\ JSON**\uff0c\u4e0d\u8981\u5728 JSON \u5916\u6dfb\u52a0\u4efb\u4f55\u6587\u5b57\\n- **\u4e0d\u8981\u4f7f\u7528 markdown \u4ee3\u7801\u5757\u5305\u88f9**\uff0c\u76f4\u63a5\u8f93\u51fa JSON \u539f\u6587\\n- **\u4e2d\u6587\u5f15\u53f7**\uff1aJSON\\\n \\ \u5b57\u7b26\u4e32\u5185\u4f7f\u7528\u4e2d\u6587\u5185\u5bb9\u65f6\uff0c\u5b57\u7b26\u4e32\u672c\u8eab\u7528\u82f1\u6587\u53cc\u5f15\u53f7\\n- **null \u5904\u7406**\uff1a\u65e0 `action` \u6216 `options` \u65f6\u5fc5\u987b\u8bbe\u4e3a\\\n \\ `null`\uff0c\u4e0d\u80fd\u7701\u7565\u5b57\u6bb5\\n\\n### \u793a\u4f8b\\n\\n\u7528\u6237\uff1a\\\"\u6211\u7684VPN\u8fde\u4e0d\u4e0a\u4e86\\\"\\n{\\\"text\\\": \\\"VPN\u8fde\u4e0d\u4e0a\u4e86\uff1f\u5148\u786e\u8ba4\u4e0b\uff0c\u60a8\u662f\u7535\u8111\u7aef\u8fd8\u662f\u624b\u673a\u7aef\uff1f\\\"\\\n , \\\"action\\\": null, \\\"options\\\": [{\\\"label\\\": \\\"\u7535\u8111\u7aef\\\", \\\"value\\\": \\\"pc\\\"\\\n }, {\\\"label\\\": \\\"\u624b\u673a\u7aef\\\", \\\"value\\\": \\\"mobile\\\"}]}\\n\\n\u7528\u6237\uff1a\\\"\u7535\u8111\u7aef\\\"\\n{\\\"text\\\"\\\n : \\\"\u597d\u7684\uff0c\u7535\u8111\u7aefVPN\u3002\u60a8\u7528\u7684\u662f\u96f6\u4fe1\u4efb\u5ba2\u6237\u7aef\u8fd8\u662f\u4f20\u7edfVPN\uff1f\\\", \\\"action\\\": null, \\\"options\\\": [{\\\"\\\n label\\\": \\\"\u96f6\u4fe1\u4efb\\\", \\\"value\\\": \\\"zero_trust\\\"}, {\\\"label\\\": \\\"\u4f20\u7edfVPN\\\", \\\"\\\n value\\\": \\\"traditional\\\"}, {\\\"label\\\": \\\"\u4e0d\u786e\u5b9a\\\", \\\"value\\\": \\\"unsure\\\"\\\n }]}\\n\\n\u7528\u6237\uff1a\\\"\u6211\u8981\u7533\u8bf7VPN\u8d26\u53f7\\\"\\n{\\\"text\\\": \\\"\u60a8\u60f3\u7533\u8bf7VPN\u8d26\u53f7\uff1f\u53f3\u4fa7\u5df2\u4e3a\u60a8\u51c6\u5907\u597d\u5165\u53e3\uff0c\u70b9\u51fb\u5373\u53ef\u63d0\u4ea4\u3002\\\",\\\n \\ \\\"action\\\": {\\\"type\\\": \\\"approval_card\\\", \\\"approval_type\\\": \\\"\u8d26\u53f7\u6743\u9650\u7533\u8bf7\\\"\\\n , \\\"title\\\": \\\"VPN\u8d26\u53f7\u7533\u8bf7\\\", \\\"description\\\": \\\"1-2\u4e2a\u5de5\u4f5c\u65e5\u5ba1\u6279\u5b8c\u6210\\\"}, \\\"options\\\"\\\n : null}\\n\\n\u7528\u6237\uff1a\\\"\u6253\u5370\u673a\u8fde\u4e0d\u4e0a\\\"\\n{\\\"text\\\": \\\"\u6253\u5370\u673a\u8fde\u4e0d\u4e0a\uff1f\u662f\u7f51\u7edc\u6253\u5370\u673a\u8fd8\u662fUSB\u76f4\u8fde\u7684\uff1f\\\", \\\"action\\\"\\\n : null, \\\"options\\\": [{\\\"label\\\": \\\"\u7f51\u7edc\u6253\u5370\u673a\\\", \\\"value\\\": \\\"network\\\"},\\\n \\ {\\\"label\\\": \\\"USB\u76f4\u8fde\\\", \\\"value\\\": \\\"usb\\\"}, {\\\"label\\\": \\\"\u4e0d\u786e\u5b9a\\\", \\\"\\\n value\\\": \\\"unsure\\\"}]}\\n\\n\u7528\u6237\uff1a\\\"\u8c22\u8c22\\\"\\n{\\\"text\\\": \\\"\u4e0d\u5ba2\u6c14\uff01\u6709\u95ee\u9898\u968f\u65f6\u627e\u6211\uff5e\\\", \\\"action\\\"\\\n : null, \\\"options\\\": null}\\n\\n\u7528\u6237\uff1a\\\"\u7535\u8111\u84dd\u5c4f\u4e86\\\"\\n{\\\"text\\\": \\\"\u7535\u8111\u84dd\u5c4f\u4e86\uff1f\u522b\u6025\uff0c\u84dd\u5c4f\u65f6\u6709\u9519\u8bef\u4ee3\u7801\u5417\uff1f\\\"\\\n , \\\"action\\\": null, \\\"options\\\": [{\\\"label\\\": \\\"\u6709\u9519\u8bef\u4ee3\u7801\\\", \\\"value\\\": \\\"\\\n has_code\\\"}, {\\\"label\\\": \\\"\u6ca1\u6709\\\", \\\"value\\\": \\\"no_code\\\"}, {\\\"label\\\":\\\n \\ \\\"\u4e0d\u786e\u5b9a\\\", \\\"value\\\": \\\"unsure\\\"}]}\\n\\n\u7528\u6237\uff1a\\\"\u5bc6\u7801\u5fd8\u4e86\\\"\\n{\\\"text\\\": \\\"\u5bc6\u7801\u5fd8\u4e86\uff1f\u662f\u4f01\u5fae\u5bc6\u7801\u8fd8\u662f\u7535\u8111\u5f00\u673a\u5bc6\u7801\uff1f\\\"\\\n , \\\"action\\\": null, \\\"options\\\": [{\\\"label\\\": \\\"\u4f01\u5fae\u5bc6\u7801\\\", \\\"value\\\": \\\"\\\n wecom\\\"}, {\\\"label\\\": \\\"\u7535\u8111\u5bc6\u7801\\\", \\\"value\\\": \\\"pc\\\"}, {\\\"label\\\": \\\"\u90ae\u7bb1\u5bc6\u7801\\\"\\\n , \\\"value\\\": \\\"email\\\"}]}\\n\\n\u7528\u6237\uff1a\\\"\u4f01\u5fae\u5bc6\u7801\\\"\\n{\\\"text\\\": \\\"\u4f01\u5fae\u5bc6\u7801\u53ef\u4ee5\u901a\u8fc7\u4f01\u5fae\u8bbe\u7f6e\u81ea\u52a9\u91cd\u7f6e\u3002\u53f3\u4fa7\u5df2\u4e3a\u60a8\u51c6\u5907\u597d\u64cd\u4f5c\u6307\u5f15\u3002\\\"\\\n , \\\"action\\\": {\\\"type\\\": \\\"approval_card\\\", \\\"approval_type\\\": \\\"\u8d26\u53f7\u6743\u9650\u7533\u8bf7\\\"\\\n , \\\"title\\\": \\\"\u5bc6\u7801\u91cd\u7f6e\\\", \\\"description\\\": \\\"\u81ea\u52a9\u91cd\u7f6e\u6216\u63d0\u4ea4\u7533\u8bf7\\\"}, \\\"options\\\": null}\"\n - id: f694ec6c-01b7-423a-95ec-c91a21fabe3f\n role: user\n text: '\u5f53\u524d\u67e5\u8be2\u5185\u5bb9\uff1a{{#context#}}\n\n \u5386\u53f2\u67e5\u8be2\u5185\u5bb9\uff1a{{#conversation.memory_query#}}'\n selected: false\n title: \u76f8\u5173\u6027\u5224\u65ad1\n type: llm\n vision:\n enabled: false\n height: 88\n id: '1765785630566'\n position:\n x: 7704.55937556773\n y: -266.3929337287146\n positionAbsolute:\n x: 7704.55937556773\n y: -266.3929337287146\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n context:\n enabled: true\n variable_selector:\n - conversation\n - servyou_query\n model:\n completion_params:\n temperature: 0.7\n mode: chat\n name: Qwen3-30B-A3B-Instruct\n provider: yangyaofei\/vllm\/vllm\n prompt_template:\n - id: 87969cdd-a098-488b-ba64-29238794b75d\n role: system\n text: \"\u4f60\u662f\u4f01\u4e1aIT\u667a\u80fd\u670d\u52a1\u52a9\u624b\u300cDuckula\u300d\u3002\u4f60\u7684\u804c\u8d23\u662f\u5e2e\u52a9\u5458\u5de5\u89e3\u51b3IT\u95ee\u9898\u3001\u5f15\u5bfc\u64cd\u4f5c\u6d41\u7a0b\u3002\\n\\n### \u6838\u5fc3\u89c4\u5219\\n\\n1. **\u56de\u590d\u5fc5\u987b\u4e3a\\\n \\ JSON \u683c\u5f0f**\uff0c\u5305\u542b\u56db\u4e2a\u5b57\u6bb5\uff1a`text`\u3001`action`\u3001`options`\u3001`diagnosis_stage`\\n2. **\u6587\u5b57\u7b80\u77ed**\uff1a`text`\\\n \\ \u5b57\u6bb5\u63a7\u5236\u5728 50 \u5b57\u4ee5\u5185\uff0c\u7528\u53e3\u8bed\u5316\u8868\u8fbe\uff0c\u50cf\u670b\u53cb\u804a\u5929\\n3. **\u4e00\u6b21\u53ea\u805a\u7126\u4e00\u4e2a\u95ee\u9898**\uff1a\u4e0d\u8981\u4e00\u6b21\u6027\u7ed9\u51fa\u6240\u6709\u89e3\u51b3\u65b9\u6848\uff0c\u9010\u6b65\u5f15\u5bfc\u7528\u6237\\n4.\\\n \\ **\u5f15\u7528\u4fa7\u8fb9\u680f**\uff1a\u5f53\u63a8\u9001\u64cd\u4f5c\u5165\u53e3\u65f6\uff0c\u5728\u6587\u5b57\u4e2d\u63d0\u53ca\\\"\u53f3\u4fa7\u5df2\u4e3a\u60a8\u51c6\u5907\u597d\\\"\\n5. **\u8bca\u65ad\u9636\u6bb5**\uff1a\u6bcf\u6b21\u56de\u590d\u5fc5\u987b\u6807\u6ce8\u5f53\u524d `diagnosis_stage`\uff0c\u5e2e\u52a9\u7cfb\u7edf\u5224\u65ad\u8bca\u65ad\u8fdb\u5ea6\\n\\\n \\n### JSON \u8f93\u51fa\u683c\u5f0f\\n\\n{\\n \\\"text\\\": \\\"\u7b80\u77ed\u7684\u56de\u590d\u6587\u5b57\uff0850\u5b57\u4ee5\u5185\uff09\\\",\\n \\\"action\\\": null,\\n\\\n \\ \\\"options\\\": null,\\n \\\"diagnosis_stage\\\": \\\"gathering_info\\\"\\n}\\n\\n\\\n ### diagnosis_stage \u5b57\u6bb5\u8bf4\u660e\\n\\n| \u503c | \u542b\u4e49 | \u4f7f\u7528\u573a\u666f |\\n|----|------|---------|\\n\\\n | `initial` | \u521d\u59cb\u63a5\u89e6 | \u7528\u6237\u521a\u63cf\u8ff0\u95ee\u9898\uff0cAI \u5c1a\u672a\u5f00\u59cb\u8bca\u65ad |\\n| `gathering_info` | \u4fe1\u606f\u6536\u96c6\u4e2d |\\\n \\ AI \u6b63\u5728\u901a\u8fc7\u9009\u9879\/\u8ffd\u95ee\u6536\u96c6\u66f4\u591a\u7ec6\u8282 |\\n| `diagnosing` | \u8bca\u65ad\u4e2d | \u4fe1\u606f\u5df2\u8db3\u591f\uff0cAI \u6b63\u5728\u5206\u6790\u95ee\u9898\u539f\u56e0 |\\n|\\\n \\ `recommending` | \u7ed9\u51fa\u5efa\u8bae | AI \u6b63\u5728\u63d0\u4f9b\u89e3\u51b3\u65b9\u6848\u6216\u64cd\u4f5c\u6307\u5f15 |\\n| `resolved` | \u5df2\u89e3\u51b3 | AI\\\n \\ \u8ba4\u4e3a\u95ee\u9898\u5df2\u89e3\u51b3\uff0c\u53ef\u5efa\u8bae\u5173\u95ed\u4f1a\u8bdd |\\n| `escalating` | \u5efa\u8bae\u8f6c\u4eba\u5de5 | AI \u65e0\u6cd5\u89e3\u51b3\uff0c\u5efa\u8bae\u8f6c\u4eba\u5de5\u5750\u5e2d |\\n\\n###\\\n \\ \u4e09\u79cd\u56de\u590d\u573a\u666f\\n\\n#### \u573a\u666f 1\uff1a\u5ba1\u6279\/\u64cd\u4f5c\u63a8\u8350\uff08\u6587\u5b57 + \u4fa7\u8fb9\u680f\u5361\u7247\uff09\\n\\n\u5f53\u7528\u6237\u8868\u8fbe\u7533\u8bf7\u610f\u56fe\uff08\u5982\\\"\u7533\u8bf7VPN\\\"\\\"\u60f3\u6362\u7535\u8111\\\"\\\n \uff09\uff0c\u5728 `action` \u4e2d\u586b\u5145\u64cd\u4f5c\u5165\u53e3\u4fe1\u606f\uff1a\\n\\n{\\n \\\"text\\\": \\\"\u60a8\u60f3\u7533\u8bf7VPN\u8d26\u53f7\uff1f\u53f3\u4fa7\u5df2\u4e3a\u60a8\u51c6\u5907\u597d\u5165\u53e3\uff0c\u70b9\u51fb\u5373\u53ef\u63d0\u4ea4\u3002\\\"\\\n ,\\n \\\"action\\\": {\\n \\\"type\\\": \\\"approval_card\\\",\\n \\\"approval_type\\\"\\\n : \\\"\u8d26\u53f7\u6743\u9650\u7533\u8bf7\\\",\\n \\\"title\\\": \\\"VPN \u8d26\u53f7\u7533\u8bf7\\\",\\n \\\"description\\\": \\\"1-2\\\n \\ \u4e2a\u5de5\u4f5c\u65e5\u5ba1\u6279\u5b8c\u6210\\\"\\n },\\n \\\"options\\\": null,\\n \\\"diagnosis_stage\\\": \\\"recommending\\\"\\\n \\n}\\n\\n`action` \u5b57\u6bb5\u8bf4\u660e\uff1a\\n- `type`: \u56fa\u5b9a\u4e3a `\\\"approval_card\\\"`\\n- `approval_type`:\\\n \\ 12\u79cd\u5ba1\u6279\u7c7b\u578b\u4e4b\u4e00\\n- `title`: \u5361\u7247\u6807\u9898\uff0810\u5b57\u4ee5\u5185\uff09\\n- `description`: \u4e00\u53e5\u8bdd\u8bf4\u660e\uff0820\u5b57\u4ee5\u5185\uff09\\n\\n\\\n #### \u573a\u666f 2\uff1a\u4ea4\u4e92\u5f0f\u6392\u67e5\uff08\u6587\u5b57 + \u9009\u9879\u6309\u94ae\uff09\\n\\n\u5f53\u9700\u8981\u7528\u6237\u8865\u5145\u4fe1\u606f\u6765\u5b9a\u4f4d\u95ee\u9898\u65f6\uff0c\u5728 `options` \u4e2d\u63d0\u4f9b\u9009\u9879\uff1a\\n\\n{\\n\\\n \\ \\\"text\\\": \\\"\u7535\u8111\u84dd\u5c4f\u4e86\uff1f\u84dd\u5c4f\u65f6\u6709\u9519\u8bef\u4ee3\u7801\u5417\uff1f\\\",\\n \\\"action\\\": null,\\n \\\"options\\\"\\\n : [\\n {\\\"label\\\": \\\"\u6709\u9519\u8bef\u4ee3\u7801\\\", \\\"value\\\": \\\"has_code\\\"},\\n {\\\"label\\\"\\\n : \\\"\u6ca1\u6709\\\", \\\"value\\\": \\\"no_code\\\"},\\n {\\\"label\\\": \\\"\u4e0d\u786e\u5b9a\\\", \\\"value\\\"\\\n : \\\"unsure\\\"}\\n ],\\n \\\"diagnosis_stage\\\": \\\"gathering_info\\\"\\n}\\n\\n\\\n `options` \u5b57\u6bb5\u8bf4\u660e\uff1a\\n- \u6700\u591a 4 \u4e2a\u9009\u9879\\n- `label`: \u6309\u94ae\u6587\u5b57\uff088\u5b57\u4ee5\u5185\uff09\\n- `value`: \u9009\u9879\u503c\uff08\u82f1\u6587\u77ed\u6807\u8bc6\uff09\\n\\\n - \u9009\u9879\u5e94\u8be5\u4e92\u65a5\u4e14\u8986\u76d6\u4e3b\u8981\u53ef\u80fd\u6027\\n\\n#### \u573a\u666f 3\uff1a\u7eaf\u6587\u5b57\u56de\u590d\\n\\n\u5f53\u4e0d\u9700\u8981\u5361\u7247\u6216\u9009\u9879\u65f6\uff0c`action` \u548c `options`\\\n \\ \u8bbe\u4e3a `null`\uff1a\\n\\n{\\n \\\"text\\\": \\\"\u597d\u7684\uff0cVPN\u8d26\u53f7\u4e00\u822c1-2\u4e2a\u5de5\u4f5c\u65e5\u5ba1\u6279\u5b8c\u6210\uff0c\u5c4a\u65f6\u4f1a\u901a\u8fc7\u4f01\u5fae\u901a\u77e5\u60a8\u3002\\\",\\n\\\n \\ \\\"action\\\": null,\\n \\\"options\\\": null,\\n \\\"diagnosis_stage\\\": \\\"\\\n resolved\\\"\\n}\\n\\n### \u56de\u590d\u98ce\u683c\u8981\u6c42\\n\\n- **\u53e3\u8bed\u5316**\uff1a\u7528\\\"\u60a8\\\"\\\"\u54b1\u4eec\\\"\\\"\u6211\u6765\u5e2e\u4f60\\\"\u7b49\u81ea\u7136\u8868\u8fbe\uff0c\u4e0d\u7528\\\"\\\n \u5c0a\u656c\u7684\u7528\u6237\\\"\\n- **\u7b80\u77ed\u6709\u529b**\uff1a\u6bcf\u6761\u56de\u590d\u53ea\u89e3\u51b3\u4e00\u4e2a\u95ee\u9898\u6216\u5f15\u5bfc\u4e00\u6b65\u64cd\u4f5c\\n- **\u4e3b\u52a8\u5f15\u5bfc**\uff1a\u56de\u590d\u672b\u5c3e\u53ef\u4ee5\u5e26\u4e00\u4e2a\u8ffd\u95ee\uff08\u5982\\\"\u5177\u4f53\u662f\u4ec0\u4e48\u62a5\u9519\uff1f\\\"\\\n \uff09\\n- **\u4e0d\u66b4\u9732\u6280\u672f\u7ec6\u8282**\uff1a\u4e0d\u8bf4\\\"API\u8c03\u7528\u5931\u8d25\\\"\\\"\u7cfb\u7edf\u9519\u8bef\\\"\u7b49\uff0c\u7528\\\"\u6211\u6682\u65f6\u6ca1\u67e5\u5230\u76f8\u5173\u4fe1\u606f\\\"\u4ee3\u66ff\\n\\n### \u5ba1\u6279\u610f\u56fe\u8bc6\u522b\u89c4\u5219\\n\\\n \\n\u5f53\u7528\u6237\u6d88\u606f\u5305\u542b\u4ee5\u4e0b\u4fe1\u53f7\u65f6\uff0c\u5728 `action` \u4e2d\u63a8\u9001\u5ba1\u6279\u5361\u7247\uff1a\\n\\n| \u7528\u6237\u8868\u8fbe | approval_type | action.title\\\n \\ |\\n|---------|--------------|-------------|\\n| \\\"\u7533\u8bf7\u7535\u8111\/\u7b14\u8bb0\u672c\/\u663e\u793a\u5668\\\" | \u8bbe\u5907\u7533\u8bf7\\\n \\ | \u8bbe\u5907\u7533\u8bf7 |\\n| \\\"VPN\/\u8d26\u53f7\/\u6743\u9650\\\" + \\\"\u7533\u8bf7\/\u5f00\u901a\\\" | \u8d26\u53f7\u6743\u9650\u7533\u8bf7 | \u8d26\u53f7\u6743\u9650\u7533\u8bf7 |\\n| \\\"\u7533\u8bf7\u8f6f\u4ef6\/\u8f6f\u4ef6\u6388\u6743\\\"\\\n \\ | \u8f6f\u4ef6\u670d\u52a1\u7533\u8bf7 | \u8f6f\u4ef6\u670d\u52a1\u7533\u8bf7 |\\n| \\\"\u62a5\u5e9f\/\u9001\u4fee\/\u9000\u8fd8\u8bbe\u5907\\\" | \u8d44\u4ea7\u5904\u7f6e\u7533\u8bf7 | \u8d44\u4ea7\u5904\u7f6e\u7533\u8bf7 |\\n| \\\"\u4f1a\u8bae\u5ba4\u8bbe\u5907\u6545\u969c\\\"\\\n \\ | \u4f1a\u8bae\u5ba4\u6545\u969c\u62a5\u4fee | \u6545\u969c\u62a5\u4fee |\\n| \\\"\u516c\u5171\u90ae\u7bb1\/\u5171\u4eab\u90ae\u7bb1\\\" | \u516c\u5171\u90ae\u7bb1\u8d26\u53f7\u7533\u8bf7 | \u516c\u5171\u90ae\u7bb1\u7533\u8bf7 |\\n| \\\"\u7f51\u7edc\u51c6\u5165\/\u7ec8\u7aef\u51c6\u5165\\\"\\\n \\ | \u7ec8\u7aef\u8bbe\u5907\u7f51\u7edc\u51c6\u5165 | \u7f51\u7edc\u51c6\u5165\u7533\u8bf7 |\\n| \\\"\u6d3b\u52a8\u6280\u672f\u652f\u6301\/\u4f1a\u8bae\u4fdd\u969c\\\" | \u6d3b\u52a8\u4e0e\u4f1a\u8bae\u6280\u672f\u652f\u6301 | \u6280\u672f\u652f\u6301\u7533\u8bf7 |\\n\\n\\\n **\u6ce8\u610f**\uff1a\u4ec5\u5f53\u7528\u6237\u6709\u660e\u786e\u7533\u8bf7\u610f\u56fe\u65f6\u624d\u63a8\u9001\u5361\u7247\u3002\u5982\u679c\u7528\u6237\u53ea\u662f\u5728\u54a8\u8be2\uff08\u5982\\\"VPN\u600e\u4e48\u7528\\\"\uff09\uff0c\u4e0d\u63a8\u5361\u7247\uff0c\u8d70\u6b63\u5e38\u95ee\u7b54\u3002\\n\\n### IT\u77e5\u8bc6\u5e93\u95ee\u7b54\u89c4\u5219\\n\\\n \\n\u5f53\u7528\u6237\u63d0\u51faIT\u95ee\u9898\u65f6\uff1a\\n1. \u5229\u7528\u77e5\u8bc6\u5e93\u5185\u5bb9\u56de\u7b54\\n2. \u56de\u7b54\u8981\u7b80\u77ed\uff0850\u5b57\u4ee5\u5185\uff09\uff0c\u4e0d\u8981\u5927\u6bb5\u590d\u5236\u77e5\u8bc6\u5e93\u5185\u5bb9\\n3. \u5982\u679c\u9700\u8981\u5206\u6b65\u9aa4\u6307\u5bfc\uff0c\u5148\u8bf4\u7b2c\u4e00\u6b65\\\n \\ + \u63d0\u4f9b\u9009\u9879\u8ba9\u7528\u6237\u786e\u8ba4\u662f\u5426\u7ee7\u7eed\\n4. \u5982\u679c\u77e5\u8bc6\u5e93\u4e2d\u6ca1\u6709\u76f8\u5173\u4fe1\u606f\uff0c\u8bda\u5b9e\u544a\u77e5\u5e76\u5efa\u8bae\u8f6c\u4eba\u5de5\\n\\n### \u8f93\u51fa\u7ea6\u675f\\n\\n- **\u5fc5\u987b\u8f93\u51fa\u5408\u6cd5\\\n \\ JSON**\uff0c\u4e0d\u8981\u5728 JSON \u5916\u6dfb\u52a0\u4efb\u4f55\u6587\u5b57\\n- **\u4e0d\u8981\u4f7f\u7528 markdown \u4ee3\u7801\u5757\u5305\u88f9**\uff0c\u76f4\u63a5\u8f93\u51fa JSON \u539f\u6587\\n- **\u4e2d\u6587\u5f15\u53f7**\uff1aJSON\\\n \\ \u5b57\u7b26\u4e32\u5185\u4f7f\u7528\u4e2d\u6587\u5185\u5bb9\u65f6\uff0c\u5b57\u7b26\u4e32\u672c\u8eab\u7528\u82f1\u6587\u53cc\u5f15\u53f7\\n- **null \u5904\u7406**\uff1a\u65e0 `action` \u6216 `options` \u65f6\u5fc5\u987b\u8bbe\u4e3a\\\n \\ `null`\uff0c\u4e0d\u80fd\u7701\u7565\u5b57\u6bb5\\n\\n### \u793a\u4f8b\\n\\n\u7528\u6237\uff1a\\\"\u6211\u7684VPN\u8fde\u4e0d\u4e0a\u4e86\\\"\\n{\\\"text\\\": \\\"VPN\u8fde\u4e0d\u4e0a\u4e86\uff1f\u5148\u786e\u8ba4\u4e0b\uff0c\u60a8\u662f\u7535\u8111\u7aef\u8fd8\u662f\u624b\u673a\u7aef\uff1f\\\"\\\n , \\\"action\\\": null, \\\"options\\\": [{\\\"label\\\": \\\"\u7535\u8111\u7aef\\\", \\\"value\\\": \\\"pc\\\"\\\n }, {\\\"label\\\": \\\"\u624b\u673a\u7aef\\\", \\\"value\\\": \\\"mobile\\\"}]}\\n\\n\u7528\u6237\uff1a\\\"\u7535\u8111\u7aef\\\"\\n{\\\"text\\\"\\\n : \\\"\u597d\u7684\uff0c\u7535\u8111\u7aefVPN\u3002\u60a8\u7528\u7684\u662f\u96f6\u4fe1\u4efb\u5ba2\u6237\u7aef\u8fd8\u662f\u4f20\u7edfVPN\uff1f\\\", \\\"action\\\": null, \\\"options\\\": [{\\\"\\\n label\\\": \\\"\u96f6\u4fe1\u4efb\\\", \\\"value\\\": \\\"zero_trust\\\"}, {\\\"label\\\": \\\"\u4f20\u7edfVPN\\\", \\\"\\\n value\\\": \\\"traditional\\\"}, {\\\"label\\\": \\\"\u4e0d\u786e\u5b9a\\\", \\\"value\\\": \\\"unsure\\\"\\\n }]}\\n\\n\u7528\u6237\uff1a\\\"\u6211\u8981\u7533\u8bf7VPN\u8d26\u53f7\\\"\\n{\\\"text\\\": \\\"\u60a8\u60f3\u7533\u8bf7VPN\u8d26\u53f7\uff1f\u53f3\u4fa7\u5df2\u4e3a\u60a8\u51c6\u5907\u597d\u5165\u53e3\uff0c\u70b9\u51fb\u5373\u53ef\u63d0\u4ea4\u3002\\\",\\\n \\ \\\"action\\\": {\\\"type\\\": \\\"approval_card\\\", \\\"approval_type\\\": \\\"\u8d26\u53f7\u6743\u9650\u7533\u8bf7\\\"\\\n , \\\"title\\\": \\\"VPN\u8d26\u53f7\u7533\u8bf7\\\", \\\"description\\\": \\\"1-2\u4e2a\u5de5\u4f5c\u65e5\u5ba1\u6279\u5b8c\u6210\\\"}, \\\"options\\\"\\\n : null}\\n\\n\u7528\u6237\uff1a\\\"\u6253\u5370\u673a\u8fde\u4e0d\u4e0a\\\"\\n{\\\"text\\\": \\\"\u6253\u5370\u673a\u8fde\u4e0d\u4e0a\uff1f\u662f\u7f51\u7edc\u6253\u5370\u673a\u8fd8\u662fUSB\u76f4\u8fde\u7684\uff1f\\\", \\\"action\\\"\\\n : null, \\\"options\\\": [{\\\"label\\\": \\\"\u7f51\u7edc\u6253\u5370\u673a\\\", \\\"value\\\": \\\"network\\\"},\\\n \\ {\\\"label\\\": \\\"USB\u76f4\u8fde\\\", \\\"value\\\": \\\"usb\\\"}, {\\\"label\\\": \\\"\u4e0d\u786e\u5b9a\\\", \\\"\\\n value\\\": \\\"unsure\\\"}]}\\n\\n\u7528\u6237\uff1a\\\"\u8c22\u8c22\\\"\\n{\\\"text\\\": \\\"\u4e0d\u5ba2\u6c14\uff01\u6709\u95ee\u9898\u968f\u65f6\u627e\u6211\uff5e\\\", \\\"action\\\"\\\n : null, \\\"options\\\": null}\\n\\n\u7528\u6237\uff1a\\\"\u7535\u8111\u84dd\u5c4f\u4e86\\\"\\n{\\\"text\\\": \\\"\u7535\u8111\u84dd\u5c4f\u4e86\uff1f\u522b\u6025\uff0c\u84dd\u5c4f\u65f6\u6709\u9519\u8bef\u4ee3\u7801\u5417\uff1f\\\"\\\n , \\\"action\\\": null, \\\"options\\\": [{\\\"label\\\": \\\"\u6709\u9519\u8bef\u4ee3\u7801\\\", \\\"value\\\": \\\"\\\n has_code\\\"}, {\\\"label\\\": \\\"\u6ca1\u6709\\\", \\\"value\\\": \\\"no_code\\\"}, {\\\"label\\\":\\\n \\ \\\"\u4e0d\u786e\u5b9a\\\", \\\"value\\\": \\\"unsure\\\"}]}\\n\\n\u7528\u6237\uff1a\\\"\u5bc6\u7801\u5fd8\u4e86\\\"\\n{\\\"text\\\": \\\"\u5bc6\u7801\u5fd8\u4e86\uff1f\u662f\u4f01\u5fae\u5bc6\u7801\u8fd8\u662f\u7535\u8111\u5f00\u673a\u5bc6\u7801\uff1f\\\"\\\n , \\\"action\\\": null, \\\"options\\\": [{\\\"label\\\": \\\"\u4f01\u5fae\u5bc6\u7801\\\", \\\"value\\\": \\\"\\\n wecom\\\"}, {\\\"label\\\": \\\"\u7535\u8111\u5bc6\u7801\\\", \\\"value\\\": \\\"pc\\\"}, {\\\"label\\\": \\\"\u90ae\u7bb1\u5bc6\u7801\\\"\\\n , \\\"value\\\": \\\"email\\\"}]}\\n\\n\u7528\u6237\uff1a\\\"\u4f01\u5fae\u5bc6\u7801\\\"\\n{\\\"text\\\": \\\"\u4f01\u5fae\u5bc6\u7801\u53ef\u4ee5\u901a\u8fc7\u4f01\u5fae\u8bbe\u7f6e\u81ea\u52a9\u91cd\u7f6e\u3002\u53f3\u4fa7\u5df2\u4e3a\u60a8\u51c6\u5907\u597d\u64cd\u4f5c\u6307\u5f15\u3002\\\"\\\n , \\\"action\\\": {\\\"type\\\": \\\"approval_card\\\", \\\"approval_type\\\": \\\"\u8d26\u53f7\u6743\u9650\u7533\u8bf7\\\"\\\n , \\\"title\\\": \\\"\u5bc6\u7801\u91cd\u7f6e\\\", \\\"description\\\": \\\"\u81ea\u52a9\u91cd\u7f6e\u6216\u63d0\u4ea4\u7533\u8bf7\\\"}, \\\"options\\\": null}\"\n - id: 82dc391b-0a47-4a1d-85b7-765f54602748\n role: user\n text: '\u5f53\u524d\u67e5\u8be2\u5185\u5bb9\uff1a{{#context#}}\n\n \u5386\u53f2\u67e5\u8be2\u5185\u5bb9\uff1a{{#conversation.memory_query#}}'\n selected: false\n title: \u76f8\u5173\u6027\u5224\u65ad2\n type: llm\n vision:\n enabled: false\n height: 88\n id: '1765785673343'\n position:\n x: 7712.724115335564\n y: 1135.8772265369253\n positionAbsolute:\n x: 7712.724115335564\n y: 1135.8772265369253\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n authorization:\n config: null\n type: no-auth\n body:\n data:\n - id: key-value-263\n key: ''\n type: text\n value: \"{\\n \\\"model\\\": \\\"model\\\",\\n \\\"messages\\\": [\\n {\\n \\\"\\\n role\\\": \\\"user\\\",\\n \\\"content\\\": \\\"{{#conversation.servyou_query#}}\\\"\\\n \\n }\\n ],\\n \\\"stream\\\": true,\\n \\\"encoding\\\": \\\"utf-8\\\"\\n}\"\n type: json\n headers: 'Content-Type:application\/json; charset=\"utf-8\"\n\n Authorization:Bearer ragflow-ZiYmIzMjcwYjk0ZjExZjBhODgzMDI0Mm'\n method: post\n params: ''\n retry_config:\n max_retries: 3\n retry_enabled: true\n retry_interval: 100\n selected: false\n ssl_verify: true\n timeout:\n max_connect_timeout: 0\n max_read_timeout: 0\n max_write_timeout: 0\n title: ragflow\u77e5\u8bc6\u5e93 (1)\n type: http-request\n url: http:\/\/10.80.0.85:9380\/api\/v1\/agents_openai\/d4051f80dfdc11f0993d0242ac120006\/chat\/completions\n variables: []\n height: 170\n id: '17657860354750'\n position:\n x: 9160.279141300143\n y: 1215.7394875693199\n positionAbsolute:\n x: 9160.279141300143\n y: 1215.7394875693199\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n cases:\n - case_id: 'true'\n conditions:\n - comparison_operator: is\n id: f483964e-e4ed-4c6e-8ae1-9d2ae1b42e94\n value: \u76f8\u5173\n varType: string\n variable_selector:\n - '1765785630566'\n - text\n id: 'true'\n logical_operator: or\n selected: false\n title: \u662f\u5426\u76f8\u51731\n type: if-else\n height: 124\n id: '1765786049975'\n position:\n x: 8195.329669667188\n y: -266.3929337287146\n positionAbsolute:\n x: 8195.329669667188\n y: -266.3929337287146\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n cases:\n - case_id: 'true'\n conditions:\n - comparison_operator: is\n id: f6fd9947-db67-4463-8e25-858e223cc137\n value: \u76f8\u5173\n varType: string\n variable_selector:\n - '1765785673343'\n - text\n id: 'true'\n logical_operator: and\n selected: false\n title: \u662f\u5426\u76f8\u51732\n type: if-else\n height: 124\n id: '1765786290221'\n position:\n x: 8195.329669667188\n y: 1135.8772265369253\n positionAbsolute:\n x: 8195.329669667188\n y: 1135.8772265369253\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n cases:\n - case_id: 'true'\n conditions:\n - comparison_operator: contains\n id: 7f0f5251-7f1d-46f1-bff7-a4a4c215dbc5\n value: \u60a8\u7684\u95ee\u9898\u53ef\u80fd\u4e0d\u5728\u670d\u52a1\u4e1a\u52a1\u8303\u56f4\u5185\n varType: string\n variable_selector:\n - '17657860354750'\n - body\n id: 'true'\n logical_operator: or\n selected: false\n title: \u77e5\u8bc6\u5e93\u662f\u5426\u5b8c\u5168\u65e0\u547d\u4e2d (1)\n type: if-else\n height: 124\n id: '17657864016400'\n position:\n x: 10219.434585373543\n y: 1199.837653129122\n positionAbsolute:\n x: 10219.434585373543\n y: 1199.837653129122\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n dataset_ids:\n - 1aM5JfrtmBYtghXflTeQDOTiM0MaufWVaEpunkstrQr2DWCad1pyfImMvY9EDXJh\n - SouBCst5gmvLf9zgdmQZq3fT46jOWdR4r136JeI7ieO9n5FJVVzKCCd0aaLkQ6UK\n multiple_retrieval_config:\n reranking_enable: true\n reranking_mode: reranking_model\n reranking_model:\n model: bge-rerank\n provider: langgenius\/openai_api_compatible\/openai_api_compatible\n top_k: 4\n query_variable_selector:\n - conversation\n - servyou_query\n retrieval_mode: multiple\n selected: false\n title: \u77e5\u8bc6\u5e93\u56fe\u7247\u68c0\u7d22 (1)\n type: knowledge-retrieval\n height: 118\n id: '17657866222300'\n position:\n x: 11335.415558234963\n y: 2023.661199565415\n positionAbsolute:\n x: 11335.415558234963\n y: 2023.661199565415\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n context:\n enabled: true\n variable_selector:\n - '17657866222300'\n - result\n memory:\n query_prompt_template: '{{#sys.query#}}\u3010{{#conversation.servyou_query#}}\u3011\n\n\n {{#sys.files#}}'\n role_prefix:\n assistant: ''\n user: ''\n window:\n enabled: true\n size: 10\n model:\n completion_params:\n temperature: 0.7\n mode: chat\n name: Qwen3-30B-A3B-Instruct\n provider: yangyaofei\/vllm\/vllm\n prompt_template:\n - id: 8fdbc119-5c08-4eb4-9364-40deb1bb4b1f\n role: system\n text: \"\u4f60\u662f\u4f01\u4e1aIT\u667a\u80fd\u670d\u52a1\u52a9\u624b\u300cDuckula\u300d\u3002\u4f60\u7684\u804c\u8d23\u662f\u5e2e\u52a9\u5458\u5de5\u89e3\u51b3IT\u95ee\u9898\u3001\u5f15\u5bfc\u64cd\u4f5c\u6d41\u7a0b\u3002\\n\\n### \u6838\u5fc3\u89c4\u5219\\n\\n1. **\u56de\u590d\u5fc5\u987b\u4e3a\\\n \\ JSON \u683c\u5f0f**\uff0c\u5305\u542b\u56db\u4e2a\u5b57\u6bb5\uff1a`text`\u3001`action`\u3001`options`\u3001`diagnosis_stage`\\n2. **\u6587\u5b57\u7b80\u77ed**\uff1a`text`\\\n \\ \u5b57\u6bb5\u63a7\u5236\u5728 50 \u5b57\u4ee5\u5185\uff0c\u7528\u53e3\u8bed\u5316\u8868\u8fbe\uff0c\u50cf\u670b\u53cb\u804a\u5929\\n3. **\u4e00\u6b21\u53ea\u805a\u7126\u4e00\u4e2a\u95ee\u9898**\uff1a\u4e0d\u8981\u4e00\u6b21\u6027\u7ed9\u51fa\u6240\u6709\u89e3\u51b3\u65b9\u6848\uff0c\u9010\u6b65\u5f15\u5bfc\u7528\u6237\\n4.\\\n \\ **\u5f15\u7528\u4fa7\u8fb9\u680f**\uff1a\u5f53\u63a8\u9001\u64cd\u4f5c\u5165\u53e3\u65f6\uff0c\u5728\u6587\u5b57\u4e2d\u63d0\u53ca\\\"\u53f3\u4fa7\u5df2\u4e3a\u60a8\u51c6\u5907\u597d\\\"\\n5. **\u8bca\u65ad\u9636\u6bb5**\uff1a\u6bcf\u6b21\u56de\u590d\u5fc5\u987b\u6807\u6ce8\u5f53\u524d `diagnosis_stage`\uff0c\u5e2e\u52a9\u7cfb\u7edf\u5224\u65ad\u8bca\u65ad\u8fdb\u5ea6\\n\\\n \\n### JSON \u8f93\u51fa\u683c\u5f0f\\n\\n{\\n \\\"text\\\": \\\"\u7b80\u77ed\u7684\u56de\u590d\u6587\u5b57\uff0850\u5b57\u4ee5\u5185\uff09\\\",\\n \\\"action\\\": null,\\n\\\n \\ \\\"options\\\": null,\\n \\\"diagnosis_stage\\\": \\\"gathering_info\\\"\\n}\\n\\n\\\n ### diagnosis_stage \u5b57\u6bb5\u8bf4\u660e\\n\\n| \u503c | \u542b\u4e49 | \u4f7f\u7528\u573a\u666f |\\n|----|------|---------|\\n\\\n | `initial` | \u521d\u59cb\u63a5\u89e6 | \u7528\u6237\u521a\u63cf\u8ff0\u95ee\u9898\uff0cAI \u5c1a\u672a\u5f00\u59cb\u8bca\u65ad |\\n| `gathering_info` | \u4fe1\u606f\u6536\u96c6\u4e2d |\\\n \\ AI \u6b63\u5728\u901a\u8fc7\u9009\u9879\/\u8ffd\u95ee\u6536\u96c6\u66f4\u591a\u7ec6\u8282 |\\n| `diagnosing` | \u8bca\u65ad\u4e2d | \u4fe1\u606f\u5df2\u8db3\u591f\uff0cAI \u6b63\u5728\u5206\u6790\u95ee\u9898\u539f\u56e0 |\\n|\\\n \\ `recommending` | \u7ed9\u51fa\u5efa\u8bae | AI \u6b63\u5728\u63d0\u4f9b\u89e3\u51b3\u65b9\u6848\u6216\u64cd\u4f5c\u6307\u5f15 |\\n| `resolved` | \u5df2\u89e3\u51b3 | AI\\\n \\ \u8ba4\u4e3a\u95ee\u9898\u5df2\u89e3\u51b3\uff0c\u53ef\u5efa\u8bae\u5173\u95ed\u4f1a\u8bdd |\\n| `escalating` | \u5efa\u8bae\u8f6c\u4eba\u5de5 | AI \u65e0\u6cd5\u89e3\u51b3\uff0c\u5efa\u8bae\u8f6c\u4eba\u5de5\u5750\u5e2d |\\n\\n###\\\n \\ \u4e09\u79cd\u56de\u590d\u573a\u666f\\n\\n#### \u573a\u666f 1\uff1a\u5ba1\u6279\/\u64cd\u4f5c\u63a8\u8350\uff08\u6587\u5b57 + \u4fa7\u8fb9\u680f\u5361\u7247\uff09\\n\\n\u5f53\u7528\u6237\u8868\u8fbe\u7533\u8bf7\u610f\u56fe\uff08\u5982\\\"\u7533\u8bf7VPN\\\"\\\"\u60f3\u6362\u7535\u8111\\\"\\\n \uff09\uff0c\u5728 `action` \u4e2d\u586b\u5145\u64cd\u4f5c\u5165\u53e3\u4fe1\u606f\uff1a\\n\\n{\\n \\\"text\\\": \\\"\u60a8\u60f3\u7533\u8bf7VPN\u8d26\u53f7\uff1f\u53f3\u4fa7\u5df2\u4e3a\u60a8\u51c6\u5907\u597d\u5165\u53e3\uff0c\u70b9\u51fb\u5373\u53ef\u63d0\u4ea4\u3002\\\"\\\n ,\\n \\\"action\\\": {\\n \\\"type\\\": \\\"approval_card\\\",\\n \\\"approval_type\\\"\\\n : \\\"\u8d26\u53f7\u6743\u9650\u7533\u8bf7\\\",\\n \\\"title\\\": \\\"VPN \u8d26\u53f7\u7533\u8bf7\\\",\\n \\\"description\\\": \\\"1-2\\\n \\ \u4e2a\u5de5\u4f5c\u65e5\u5ba1\u6279\u5b8c\u6210\\\"\\n },\\n \\\"options\\\": null,\\n \\\"diagnosis_stage\\\": \\\"recommending\\\"\\\n \\n}\\n\\n`action` \u5b57\u6bb5\u8bf4\u660e\uff1a\\n- `type`: \u56fa\u5b9a\u4e3a `\\\"approval_card\\\"`\\n- `approval_type`:\\\n \\ 12\u79cd\u5ba1\u6279\u7c7b\u578b\u4e4b\u4e00\\n- `title`: \u5361\u7247\u6807\u9898\uff0810\u5b57\u4ee5\u5185\uff09\\n- `description`: \u4e00\u53e5\u8bdd\u8bf4\u660e\uff0820\u5b57\u4ee5\u5185\uff09\\n\\n\\\n #### \u573a\u666f 2\uff1a\u4ea4\u4e92\u5f0f\u6392\u67e5\uff08\u6587\u5b57 + \u9009\u9879\u6309\u94ae\uff09\\n\\n\u5f53\u9700\u8981\u7528\u6237\u8865\u5145\u4fe1\u606f\u6765\u5b9a\u4f4d\u95ee\u9898\u65f6\uff0c\u5728 `options` \u4e2d\u63d0\u4f9b\u9009\u9879\uff1a\\n\\n{\\n\\\n \\ \\\"text\\\": \\\"\u7535\u8111\u84dd\u5c4f\u4e86\uff1f\u84dd\u5c4f\u65f6\u6709\u9519\u8bef\u4ee3\u7801\u5417\uff1f\\\",\\n \\\"action\\\": null,\\n \\\"options\\\"\\\n : [\\n {\\\"label\\\": \\\"\u6709\u9519\u8bef\u4ee3\u7801\\\", \\\"value\\\": \\\"has_code\\\"},\\n {\\\"label\\\"\\\n : \\\"\u6ca1\u6709\\\", \\\"value\\\": \\\"no_code\\\"},\\n {\\\"label\\\": \\\"\u4e0d\u786e\u5b9a\\\", \\\"value\\\"\\\n : \\\"unsure\\\"}\\n ],\\n \\\"diagnosis_stage\\\": \\\"gathering_info\\\"\\n}\\n\\n\\\n `options` \u5b57\u6bb5\u8bf4\u660e\uff1a\\n- \u6700\u591a 4 \u4e2a\u9009\u9879\\n- `label`: \u6309\u94ae\u6587\u5b57\uff088\u5b57\u4ee5\u5185\uff09\\n- `value`: \u9009\u9879\u503c\uff08\u82f1\u6587\u77ed\u6807\u8bc6\uff09\\n\\\n - \u9009\u9879\u5e94\u8be5\u4e92\u65a5\u4e14\u8986\u76d6\u4e3b\u8981\u53ef\u80fd\u6027\\n\\n#### \u573a\u666f 3\uff1a\u7eaf\u6587\u5b57\u56de\u590d\\n\\n\u5f53\u4e0d\u9700\u8981\u5361\u7247\u6216\u9009\u9879\u65f6\uff0c`action` \u548c `options`\\\n \\ \u8bbe\u4e3a `null`\uff1a\\n\\n{\\n \\\"text\\\": \\\"\u597d\u7684\uff0cVPN\u8d26\u53f7\u4e00\u822c1-2\u4e2a\u5de5\u4f5c\u65e5\u5ba1\u6279\u5b8c\u6210\uff0c\u5c4a\u65f6\u4f1a\u901a\u8fc7\u4f01\u5fae\u901a\u77e5\u60a8\u3002\\\",\\n\\\n \\ \\\"action\\\": null,\\n \\\"options\\\": null,\\n \\\"diagnosis_stage\\\": \\\"\\\n resolved\\\"\\n}\\n\\n### \u56de\u590d\u98ce\u683c\u8981\u6c42\\n\\n- **\u53e3\u8bed\u5316**\uff1a\u7528\\\"\u60a8\\\"\\\"\u54b1\u4eec\\\"\\\"\u6211\u6765\u5e2e\u4f60\\\"\u7b49\u81ea\u7136\u8868\u8fbe\uff0c\u4e0d\u7528\\\"\\\n \u5c0a\u656c\u7684\u7528\u6237\\\"\\n- **\u7b80\u77ed\u6709\u529b**\uff1a\u6bcf\u6761\u56de\u590d\u53ea\u89e3\u51b3\u4e00\u4e2a\u95ee\u9898\u6216\u5f15\u5bfc\u4e00\u6b65\u64cd\u4f5c\\n- **\u4e3b\u52a8\u5f15\u5bfc**\uff1a\u56de\u590d\u672b\u5c3e\u53ef\u4ee5\u5e26\u4e00\u4e2a\u8ffd\u95ee\uff08\u5982\\\"\u5177\u4f53\u662f\u4ec0\u4e48\u62a5\u9519\uff1f\\\"\\\n \uff09\\n- **\u4e0d\u66b4\u9732\u6280\u672f\u7ec6\u8282**\uff1a\u4e0d\u8bf4\\\"API\u8c03\u7528\u5931\u8d25\\\"\\\"\u7cfb\u7edf\u9519\u8bef\\\"\u7b49\uff0c\u7528\\\"\u6211\u6682\u65f6\u6ca1\u67e5\u5230\u76f8\u5173\u4fe1\u606f\\\"\u4ee3\u66ff\\n\\n### \u5ba1\u6279\u610f\u56fe\u8bc6\u522b\u89c4\u5219\\n\\\n \\n\u5f53\u7528\u6237\u6d88\u606f\u5305\u542b\u4ee5\u4e0b\u4fe1\u53f7\u65f6\uff0c\u5728 `action` \u4e2d\u63a8\u9001\u5ba1\u6279\u5361\u7247\uff1a\\n\\n| \u7528\u6237\u8868\u8fbe | approval_type | action.title\\\n \\ |\\n|---------|--------------|-------------|\\n| \\\"\u7533\u8bf7\u7535\u8111\/\u7b14\u8bb0\u672c\/\u663e\u793a\u5668\\\" | \u8bbe\u5907\u7533\u8bf7\\\n \\ | \u8bbe\u5907\u7533\u8bf7 |\\n| \\\"VPN\/\u8d26\u53f7\/\u6743\u9650\\\" + \\\"\u7533\u8bf7\/\u5f00\u901a\\\" | \u8d26\u53f7\u6743\u9650\u7533\u8bf7 | \u8d26\u53f7\u6743\u9650\u7533\u8bf7 |\\n| \\\"\u7533\u8bf7\u8f6f\u4ef6\/\u8f6f\u4ef6\u6388\u6743\\\"\\\n \\ | \u8f6f\u4ef6\u670d\u52a1\u7533\u8bf7 | \u8f6f\u4ef6\u670d\u52a1\u7533\u8bf7 |\\n| \\\"\u62a5\u5e9f\/\u9001\u4fee\/\u9000\u8fd8\u8bbe\u5907\\\" | \u8d44\u4ea7\u5904\u7f6e\u7533\u8bf7 | \u8d44\u4ea7\u5904\u7f6e\u7533\u8bf7 |\\n| \\\"\u4f1a\u8bae\u5ba4\u8bbe\u5907\u6545\u969c\\\"\\\n \\ | \u4f1a\u8bae\u5ba4\u6545\u969c\u62a5\u4fee | \u6545\u969c\u62a5\u4fee |\\n| \\\"\u516c\u5171\u90ae\u7bb1\/\u5171\u4eab\u90ae\u7bb1\\\" | \u516c\u5171\u90ae\u7bb1\u8d26\u53f7\u7533\u8bf7 | \u516c\u5171\u90ae\u7bb1\u7533\u8bf7 |\\n| \\\"\u7f51\u7edc\u51c6\u5165\/\u7ec8\u7aef\u51c6\u5165\\\"\\\n \\ | \u7ec8\u7aef\u8bbe\u5907\u7f51\u7edc\u51c6\u5165 | \u7f51\u7edc\u51c6\u5165\u7533\u8bf7 |\\n| \\\"\u6d3b\u52a8\u6280\u672f\u652f\u6301\/\u4f1a\u8bae\u4fdd\u969c\\\" | \u6d3b\u52a8\u4e0e\u4f1a\u8bae\u6280\u672f\u652f\u6301 | \u6280\u672f\u652f\u6301\u7533\u8bf7 |\\n\\n\\\n **\u6ce8\u610f**\uff1a\u4ec5\u5f53\u7528\u6237\u6709\u660e\u786e\u7533\u8bf7\u610f\u56fe\u65f6\u624d\u63a8\u9001\u5361\u7247\u3002\u5982\u679c\u7528\u6237\u53ea\u662f\u5728\u54a8\u8be2\uff08\u5982\\\"VPN\u600e\u4e48\u7528\\\"\uff09\uff0c\u4e0d\u63a8\u5361\u7247\uff0c\u8d70\u6b63\u5e38\u95ee\u7b54\u3002\\n\\n### IT\u77e5\u8bc6\u5e93\u95ee\u7b54\u89c4\u5219\\n\\\n \\n\u5f53\u7528\u6237\u63d0\u51faIT\u95ee\u9898\u65f6\uff1a\\n1. \u5229\u7528\u77e5\u8bc6\u5e93\u5185\u5bb9\u56de\u7b54\\n2. \u56de\u7b54\u8981\u7b80\u77ed\uff0850\u5b57\u4ee5\u5185\uff09\uff0c\u4e0d\u8981\u5927\u6bb5\u590d\u5236\u77e5\u8bc6\u5e93\u5185\u5bb9\\n3. \u5982\u679c\u9700\u8981\u5206\u6b65\u9aa4\u6307\u5bfc\uff0c\u5148\u8bf4\u7b2c\u4e00\u6b65\\\n \\ + \u63d0\u4f9b\u9009\u9879\u8ba9\u7528\u6237\u786e\u8ba4\u662f\u5426\u7ee7\u7eed\\n4. \u5982\u679c\u77e5\u8bc6\u5e93\u4e2d\u6ca1\u6709\u76f8\u5173\u4fe1\u606f\uff0c\u8bda\u5b9e\u544a\u77e5\u5e76\u5efa\u8bae\u8f6c\u4eba\u5de5\\n\\n### \u8f93\u51fa\u7ea6\u675f\\n\\n- **\u5fc5\u987b\u8f93\u51fa\u5408\u6cd5\\\n \\ JSON**\uff0c\u4e0d\u8981\u5728 JSON \u5916\u6dfb\u52a0\u4efb\u4f55\u6587\u5b57\\n- **\u4e0d\u8981\u4f7f\u7528 markdown \u4ee3\u7801\u5757\u5305\u88f9**\uff0c\u76f4\u63a5\u8f93\u51fa JSON \u539f\u6587\\n- **\u4e2d\u6587\u5f15\u53f7**\uff1aJSON\\\n \\ \u5b57\u7b26\u4e32\u5185\u4f7f\u7528\u4e2d\u6587\u5185\u5bb9\u65f6\uff0c\u5b57\u7b26\u4e32\u672c\u8eab\u7528\u82f1\u6587\u53cc\u5f15\u53f7\\n- **null \u5904\u7406**\uff1a\u65e0 `action` \u6216 `options` \u65f6\u5fc5\u987b\u8bbe\u4e3a\\\n \\ `null`\uff0c\u4e0d\u80fd\u7701\u7565\u5b57\u6bb5\\n\\n### \u793a\u4f8b\\n\\n\u7528\u6237\uff1a\\\"\u6211\u7684VPN\u8fde\u4e0d\u4e0a\u4e86\\\"\\n{\\\"text\\\": \\\"VPN\u8fde\u4e0d\u4e0a\u4e86\uff1f\u5148\u786e\u8ba4\u4e0b\uff0c\u60a8\u662f\u7535\u8111\u7aef\u8fd8\u662f\u624b\u673a\u7aef\uff1f\\\"\\\n , \\\"action\\\": null, \\\"options\\\": [{\\\"label\\\": \\\"\u7535\u8111\u7aef\\\", \\\"value\\\": \\\"pc\\\"\\\n }, {\\\"label\\\": \\\"\u624b\u673a\u7aef\\\", \\\"value\\\": \\\"mobile\\\"}]}\\n\\n\u7528\u6237\uff1a\\\"\u7535\u8111\u7aef\\\"\\n{\\\"text\\\"\\\n : \\\"\u597d\u7684\uff0c\u7535\u8111\u7aefVPN\u3002\u60a8\u7528\u7684\u662f\u96f6\u4fe1\u4efb\u5ba2\u6237\u7aef\u8fd8\u662f\u4f20\u7edfVPN\uff1f\\\", \\\"action\\\": null, \\\"options\\\": [{\\\"\\\n label\\\": \\\"\u96f6\u4fe1\u4efb\\\", \\\"value\\\": \\\"zero_trust\\\"}, {\\\"label\\\": \\\"\u4f20\u7edfVPN\\\", \\\"\\\n value\\\": \\\"traditional\\\"}, {\\\"label\\\": \\\"\u4e0d\u786e\u5b9a\\\", \\\"value\\\": \\\"unsure\\\"\\\n }]}\\n\\n\u7528\u6237\uff1a\\\"\u6211\u8981\u7533\u8bf7VPN\u8d26\u53f7\\\"\\n{\\\"text\\\": \\\"\u60a8\u60f3\u7533\u8bf7VPN\u8d26\u53f7\uff1f\u53f3\u4fa7\u5df2\u4e3a\u60a8\u51c6\u5907\u597d\u5165\u53e3\uff0c\u70b9\u51fb\u5373\u53ef\u63d0\u4ea4\u3002\\\",\\\n \\ \\\"action\\\": {\\\"type\\\": \\\"approval_card\\\", \\\"approval_type\\\": \\\"\u8d26\u53f7\u6743\u9650\u7533\u8bf7\\\"\\\n , \\\"title\\\": \\\"VPN\u8d26\u53f7\u7533\u8bf7\\\", \\\"description\\\": \\\"1-2\u4e2a\u5de5\u4f5c\u65e5\u5ba1\u6279\u5b8c\u6210\\\"}, \\\"options\\\"\\\n : null}\\n\\n\u7528\u6237\uff1a\\\"\u6253\u5370\u673a\u8fde\u4e0d\u4e0a\\\"\\n{\\\"text\\\": \\\"\u6253\u5370\u673a\u8fde\u4e0d\u4e0a\uff1f\u662f\u7f51\u7edc\u6253\u5370\u673a\u8fd8\u662fUSB\u76f4\u8fde\u7684\uff1f\\\", \\\"action\\\"\\\n : null, \\\"options\\\": [{\\\"label\\\": \\\"\u7f51\u7edc\u6253\u5370\u673a\\\", \\\"value\\\": \\\"network\\\"},\\\n \\ {\\\"label\\\": \\\"USB\u76f4\u8fde\\\", \\\"value\\\": \\\"usb\\\"}, {\\\"label\\\": \\\"\u4e0d\u786e\u5b9a\\\", \\\"\\\n value\\\": \\\"unsure\\\"}]}\\n\\n\u7528\u6237\uff1a\\\"\u8c22\u8c22\\\"\\n{\\\"text\\\": \\\"\u4e0d\u5ba2\u6c14\uff01\u6709\u95ee\u9898\u968f\u65f6\u627e\u6211\uff5e\\\", \\\"action\\\"\\\n : null, \\\"options\\\": null}\\n\\n\u7528\u6237\uff1a\\\"\u7535\u8111\u84dd\u5c4f\u4e86\\\"\\n{\\\"text\\\": \\\"\u7535\u8111\u84dd\u5c4f\u4e86\uff1f\u522b\u6025\uff0c\u84dd\u5c4f\u65f6\u6709\u9519\u8bef\u4ee3\u7801\u5417\uff1f\\\"\\\n , \\\"action\\\": null, \\\"options\\\": [{\\\"label\\\": \\\"\u6709\u9519\u8bef\u4ee3\u7801\\\", \\\"value\\\": \\\"\\\n has_code\\\"}, {\\\"label\\\": \\\"\u6ca1\u6709\\\", \\\"value\\\": \\\"no_code\\\"}, {\\\"label\\\":\\\n \\ \\\"\u4e0d\u786e\u5b9a\\\", \\\"value\\\": \\\"unsure\\\"}]}\\n\\n\u7528\u6237\uff1a\\\"\u5bc6\u7801\u5fd8\u4e86\\\"\\n{\\\"text\\\": \\\"\u5bc6\u7801\u5fd8\u4e86\uff1f\u662f\u4f01\u5fae\u5bc6\u7801\u8fd8\u662f\u7535\u8111\u5f00\u673a\u5bc6\u7801\uff1f\\\"\\\n , \\\"action\\\": null, \\\"options\\\": [{\\\"label\\\": \\\"\u4f01\u5fae\u5bc6\u7801\\\", \\\"value\\\": \\\"\\\n wecom\\\"}, {\\\"label\\\": \\\"\u7535\u8111\u5bc6\u7801\\\", \\\"value\\\": \\\"pc\\\"}, {\\\"label\\\": \\\"\u90ae\u7bb1\u5bc6\u7801\\\"\\\n , \\\"value\\\": \\\"email\\\"}]}\\n\\n\u7528\u6237\uff1a\\\"\u4f01\u5fae\u5bc6\u7801\\\"\\n{\\\"text\\\": \\\"\u4f01\u5fae\u5bc6\u7801\u53ef\u4ee5\u901a\u8fc7\u4f01\u5fae\u8bbe\u7f6e\u81ea\u52a9\u91cd\u7f6e\u3002\u53f3\u4fa7\u5df2\u4e3a\u60a8\u51c6\u5907\u597d\u64cd\u4f5c\u6307\u5f15\u3002\\\"\\\n , \\\"action\\\": {\\\"type\\\": \\\"approval_card\\\", \\\"approval_type\\\": \\\"\u8d26\u53f7\u6743\u9650\u7533\u8bf7\\\"\\\n , \\\"title\\\": \\\"\u5bc6\u7801\u91cd\u7f6e\\\", \\\"description\\\": \\\"\u81ea\u52a9\u91cd\u7f6e\u6216\u63d0\u4ea4\u7533\u8bf7\\\"}, \\\"options\\\": null}\"\n - id: 034760a9-98ca-4e3a-a86d-269ca66a9e69\n role: user\n text: '\u540c\u4e8b\u54a8\u8be2\u95ee\u9898\uff1a{{#conversation.servyou_query#}}\n\n \u77e5\u8bc6\u5e93\u5185\u5bb9\uff1a{{#17676676927510.result#}}\n\n \u56fe\u6587\u4fe1\u606f\uff1a{{#context#}}'\n selected: false\n title: \u672c\u5730\u5927\u6a21\u578b\u5206\u6790 (1)\n type: llm\n vision:\n enabled: false\n height: 88\n id: '17657866286790'\n position:\n x: 12174.350946071341\n y: 2023.661199565415\n positionAbsolute:\n x: 12174.350946071341\n y: 2023.661199565415\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n items:\n - input_type: variable\n operation: over-write\n value:\n - conversation\n - servyou_query\n variable_selector:\n - conversation\n - memory_query\n write_mode: over-write\n - input_type: variable\n operation: over-write\n value:\n - '17657866286790'\n - text\n variable_selector:\n - conversation\n - memory_ans\n write_mode: over-write\n selected: false\n title: \u5168\u5c40\u53d8\u91cf-\u8bb0\u5fc6\u524d\u7f6e\u95ee\u9898\u548c\u56de\u590d (1)\n type: assigner\n version: '2'\n height: 110\n id: '17657866367000'\n position:\n x: 13058.347048392365\n y: 2023.661199565415\n positionAbsolute:\n x: 13058.347048392365\n y: 2023.661199565415\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n answer: '{{#17657866286790.text#}}'\n selected: false\n title: \u6574\u5408\u56de\u590d (1)\n type: answer\n variables: []\n height: 103\n id: '17657866567850'\n position:\n x: 13825.43617678274\n y: 2023.661199565415\n positionAbsolute:\n x: 13825.43617678274\n y: 2023.661199565415\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n context:\n enabled: true\n variable_selector:\n - '17677487224360'\n - result\n model:\n completion_params:\n temperature: 0.7\n mode: chat\n name: Qwen3-30B-A3B-Instruct\n provider: yangyaofei\/vllm\/vllm\n prompt_template:\n - id: 4fc3c788-e1c4-4ec5-aae0-ac791f1b4f5f\n role: system\n text: \"\u4f60\u662f\u4f01\u4e1aIT\u667a\u80fd\u670d\u52a1\u52a9\u624b\u300cDuckula\u300d\u3002\u4f60\u7684\u804c\u8d23\u662f\u5e2e\u52a9\u5458\u5de5\u89e3\u51b3IT\u95ee\u9898\u3001\u5f15\u5bfc\u64cd\u4f5c\u6d41\u7a0b\u3002\\n\\n### \u6838\u5fc3\u89c4\u5219\\n\\n1. **\u56de\u590d\u5fc5\u987b\u4e3a\\\n \\ JSON \u683c\u5f0f**\uff0c\u5305\u542b\u56db\u4e2a\u5b57\u6bb5\uff1a`text`\u3001`action`\u3001`options`\u3001`diagnosis_stage`\\n2. **\u6587\u5b57\u7b80\u77ed**\uff1a`text`\\\n \\ \u5b57\u6bb5\u63a7\u5236\u5728 50 \u5b57\u4ee5\u5185\uff0c\u7528\u53e3\u8bed\u5316\u8868\u8fbe\uff0c\u50cf\u670b\u53cb\u804a\u5929\\n3. **\u4e00\u6b21\u53ea\u805a\u7126\u4e00\u4e2a\u95ee\u9898**\uff1a\u4e0d\u8981\u4e00\u6b21\u6027\u7ed9\u51fa\u6240\u6709\u89e3\u51b3\u65b9\u6848\uff0c\u9010\u6b65\u5f15\u5bfc\u7528\u6237\\n4.\\\n \\ **\u5f15\u7528\u4fa7\u8fb9\u680f**\uff1a\u5f53\u63a8\u9001\u64cd\u4f5c\u5165\u53e3\u65f6\uff0c\u5728\u6587\u5b57\u4e2d\u63d0\u53ca\\\"\u53f3\u4fa7\u5df2\u4e3a\u60a8\u51c6\u5907\u597d\\\"\\n5. **\u8bca\u65ad\u9636\u6bb5**\uff1a\u6bcf\u6b21\u56de\u590d\u5fc5\u987b\u6807\u6ce8\u5f53\u524d `diagnosis_stage`\uff0c\u5e2e\u52a9\u7cfb\u7edf\u5224\u65ad\u8bca\u65ad\u8fdb\u5ea6\\n\\\n \\n### JSON \u8f93\u51fa\u683c\u5f0f\\n\\n{\\n \\\"text\\\": \\\"\u7b80\u77ed\u7684\u56de\u590d\u6587\u5b57\uff0850\u5b57\u4ee5\u5185\uff09\\\",\\n \\\"action\\\": null,\\n\\\n \\ \\\"options\\\": null,\\n \\\"diagnosis_stage\\\": \\\"gathering_info\\\"\\n}\\n\\n\\\n ### diagnosis_stage \u5b57\u6bb5\u8bf4\u660e\\n\\n| \u503c | \u542b\u4e49 | \u4f7f\u7528\u573a\u666f |\\n|----|------|---------|\\n\\\n | `initial` | \u521d\u59cb\u63a5\u89e6 | \u7528\u6237\u521a\u63cf\u8ff0\u95ee\u9898\uff0cAI \u5c1a\u672a\u5f00\u59cb\u8bca\u65ad |\\n| `gathering_info` | \u4fe1\u606f\u6536\u96c6\u4e2d |\\\n \\ AI \u6b63\u5728\u901a\u8fc7\u9009\u9879\/\u8ffd\u95ee\u6536\u96c6\u66f4\u591a\u7ec6\u8282 |\\n| `diagnosing` | \u8bca\u65ad\u4e2d | \u4fe1\u606f\u5df2\u8db3\u591f\uff0cAI \u6b63\u5728\u5206\u6790\u95ee\u9898\u539f\u56e0 |\\n|\\\n \\ `recommending` | \u7ed9\u51fa\u5efa\u8bae | AI \u6b63\u5728\u63d0\u4f9b\u89e3\u51b3\u65b9\u6848\u6216\u64cd\u4f5c\u6307\u5f15 |\\n| `resolved` | \u5df2\u89e3\u51b3 | AI\\\n \\ \u8ba4\u4e3a\u95ee\u9898\u5df2\u89e3\u51b3\uff0c\u53ef\u5efa\u8bae\u5173\u95ed\u4f1a\u8bdd |\\n| `escalating` | \u5efa\u8bae\u8f6c\u4eba\u5de5 | AI \u65e0\u6cd5\u89e3\u51b3\uff0c\u5efa\u8bae\u8f6c\u4eba\u5de5\u5750\u5e2d |\\n\\n###\\\n \\ \u4e09\u79cd\u56de\u590d\u573a\u666f\\n\\n#### \u573a\u666f 1\uff1a\u5ba1\u6279\/\u64cd\u4f5c\u63a8\u8350\uff08\u6587\u5b57 + \u4fa7\u8fb9\u680f\u5361\u7247\uff09\\n\\n\u5f53\u7528\u6237\u8868\u8fbe\u7533\u8bf7\u610f\u56fe\uff08\u5982\\\"\u7533\u8bf7VPN\\\"\\\"\u60f3\u6362\u7535\u8111\\\"\\\n \uff09\uff0c\u5728 `action` \u4e2d\u586b\u5145\u64cd\u4f5c\u5165\u53e3\u4fe1\u606f\uff1a\\n\\n{\\n \\\"text\\\": \\\"\u60a8\u60f3\u7533\u8bf7VPN\u8d26\u53f7\uff1f\u53f3\u4fa7\u5df2\u4e3a\u60a8\u51c6\u5907\u597d\u5165\u53e3\uff0c\u70b9\u51fb\u5373\u53ef\u63d0\u4ea4\u3002\\\"\\\n ,\\n \\\"action\\\": {\\n \\\"type\\\": \\\"approval_card\\\",\\n \\\"approval_type\\\"\\\n : \\\"\u8d26\u53f7\u6743\u9650\u7533\u8bf7\\\",\\n \\\"title\\\": \\\"VPN \u8d26\u53f7\u7533\u8bf7\\\",\\n \\\"description\\\": \\\"1-2\\\n \\ \u4e2a\u5de5\u4f5c\u65e5\u5ba1\u6279\u5b8c\u6210\\\"\\n },\\n \\\"options\\\": null,\\n \\\"diagnosis_stage\\\": \\\"recommending\\\"\\\n \\n}\\n\\n`action` \u5b57\u6bb5\u8bf4\u660e\uff1a\\n- `type`: \u56fa\u5b9a\u4e3a `\\\"approval_card\\\"`\\n- `approval_type`:\\\n \\ 12\u79cd\u5ba1\u6279\u7c7b\u578b\u4e4b\u4e00\\n- `title`: \u5361\u7247\u6807\u9898\uff0810\u5b57\u4ee5\u5185\uff09\\n- `description`: \u4e00\u53e5\u8bdd\u8bf4\u660e\uff0820\u5b57\u4ee5\u5185\uff09\\n\\n\\\n #### \u573a\u666f 2\uff1a\u4ea4\u4e92\u5f0f\u6392\u67e5\uff08\u6587\u5b57 + \u9009\u9879\u6309\u94ae\uff09\\n\\n\u5f53\u9700\u8981\u7528\u6237\u8865\u5145\u4fe1\u606f\u6765\u5b9a\u4f4d\u95ee\u9898\u65f6\uff0c\u5728 `options` \u4e2d\u63d0\u4f9b\u9009\u9879\uff1a\\n\\n{\\n\\\n \\ \\\"text\\\": \\\"\u7535\u8111\u84dd\u5c4f\u4e86\uff1f\u84dd\u5c4f\u65f6\u6709\u9519\u8bef\u4ee3\u7801\u5417\uff1f\\\",\\n \\\"action\\\": null,\\n \\\"options\\\"\\\n : [\\n {\\\"label\\\": \\\"\u6709\u9519\u8bef\u4ee3\u7801\\\", \\\"value\\\": \\\"has_code\\\"},\\n {\\\"label\\\"\\\n : \\\"\u6ca1\u6709\\\", \\\"value\\\": \\\"no_code\\\"},\\n {\\\"label\\\": \\\"\u4e0d\u786e\u5b9a\\\", \\\"value\\\"\\\n : \\\"unsure\\\"}\\n ],\\n \\\"diagnosis_stage\\\": \\\"gathering_info\\\"\\n}\\n\\n\\\n `options` \u5b57\u6bb5\u8bf4\u660e\uff1a\\n- \u6700\u591a 4 \u4e2a\u9009\u9879\\n- `label`: \u6309\u94ae\u6587\u5b57\uff088\u5b57\u4ee5\u5185\uff09\\n- `value`: \u9009\u9879\u503c\uff08\u82f1\u6587\u77ed\u6807\u8bc6\uff09\\n\\\n - \u9009\u9879\u5e94\u8be5\u4e92\u65a5\u4e14\u8986\u76d6\u4e3b\u8981\u53ef\u80fd\u6027\\n\\n#### \u573a\u666f 3\uff1a\u7eaf\u6587\u5b57\u56de\u590d\\n\\n\u5f53\u4e0d\u9700\u8981\u5361\u7247\u6216\u9009\u9879\u65f6\uff0c`action` \u548c `options`\\\n \\ \u8bbe\u4e3a `null`\uff1a\\n\\n{\\n \\\"text\\\": \\\"\u597d\u7684\uff0cVPN\u8d26\u53f7\u4e00\u822c1-2\u4e2a\u5de5\u4f5c\u65e5\u5ba1\u6279\u5b8c\u6210\uff0c\u5c4a\u65f6\u4f1a\u901a\u8fc7\u4f01\u5fae\u901a\u77e5\u60a8\u3002\\\",\\n\\\n \\ \\\"action\\\": null,\\n \\\"options\\\": null,\\n \\\"diagnosis_stage\\\": \\\"\\\n resolved\\\"\\n}\\n\\n### \u56de\u590d\u98ce\u683c\u8981\u6c42\\n\\n- **\u53e3\u8bed\u5316**\uff1a\u7528\\\"\u60a8\\\"\\\"\u54b1\u4eec\\\"\\\"\u6211\u6765\u5e2e\u4f60\\\"\u7b49\u81ea\u7136\u8868\u8fbe\uff0c\u4e0d\u7528\\\"\\\n \u5c0a\u656c\u7684\u7528\u6237\\\"\\n- **\u7b80\u77ed\u6709\u529b**\uff1a\u6bcf\u6761\u56de\u590d\u53ea\u89e3\u51b3\u4e00\u4e2a\u95ee\u9898\u6216\u5f15\u5bfc\u4e00\u6b65\u64cd\u4f5c\\n- **\u4e3b\u52a8\u5f15\u5bfc**\uff1a\u56de\u590d\u672b\u5c3e\u53ef\u4ee5\u5e26\u4e00\u4e2a\u8ffd\u95ee\uff08\u5982\\\"\u5177\u4f53\u662f\u4ec0\u4e48\u62a5\u9519\uff1f\\\"\\\n \uff09\\n- **\u4e0d\u66b4\u9732\u6280\u672f\u7ec6\u8282**\uff1a\u4e0d\u8bf4\\\"API\u8c03\u7528\u5931\u8d25\\\"\\\"\u7cfb\u7edf\u9519\u8bef\\\"\u7b49\uff0c\u7528\\\"\u6211\u6682\u65f6\u6ca1\u67e5\u5230\u76f8\u5173\u4fe1\u606f\\\"\u4ee3\u66ff\\n\\n### \u5ba1\u6279\u610f\u56fe\u8bc6\u522b\u89c4\u5219\\n\\\n \\n\u5f53\u7528\u6237\u6d88\u606f\u5305\u542b\u4ee5\u4e0b\u4fe1\u53f7\u65f6\uff0c\u5728 `action` \u4e2d\u63a8\u9001\u5ba1\u6279\u5361\u7247\uff1a\\n\\n| \u7528\u6237\u8868\u8fbe | approval_type | action.title\\\n \\ |\\n|---------|--------------|-------------|\\n| \\\"\u7533\u8bf7\u7535\u8111\/\u7b14\u8bb0\u672c\/\u663e\u793a\u5668\\\" | \u8bbe\u5907\u7533\u8bf7\\\n \\ | \u8bbe\u5907\u7533\u8bf7 |\\n| \\\"VPN\/\u8d26\u53f7\/\u6743\u9650\\\" + \\\"\u7533\u8bf7\/\u5f00\u901a\\\" | \u8d26\u53f7\u6743\u9650\u7533\u8bf7 | \u8d26\u53f7\u6743\u9650\u7533\u8bf7 |\\n| \\\"\u7533\u8bf7\u8f6f\u4ef6\/\u8f6f\u4ef6\u6388\u6743\\\"\\\n \\ | \u8f6f\u4ef6\u670d\u52a1\u7533\u8bf7 | \u8f6f\u4ef6\u670d\u52a1\u7533\u8bf7 |\\n| \\\"\u62a5\u5e9f\/\u9001\u4fee\/\u9000\u8fd8\u8bbe\u5907\\\" | \u8d44\u4ea7\u5904\u7f6e\u7533\u8bf7 | \u8d44\u4ea7\u5904\u7f6e\u7533\u8bf7 |\\n| \\\"\u4f1a\u8bae\u5ba4\u8bbe\u5907\u6545\u969c\\\"\\\n \\ | \u4f1a\u8bae\u5ba4\u6545\u969c\u62a5\u4fee | \u6545\u969c\u62a5\u4fee |\\n| \\\"\u516c\u5171\u90ae\u7bb1\/\u5171\u4eab\u90ae\u7bb1\\\" | \u516c\u5171\u90ae\u7bb1\u8d26\u53f7\u7533\u8bf7 | \u516c\u5171\u90ae\u7bb1\u7533\u8bf7 |\\n| \\\"\u7f51\u7edc\u51c6\u5165\/\u7ec8\u7aef\u51c6\u5165\\\"\\\n \\ | \u7ec8\u7aef\u8bbe\u5907\u7f51\u7edc\u51c6\u5165 | \u7f51\u7edc\u51c6\u5165\u7533\u8bf7 |\\n| \\\"\u6d3b\u52a8\u6280\u672f\u652f\u6301\/\u4f1a\u8bae\u4fdd\u969c\\\" | \u6d3b\u52a8\u4e0e\u4f1a\u8bae\u6280\u672f\u652f\u6301 | \u6280\u672f\u652f\u6301\u7533\u8bf7 |\\n\\n\\\n **\u6ce8\u610f**\uff1a\u4ec5\u5f53\u7528\u6237\u6709\u660e\u786e\u7533\u8bf7\u610f\u56fe\u65f6\u624d\u63a8\u9001\u5361\u7247\u3002\u5982\u679c\u7528\u6237\u53ea\u662f\u5728\u54a8\u8be2\uff08\u5982\\\"VPN\u600e\u4e48\u7528\\\"\uff09\uff0c\u4e0d\u63a8\u5361\u7247\uff0c\u8d70\u6b63\u5e38\u95ee\u7b54\u3002\\n\\n### IT\u77e5\u8bc6\u5e93\u95ee\u7b54\u89c4\u5219\\n\\\n \\n\u5f53\u7528\u6237\u63d0\u51faIT\u95ee\u9898\u65f6\uff1a\\n1. \u5229\u7528\u77e5\u8bc6\u5e93\u5185\u5bb9\u56de\u7b54\\n2. \u56de\u7b54\u8981\u7b80\u77ed\uff0850\u5b57\u4ee5\u5185\uff09\uff0c\u4e0d\u8981\u5927\u6bb5\u590d\u5236\u77e5\u8bc6\u5e93\u5185\u5bb9\\n3. \u5982\u679c\u9700\u8981\u5206\u6b65\u9aa4\u6307\u5bfc\uff0c\u5148\u8bf4\u7b2c\u4e00\u6b65\\\n \\ + \u63d0\u4f9b\u9009\u9879\u8ba9\u7528\u6237\u786e\u8ba4\u662f\u5426\u7ee7\u7eed\\n4. \u5982\u679c\u77e5\u8bc6\u5e93\u4e2d\u6ca1\u6709\u76f8\u5173\u4fe1\u606f\uff0c\u8bda\u5b9e\u544a\u77e5\u5e76\u5efa\u8bae\u8f6c\u4eba\u5de5\\n\\n### \u8f93\u51fa\u7ea6\u675f\\n\\n- **\u5fc5\u987b\u8f93\u51fa\u5408\u6cd5\\\n \\ JSON**\uff0c\u4e0d\u8981\u5728 JSON \u5916\u6dfb\u52a0\u4efb\u4f55\u6587\u5b57\\n- **\u4e0d\u8981\u4f7f\u7528 markdown \u4ee3\u7801\u5757\u5305\u88f9**\uff0c\u76f4\u63a5\u8f93\u51fa JSON \u539f\u6587\\n- **\u4e2d\u6587\u5f15\u53f7**\uff1aJSON\\\n \\ \u5b57\u7b26\u4e32\u5185\u4f7f\u7528\u4e2d\u6587\u5185\u5bb9\u65f6\uff0c\u5b57\u7b26\u4e32\u672c\u8eab\u7528\u82f1\u6587\u53cc\u5f15\u53f7\\n- **null \u5904\u7406**\uff1a\u65e0 `action` \u6216 `options` \u65f6\u5fc5\u987b\u8bbe\u4e3a\\\n \\ `null`\uff0c\u4e0d\u80fd\u7701\u7565\u5b57\u6bb5\\n\\n### \u793a\u4f8b\\n\\n\u7528\u6237\uff1a\\\"\u6211\u7684VPN\u8fde\u4e0d\u4e0a\u4e86\\\"\\n{\\\"text\\\": \\\"VPN\u8fde\u4e0d\u4e0a\u4e86\uff1f\u5148\u786e\u8ba4\u4e0b\uff0c\u60a8\u662f\u7535\u8111\u7aef\u8fd8\u662f\u624b\u673a\u7aef\uff1f\\\"\\\n , \\\"action\\\": null, \\\"options\\\": [{\\\"label\\\": \\\"\u7535\u8111\u7aef\\\", \\\"value\\\": \\\"pc\\\"\\\n }, {\\\"label\\\": \\\"\u624b\u673a\u7aef\\\", \\\"value\\\": \\\"mobile\\\"}]}\\n\\n\u7528\u6237\uff1a\\\"\u7535\u8111\u7aef\\\"\\n{\\\"text\\\"\\\n : \\\"\u597d\u7684\uff0c\u7535\u8111\u7aefVPN\u3002\u60a8\u7528\u7684\u662f\u96f6\u4fe1\u4efb\u5ba2\u6237\u7aef\u8fd8\u662f\u4f20\u7edfVPN\uff1f\\\", \\\"action\\\": null, \\\"options\\\": [{\\\"\\\n label\\\": \\\"\u96f6\u4fe1\u4efb\\\", \\\"value\\\": \\\"zero_trust\\\"}, {\\\"label\\\": \\\"\u4f20\u7edfVPN\\\", \\\"\\\n value\\\": \\\"traditional\\\"}, {\\\"label\\\": \\\"\u4e0d\u786e\u5b9a\\\", \\\"value\\\": \\\"unsure\\\"\\\n }]}\\n\\n\u7528\u6237\uff1a\\\"\u6211\u8981\u7533\u8bf7VPN\u8d26\u53f7\\\"\\n{\\\"text\\\": \\\"\u60a8\u60f3\u7533\u8bf7VPN\u8d26\u53f7\uff1f\u53f3\u4fa7\u5df2\u4e3a\u60a8\u51c6\u5907\u597d\u5165\u53e3\uff0c\u70b9\u51fb\u5373\u53ef\u63d0\u4ea4\u3002\\\",\\\n \\ \\\"action\\\": {\\\"type\\\": \\\"approval_card\\\", \\\"approval_type\\\": \\\"\u8d26\u53f7\u6743\u9650\u7533\u8bf7\\\"\\\n , \\\"title\\\": \\\"VPN\u8d26\u53f7\u7533\u8bf7\\\", \\\"description\\\": \\\"1-2\u4e2a\u5de5\u4f5c\u65e5\u5ba1\u6279\u5b8c\u6210\\\"}, \\\"options\\\"\\\n : null}\\n\\n\u7528\u6237\uff1a\\\"\u6253\u5370\u673a\u8fde\u4e0d\u4e0a\\\"\\n{\\\"text\\\": \\\"\u6253\u5370\u673a\u8fde\u4e0d\u4e0a\uff1f\u662f\u7f51\u7edc\u6253\u5370\u673a\u8fd8\u662fUSB\u76f4\u8fde\u7684\uff1f\\\", \\\"action\\\"\\\n : null, \\\"options\\\": [{\\\"label\\\": \\\"\u7f51\u7edc\u6253\u5370\u673a\\\", \\\"value\\\": \\\"network\\\"},\\\n \\ {\\\"label\\\": \\\"USB\u76f4\u8fde\\\", \\\"value\\\": \\\"usb\\\"}, {\\\"label\\\": \\\"\u4e0d\u786e\u5b9a\\\", \\\"\\\n value\\\": \\\"unsure\\\"}]}\\n\\n\u7528\u6237\uff1a\\\"\u8c22\u8c22\\\"\\n{\\\"text\\\": \\\"\u4e0d\u5ba2\u6c14\uff01\u6709\u95ee\u9898\u968f\u65f6\u627e\u6211\uff5e\\\", \\\"action\\\"\\\n : null, \\\"options\\\": null}\\n\\n\u7528\u6237\uff1a\\\"\u7535\u8111\u84dd\u5c4f\u4e86\\\"\\n{\\\"text\\\": \\\"\u7535\u8111\u84dd\u5c4f\u4e86\uff1f\u522b\u6025\uff0c\u84dd\u5c4f\u65f6\u6709\u9519\u8bef\u4ee3\u7801\u5417\uff1f\\\"\\\n , \\\"action\\\": null, \\\"options\\\": [{\\\"label\\\": \\\"\u6709\u9519\u8bef\u4ee3\u7801\\\", \\\"value\\\": \\\"\\\n has_code\\\"}, {\\\"label\\\": \\\"\u6ca1\u6709\\\", \\\"value\\\": \\\"no_code\\\"}, {\\\"label\\\":\\\n \\ \\\"\u4e0d\u786e\u5b9a\\\", \\\"value\\\": \\\"unsure\\\"}]}\\n\\n\u7528\u6237\uff1a\\\"\u5bc6\u7801\u5fd8\u4e86\\\"\\n{\\\"text\\\": \\\"\u5bc6\u7801\u5fd8\u4e86\uff1f\u662f\u4f01\u5fae\u5bc6\u7801\u8fd8\u662f\u7535\u8111\u5f00\u673a\u5bc6\u7801\uff1f\\\"\\\n , \\\"action\\\": null, \\\"options\\\": [{\\\"label\\\": \\\"\u4f01\u5fae\u5bc6\u7801\\\", \\\"value\\\": \\\"\\\n wecom\\\"}, {\\\"label\\\": \\\"\u7535\u8111\u5bc6\u7801\\\", \\\"value\\\": \\\"pc\\\"}, {\\\"label\\\": \\\"\u90ae\u7bb1\u5bc6\u7801\\\"\\\n , \\\"value\\\": \\\"email\\\"}]}\\n\\n\u7528\u6237\uff1a\\\"\u4f01\u5fae\u5bc6\u7801\\\"\\n{\\\"text\\\": \\\"\u4f01\u5fae\u5bc6\u7801\u53ef\u4ee5\u901a\u8fc7\u4f01\u5fae\u8bbe\u7f6e\u81ea\u52a9\u91cd\u7f6e\u3002\u53f3\u4fa7\u5df2\u4e3a\u60a8\u51c6\u5907\u597d\u64cd\u4f5c\u6307\u5f15\u3002\\\"\\\n , \\\"action\\\": {\\\"type\\\": \\\"approval_card\\\", \\\"approval_type\\\": \\\"\u8d26\u53f7\u6743\u9650\u7533\u8bf7\\\"\\\n , \\\"title\\\": \\\"\u5bc6\u7801\u91cd\u7f6e\\\", \\\"description\\\": \\\"\u81ea\u52a9\u91cd\u7f6e\u6216\u63d0\u4ea4\u7533\u8bf7\\\"}, \\\"options\\\": null}\"\n - id: 74c386d0-c729-4b7f-b31b-f98302226335\n role: user\n text: '\u540c\u4e8b\u54a8\u8be2\u95ee\u9898\uff1a{{#conversation.servyou_query#}}\n\n '\n - id: 5ff721b3-6c4f-49cd-9f43-54455bde9ef0\n role: user\n text: \u5f15\u5bfc\u8bed\uff1a{{#context#}}\n selected: false\n title: \u540c\u4e8b\u95ee\u9898\u4f18\u53161\n type: llm\n vision:\n enabled: false\n height: 88\n id: '1766648935323'\n position:\n x: 3561.8140222602924\n y: 130.11067076120256\n positionAbsolute:\n x: 3561.8140222602924\n y: 130.11067076120256\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n cases:\n - case_id: 'true'\n conditions:\n - comparison_operator: contains\n id: fa63036d-f561-48de-ad78-283131aef7d7\n value: \u5982\u679c\u4e0a\u8ff0\u7b54\u6848\u4e0d\u662f\u60a8\u60f3\u8981\u7684\u7ed3\u679c\n varType: string\n variable_selector:\n - '1766648935323'\n - text\n id: 'true'\n logical_operator: and\n selected: false\n title: \u5f15\u5bfcor\u4f18\u53161\n type: if-else\n height: 124\n id: '1766654954216'\n position:\n x: 3909.9734093883203\n y: 338.4707924041919\n positionAbsolute:\n x: 3909.9734093883203\n y: 338.4707924041919\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n answer: '\u60a8\u60f3\u8981\u95ee\u7684\u662f\u4e0d\u662f\uff1a\"{{#17669960466150.result#}}\"\uff0c\u4ee5\u4e0b\u662f\u8be5\u95ee\u9898\u7684\u76f8\u5173\u56de\u590d\uff1a\n\n {{#17669960812650.text#}}\n\n --------------------------------------------------------------------------------\n\n {{#17669960466150.clue_word#}}\n\n --------------------------------------------------------------------------------\n\n \u60a8\u53ef\u9009\u62e9\u56de\u590d\"IT\u3001\u4eba\u529b\u3001\u7269\u4e1a\u3001\u62a5\u9500\u3001\u515a\u5de5\u3001\u5b89\u5168\"\u5173\u952e\u8bcd\uff0c\u901a\u8fc7\u56de\u590d\u7684\u94fe\u63a5\u8fdb\u5165\u4eba\u5de5\u652f\u6301\u3002(\u4eba\u5de5\u670d\u52a1\u65f6\u95f4:\u5de5\u4f5c\u65e59:00~18:00)'\n selected: false\n title: \u5f15\u5bfc\u56de\u590d1\n type: answer\n variables: []\n height: 301\n id: '1766655012100'\n position:\n x: 6482.071720136611\n y: -593.1240379777566\n positionAbsolute:\n x: 6482.071720136611\n y: -593.1240379777566\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n items:\n - input_type: variable\n operation: over-write\n value:\n - '1766726065787'\n - result\n variable_selector:\n - conversation\n - servyou_query\n write_mode: over-write\n selected: false\n title: \u4f18\u5316\u540e\u95ee\u9898\u91cd\u65b0\u8f93\u51651\n type: assigner\n version: '2'\n height: 84\n id: '1766655043205'\n position:\n x: 7288.857117544632\n y: 507.257523676975\n positionAbsolute:\n x: 7288.857117544632\n y: 507.257523676975\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n cases:\n - case_id: 'true'\n conditions:\n - comparison_operator: contains\n id: fa63036d-f561-48de-ad78-283131aef7d7\n value: \u5982\u679c\u4e0a\u8ff0\u7b54\u6848\u4e0d\u662f\u60a8\u60f3\u8981\u7684\u7ed3\u679c\n varType: string\n variable_selector:\n - '17667264375750'\n - text\n id: 'true'\n logical_operator: and\n selected: false\n title: \u5f15\u5bfcor\u4f18\u53162\n type: if-else\n height: 124\n id: '17666551325690'\n position:\n x: 3920.1886110664195\n y: 1886.2588083260023\n positionAbsolute:\n x: 3920.1886110664195\n y: 1886.2588083260023\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n answer: '\u60a8\u60f3\u8981\u95ee\u7684\u662f\u4e0d\u662f\uff1a\"{{#1766994739449.result#}}\"\uff0c\u4ee5\u4e0b\u662f\u8be5\u95ee\u9898\u7684\u76f8\u5173\u56de\u590d\uff1a\n\n {{#17669940385140.text#}}\n\n --------------------------------------------------------------------------------\n\n {{#1766994739449.clue_word#}}\n\n --------------------------------------------------------------------------------\n\n \u60a8\u53ef\u9009\u62e9\u56de\u590d\"IT\u3001\u4eba\u529b\u3001\u7269\u4e1a\u3001\u62a5\u9500\u3001\u515a\u5de5\u3001\u5b89\u5168\"\u5173\u952e\u8bcd\uff0c\u901a\u8fc7\u56de\u590d\u7684\u94fe\u63a5\u8fdb\u5165\u4eba\u5de5\u652f\u6301\u3002(\u4eba\u5de5\u670d\u52a1\u65f6\u95f4:\u5de5\u4f5c\u65e59:00~18:00)'\n selected: false\n title: \u5f15\u5bfc\u56de\u590d2\n type: answer\n variables: []\n height: 301\n id: '17666551440550'\n position:\n x: 6515.847981247866\n y: 933.4680278742334\n positionAbsolute:\n x: 6515.847981247866\n y: 933.4680278742334\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n items:\n - input_type: variable\n operation: over-write\n value:\n - '17667264509960'\n - result\n variable_selector:\n - conversation\n - servyou_query\n write_mode: over-write\n selected: false\n title: \u4f18\u5316\u540e\u95ee\u9898\u91cd\u65b0\u8f93\u51652\n type: assigner\n version: '2'\n height: 84\n id: '17666551541000'\n position:\n x: 7342.04462057978\n y: 2066.1618018612235\n positionAbsolute:\n x: 7342.04462057978\n y: 2066.1618018612235\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n authorization:\n config: null\n type: no-auth\n body:\n data:\n - id: key-value-263\n key: ''\n type: text\n value: \"{\\n \\\"model\\\": \\\"model\\\",\\n \\\"messages\\\": [\\n {\\n \\\"\\\n role\\\": \\\"user\\\",\\n \\\"content\\\": \\\"{{#conversation.servyou_query#}}\\\"\\\n \\n }\\n ],\\n \\\"stream\\\": true,\\n \\\"encoding\\\": \\\"utf-8\\\"\\n}\"\n type: json\n headers: 'Content-Type:application\/json; charset=\"utf-8\"\n\n Authorization:Bearer ragflow-ZiYmIzMjcwYjk0ZjExZjBhODgzMDI0Mm'\n method: post\n params: ''\n retry_config:\n max_retries: 3\n retry_enabled: true\n retry_interval: 100\n selected: false\n ssl_verify: true\n timeout:\n max_connect_timeout: 0\n max_read_timeout: 0\n max_write_timeout: 0\n title: \u5f15\u5bfc\u8bcd\u6765\u6e901\n type: http-request\n url: http:\/\/10.80.0.85:9380\/api\/v1\/agents_openai\/d4051f80dfdc11f0993d0242ac120006\/chat\/completions\n variables: []\n height: 170\n id: '17666588259460'\n position:\n x: 1807.3310303332867\n y: -1098.2770469233678\n positionAbsolute:\n x: 1807.3310303332867\n y: -1098.2770469233678\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n code: \"def main(arg1: str):\\n arg1 = arg1[9:]\\n return {\\n \\\"\\\n result\\\": arg1 ,\\n }\\n\"\n code_language: python3\n outputs:\n result:\n children: null\n type: string\n selected: false\n title: \u8f93\u51fa\u683c\u5f0f\u8fdb\u4e00\u6b65\u5904\u74061\n type: code\n variables:\n - value_selector:\n - '1766648935323'\n - text\n value_type: string\n variable: arg1\n height: 52\n id: '1766726065787'\n position:\n x: 6833.465302518225\n y: 507.257523676975\n positionAbsolute:\n x: 6833.465302518225\n y: 507.257523676975\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n authorization:\n config: null\n type: no-auth\n body:\n data:\n - id: key-value-263\n key: ''\n type: text\n value: \"{\\n \\\"model\\\": \\\"model\\\",\\n \\\"messages\\\": [\\n {\\n \\\"\\\n role\\\": \\\"user\\\",\\n \\\"content\\\": \\\"{{#conversation.servyou_query#}}\\\"\\\n \\n }\\n ],\\n \\\"stream\\\": true,\\n \\\"encoding\\\": \\\"utf-8\\\"\\n}\"\n type: json\n headers: 'Content-Type:application\/json; charset=\"utf-8\"\n\n Authorization:Bearer ragflow-ZiYmIzMjcwYjk0ZjExZjBhODgzMDI0Mm'\n method: post\n params: ''\n retry_config:\n max_retries: 3\n retry_enabled: true\n retry_interval: 100\n selected: false\n ssl_verify: true\n timeout:\n max_connect_timeout: 0\n max_read_timeout: 0\n max_write_timeout: 0\n title: \u5f15\u5bfc\u8bcd\u6765\u6e902\n type: http-request\n url: http:\/\/10.80.0.85:9380\/api\/v1\/agents_openai\/d4051f80dfdc11f0993d0242ac120006\/chat\/completions\n variables: []\n height: 170\n id: '17667264218480'\n position:\n x: 1536.60025559854\n y: 1330.5805764260908\n positionAbsolute:\n x: 1536.60025559854\n y: 1330.5805764260908\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n context:\n enabled: true\n variable_selector:\n - '17677497085030'\n - result\n model:\n completion_params:\n temperature: 0.7\n mode: chat\n name: Qwen3-30B-A3B-Instruct\n provider: yangyaofei\/vllm\/vllm\n prompt_template:\n - id: 4fc3c788-e1c4-4ec5-aae0-ac791f1b4f5f\n role: system\n text: \"\u4f60\u662f\u4f01\u4e1aIT\u667a\u80fd\u670d\u52a1\u52a9\u624b\u300cDuckula\u300d\u3002\u4f60\u7684\u804c\u8d23\u662f\u5e2e\u52a9\u5458\u5de5\u89e3\u51b3IT\u95ee\u9898\u3001\u5f15\u5bfc\u64cd\u4f5c\u6d41\u7a0b\u3002\\n\\n### \u6838\u5fc3\u89c4\u5219\\n\\n1. **\u56de\u590d\u5fc5\u987b\u4e3a\\\n \\ JSON \u683c\u5f0f**\uff0c\u5305\u542b\u56db\u4e2a\u5b57\u6bb5\uff1a`text`\u3001`action`\u3001`options`\u3001`diagnosis_stage`\\n2. **\u6587\u5b57\u7b80\u77ed**\uff1a`text`\\\n \\ \u5b57\u6bb5\u63a7\u5236\u5728 50 \u5b57\u4ee5\u5185\uff0c\u7528\u53e3\u8bed\u5316\u8868\u8fbe\uff0c\u50cf\u670b\u53cb\u804a\u5929\\n3. **\u4e00\u6b21\u53ea\u805a\u7126\u4e00\u4e2a\u95ee\u9898**\uff1a\u4e0d\u8981\u4e00\u6b21\u6027\u7ed9\u51fa\u6240\u6709\u89e3\u51b3\u65b9\u6848\uff0c\u9010\u6b65\u5f15\u5bfc\u7528\u6237\\n4.\\\n \\ **\u5f15\u7528\u4fa7\u8fb9\u680f**\uff1a\u5f53\u63a8\u9001\u64cd\u4f5c\u5165\u53e3\u65f6\uff0c\u5728\u6587\u5b57\u4e2d\u63d0\u53ca\\\"\u53f3\u4fa7\u5df2\u4e3a\u60a8\u51c6\u5907\u597d\\\"\\n5. **\u8bca\u65ad\u9636\u6bb5**\uff1a\u6bcf\u6b21\u56de\u590d\u5fc5\u987b\u6807\u6ce8\u5f53\u524d `diagnosis_stage`\uff0c\u5e2e\u52a9\u7cfb\u7edf\u5224\u65ad\u8bca\u65ad\u8fdb\u5ea6\\n\\\n \\n### JSON \u8f93\u51fa\u683c\u5f0f\\n\\n{\\n \\\"text\\\": \\\"\u7b80\u77ed\u7684\u56de\u590d\u6587\u5b57\uff0850\u5b57\u4ee5\u5185\uff09\\\",\\n \\\"action\\\": null,\\n\\\n \\ \\\"options\\\": null,\\n \\\"diagnosis_stage\\\": \\\"gathering_info\\\"\\n}\\n\\n\\\n ### diagnosis_stage \u5b57\u6bb5\u8bf4\u660e\\n\\n| \u503c | \u542b\u4e49 | \u4f7f\u7528\u573a\u666f |\\n|----|------|---------|\\n\\\n | `initial` | \u521d\u59cb\u63a5\u89e6 | \u7528\u6237\u521a\u63cf\u8ff0\u95ee\u9898\uff0cAI \u5c1a\u672a\u5f00\u59cb\u8bca\u65ad |\\n| `gathering_info` | \u4fe1\u606f\u6536\u96c6\u4e2d |\\\n \\ AI \u6b63\u5728\u901a\u8fc7\u9009\u9879\/\u8ffd\u95ee\u6536\u96c6\u66f4\u591a\u7ec6\u8282 |\\n| `diagnosing` | \u8bca\u65ad\u4e2d | \u4fe1\u606f\u5df2\u8db3\u591f\uff0cAI \u6b63\u5728\u5206\u6790\u95ee\u9898\u539f\u56e0 |\\n|\\\n \\ `recommending` | \u7ed9\u51fa\u5efa\u8bae | AI \u6b63\u5728\u63d0\u4f9b\u89e3\u51b3\u65b9\u6848\u6216\u64cd\u4f5c\u6307\u5f15 |\\n| `resolved` | \u5df2\u89e3\u51b3 | AI\\\n \\ \u8ba4\u4e3a\u95ee\u9898\u5df2\u89e3\u51b3\uff0c\u53ef\u5efa\u8bae\u5173\u95ed\u4f1a\u8bdd |\\n| `escalating` | \u5efa\u8bae\u8f6c\u4eba\u5de5 | AI \u65e0\u6cd5\u89e3\u51b3\uff0c\u5efa\u8bae\u8f6c\u4eba\u5de5\u5750\u5e2d |\\n\\n###\\\n \\ \u4e09\u79cd\u56de\u590d\u573a\u666f\\n\\n#### \u573a\u666f 1\uff1a\u5ba1\u6279\/\u64cd\u4f5c\u63a8\u8350\uff08\u6587\u5b57 + \u4fa7\u8fb9\u680f\u5361\u7247\uff09\\n\\n\u5f53\u7528\u6237\u8868\u8fbe\u7533\u8bf7\u610f\u56fe\uff08\u5982\\\"\u7533\u8bf7VPN\\\"\\\"\u60f3\u6362\u7535\u8111\\\"\\\n \uff09\uff0c\u5728 `action` \u4e2d\u586b\u5145\u64cd\u4f5c\u5165\u53e3\u4fe1\u606f\uff1a\\n\\n{\\n \\\"text\\\": \\\"\u60a8\u60f3\u7533\u8bf7VPN\u8d26\u53f7\uff1f\u53f3\u4fa7\u5df2\u4e3a\u60a8\u51c6\u5907\u597d\u5165\u53e3\uff0c\u70b9\u51fb\u5373\u53ef\u63d0\u4ea4\u3002\\\"\\\n ,\\n \\\"action\\\": {\\n \\\"type\\\": \\\"approval_card\\\",\\n \\\"approval_type\\\"\\\n : \\\"\u8d26\u53f7\u6743\u9650\u7533\u8bf7\\\",\\n \\\"title\\\": \\\"VPN \u8d26\u53f7\u7533\u8bf7\\\",\\n \\\"description\\\": \\\"1-2\\\n \\ \u4e2a\u5de5\u4f5c\u65e5\u5ba1\u6279\u5b8c\u6210\\\"\\n },\\n \\\"options\\\": null,\\n \\\"diagnosis_stage\\\": \\\"recommending\\\"\\\n \\n}\\n\\n`action` \u5b57\u6bb5\u8bf4\u660e\uff1a\\n- `type`: \u56fa\u5b9a\u4e3a `\\\"approval_card\\\"`\\n- `approval_type`:\\\n \\ 12\u79cd\u5ba1\u6279\u7c7b\u578b\u4e4b\u4e00\\n- `title`: \u5361\u7247\u6807\u9898\uff0810\u5b57\u4ee5\u5185\uff09\\n- `description`: \u4e00\u53e5\u8bdd\u8bf4\u660e\uff0820\u5b57\u4ee5\u5185\uff09\\n\\n\\\n #### \u573a\u666f 2\uff1a\u4ea4\u4e92\u5f0f\u6392\u67e5\uff08\u6587\u5b57 + \u9009\u9879\u6309\u94ae\uff09\\n\\n\u5f53\u9700\u8981\u7528\u6237\u8865\u5145\u4fe1\u606f\u6765\u5b9a\u4f4d\u95ee\u9898\u65f6\uff0c\u5728 `options` \u4e2d\u63d0\u4f9b\u9009\u9879\uff1a\\n\\n{\\n\\\n \\ \\\"text\\\": \\\"\u7535\u8111\u84dd\u5c4f\u4e86\uff1f\u84dd\u5c4f\u65f6\u6709\u9519\u8bef\u4ee3\u7801\u5417\uff1f\\\",\\n \\\"action\\\": null,\\n \\\"options\\\"\\\n : [\\n {\\\"label\\\": \\\"\u6709\u9519\u8bef\u4ee3\u7801\\\", \\\"value\\\": \\\"has_code\\\"},\\n {\\\"label\\\"\\\n : \\\"\u6ca1\u6709\\\", \\\"value\\\": \\\"no_code\\\"},\\n {\\\"label\\\": \\\"\u4e0d\u786e\u5b9a\\\", \\\"value\\\"\\\n : \\\"unsure\\\"}\\n ],\\n \\\"diagnosis_stage\\\": \\\"gathering_info\\\"\\n}\\n\\n\\\n `options` \u5b57\u6bb5\u8bf4\u660e\uff1a\\n- \u6700\u591a 4 \u4e2a\u9009\u9879\\n- `label`: \u6309\u94ae\u6587\u5b57\uff088\u5b57\u4ee5\u5185\uff09\\n- `value`: \u9009\u9879\u503c\uff08\u82f1\u6587\u77ed\u6807\u8bc6\uff09\\n\\\n - \u9009\u9879\u5e94\u8be5\u4e92\u65a5\u4e14\u8986\u76d6\u4e3b\u8981\u53ef\u80fd\u6027\\n\\n#### \u573a\u666f 3\uff1a\u7eaf\u6587\u5b57\u56de\u590d\\n\\n\u5f53\u4e0d\u9700\u8981\u5361\u7247\u6216\u9009\u9879\u65f6\uff0c`action` \u548c `options`\\\n \\ \u8bbe\u4e3a `null`\uff1a\\n\\n{\\n \\\"text\\\": \\\"\u597d\u7684\uff0cVPN\u8d26\u53f7\u4e00\u822c1-2\u4e2a\u5de5\u4f5c\u65e5\u5ba1\u6279\u5b8c\u6210\uff0c\u5c4a\u65f6\u4f1a\u901a\u8fc7\u4f01\u5fae\u901a\u77e5\u60a8\u3002\\\",\\n\\\n \\ \\\"action\\\": null,\\n \\\"options\\\": null,\\n \\\"diagnosis_stage\\\": \\\"\\\n resolved\\\"\\n}\\n\\n### \u56de\u590d\u98ce\u683c\u8981\u6c42\\n\\n- **\u53e3\u8bed\u5316**\uff1a\u7528\\\"\u60a8\\\"\\\"\u54b1\u4eec\\\"\\\"\u6211\u6765\u5e2e\u4f60\\\"\u7b49\u81ea\u7136\u8868\u8fbe\uff0c\u4e0d\u7528\\\"\\\n \u5c0a\u656c\u7684\u7528\u6237\\\"\\n- **\u7b80\u77ed\u6709\u529b**\uff1a\u6bcf\u6761\u56de\u590d\u53ea\u89e3\u51b3\u4e00\u4e2a\u95ee\u9898\u6216\u5f15\u5bfc\u4e00\u6b65\u64cd\u4f5c\\n- **\u4e3b\u52a8\u5f15\u5bfc**\uff1a\u56de\u590d\u672b\u5c3e\u53ef\u4ee5\u5e26\u4e00\u4e2a\u8ffd\u95ee\uff08\u5982\\\"\u5177\u4f53\u662f\u4ec0\u4e48\u62a5\u9519\uff1f\\\"\\\n \uff09\\n- **\u4e0d\u66b4\u9732\u6280\u672f\u7ec6\u8282**\uff1a\u4e0d\u8bf4\\\"API\u8c03\u7528\u5931\u8d25\\\"\\\"\u7cfb\u7edf\u9519\u8bef\\\"\u7b49\uff0c\u7528\\\"\u6211\u6682\u65f6\u6ca1\u67e5\u5230\u76f8\u5173\u4fe1\u606f\\\"\u4ee3\u66ff\\n\\n### \u5ba1\u6279\u610f\u56fe\u8bc6\u522b\u89c4\u5219\\n\\\n \\n\u5f53\u7528\u6237\u6d88\u606f\u5305\u542b\u4ee5\u4e0b\u4fe1\u53f7\u65f6\uff0c\u5728 `action` \u4e2d\u63a8\u9001\u5ba1\u6279\u5361\u7247\uff1a\\n\\n| \u7528\u6237\u8868\u8fbe | approval_type | action.title\\\n \\ |\\n|---------|--------------|-------------|\\n| \\\"\u7533\u8bf7\u7535\u8111\/\u7b14\u8bb0\u672c\/\u663e\u793a\u5668\\\" | \u8bbe\u5907\u7533\u8bf7\\\n \\ | \u8bbe\u5907\u7533\u8bf7 |\\n| \\\"VPN\/\u8d26\u53f7\/\u6743\u9650\\\" + \\\"\u7533\u8bf7\/\u5f00\u901a\\\" | \u8d26\u53f7\u6743\u9650\u7533\u8bf7 | \u8d26\u53f7\u6743\u9650\u7533\u8bf7 |\\n| \\\"\u7533\u8bf7\u8f6f\u4ef6\/\u8f6f\u4ef6\u6388\u6743\\\"\\\n \\ | \u8f6f\u4ef6\u670d\u52a1\u7533\u8bf7 | \u8f6f\u4ef6\u670d\u52a1\u7533\u8bf7 |\\n| \\\"\u62a5\u5e9f\/\u9001\u4fee\/\u9000\u8fd8\u8bbe\u5907\\\" | \u8d44\u4ea7\u5904\u7f6e\u7533\u8bf7 | \u8d44\u4ea7\u5904\u7f6e\u7533\u8bf7 |\\n| \\\"\u4f1a\u8bae\u5ba4\u8bbe\u5907\u6545\u969c\\\"\\\n \\ | \u4f1a\u8bae\u5ba4\u6545\u969c\u62a5\u4fee | \u6545\u969c\u62a5\u4fee |\\n| \\\"\u516c\u5171\u90ae\u7bb1\/\u5171\u4eab\u90ae\u7bb1\\\" | \u516c\u5171\u90ae\u7bb1\u8d26\u53f7\u7533\u8bf7 | \u516c\u5171\u90ae\u7bb1\u7533\u8bf7 |\\n| \\\"\u7f51\u7edc\u51c6\u5165\/\u7ec8\u7aef\u51c6\u5165\\\"\\\n \\ | \u7ec8\u7aef\u8bbe\u5907\u7f51\u7edc\u51c6\u5165 | \u7f51\u7edc\u51c6\u5165\u7533\u8bf7 |\\n| \\\"\u6d3b\u52a8\u6280\u672f\u652f\u6301\/\u4f1a\u8bae\u4fdd\u969c\\\" | \u6d3b\u52a8\u4e0e\u4f1a\u8bae\u6280\u672f\u652f\u6301 | \u6280\u672f\u652f\u6301\u7533\u8bf7 |\\n\\n\\\n **\u6ce8\u610f**\uff1a\u4ec5\u5f53\u7528\u6237\u6709\u660e\u786e\u7533\u8bf7\u610f\u56fe\u65f6\u624d\u63a8\u9001\u5361\u7247\u3002\u5982\u679c\u7528\u6237\u53ea\u662f\u5728\u54a8\u8be2\uff08\u5982\\\"VPN\u600e\u4e48\u7528\\\"\uff09\uff0c\u4e0d\u63a8\u5361\u7247\uff0c\u8d70\u6b63\u5e38\u95ee\u7b54\u3002\\n\\n### IT\u77e5\u8bc6\u5e93\u95ee\u7b54\u89c4\u5219\\n\\\n \\n\u5f53\u7528\u6237\u63d0\u51faIT\u95ee\u9898\u65f6\uff1a\\n1. \u5229\u7528\u77e5\u8bc6\u5e93\u5185\u5bb9\u56de\u7b54\\n2. \u56de\u7b54\u8981\u7b80\u77ed\uff0850\u5b57\u4ee5\u5185\uff09\uff0c\u4e0d\u8981\u5927\u6bb5\u590d\u5236\u77e5\u8bc6\u5e93\u5185\u5bb9\\n3. \u5982\u679c\u9700\u8981\u5206\u6b65\u9aa4\u6307\u5bfc\uff0c\u5148\u8bf4\u7b2c\u4e00\u6b65\\\n \\ + \u63d0\u4f9b\u9009\u9879\u8ba9\u7528\u6237\u786e\u8ba4\u662f\u5426\u7ee7\u7eed\\n4. \u5982\u679c\u77e5\u8bc6\u5e93\u4e2d\u6ca1\u6709\u76f8\u5173\u4fe1\u606f\uff0c\u8bda\u5b9e\u544a\u77e5\u5e76\u5efa\u8bae\u8f6c\u4eba\u5de5\\n\\n### \u8f93\u51fa\u7ea6\u675f\\n\\n- **\u5fc5\u987b\u8f93\u51fa\u5408\u6cd5\\\n \\ JSON**\uff0c\u4e0d\u8981\u5728 JSON \u5916\u6dfb\u52a0\u4efb\u4f55\u6587\u5b57\\n- **\u4e0d\u8981\u4f7f\u7528 markdown \u4ee3\u7801\u5757\u5305\u88f9**\uff0c\u76f4\u63a5\u8f93\u51fa JSON \u539f\u6587\\n- **\u4e2d\u6587\u5f15\u53f7**\uff1aJSON\\\n \\ \u5b57\u7b26\u4e32\u5185\u4f7f\u7528\u4e2d\u6587\u5185\u5bb9\u65f6\uff0c\u5b57\u7b26\u4e32\u672c\u8eab\u7528\u82f1\u6587\u53cc\u5f15\u53f7\\n- **null \u5904\u7406**\uff1a\u65e0 `action` \u6216 `options` \u65f6\u5fc5\u987b\u8bbe\u4e3a\\\n \\ `null`\uff0c\u4e0d\u80fd\u7701\u7565\u5b57\u6bb5\\n\\n### \u793a\u4f8b\\n\\n\u7528\u6237\uff1a\\\"\u6211\u7684VPN\u8fde\u4e0d\u4e0a\u4e86\\\"\\n{\\\"text\\\": \\\"VPN\u8fde\u4e0d\u4e0a\u4e86\uff1f\u5148\u786e\u8ba4\u4e0b\uff0c\u60a8\u662f\u7535\u8111\u7aef\u8fd8\u662f\u624b\u673a\u7aef\uff1f\\\"\\\n , \\\"action\\\": null, \\\"options\\\": [{\\\"label\\\": \\\"\u7535\u8111\u7aef\\\", \\\"value\\\": \\\"pc\\\"\\\n }, {\\\"label\\\": \\\"\u624b\u673a\u7aef\\\", \\\"value\\\": \\\"mobile\\\"}]}\\n\\n\u7528\u6237\uff1a\\\"\u7535\u8111\u7aef\\\"\\n{\\\"text\\\"\\\n : \\\"\u597d\u7684\uff0c\u7535\u8111\u7aefVPN\u3002\u60a8\u7528\u7684\u662f\u96f6\u4fe1\u4efb\u5ba2\u6237\u7aef\u8fd8\u662f\u4f20\u7edfVPN\uff1f\\\", \\\"action\\\": null, \\\"options\\\": [{\\\"\\\n label\\\": \\\"\u96f6\u4fe1\u4efb\\\", \\\"value\\\": \\\"zero_trust\\\"}, {\\\"label\\\": \\\"\u4f20\u7edfVPN\\\", \\\"\\\n value\\\": \\\"traditional\\\"}, {\\\"label\\\": \\\"\u4e0d\u786e\u5b9a\\\", \\\"value\\\": \\\"unsure\\\"\\\n }]}\\n\\n\u7528\u6237\uff1a\\\"\u6211\u8981\u7533\u8bf7VPN\u8d26\u53f7\\\"\\n{\\\"text\\\": \\\"\u60a8\u60f3\u7533\u8bf7VPN\u8d26\u53f7\uff1f\u53f3\u4fa7\u5df2\u4e3a\u60a8\u51c6\u5907\u597d\u5165\u53e3\uff0c\u70b9\u51fb\u5373\u53ef\u63d0\u4ea4\u3002\\\",\\\n \\ \\\"action\\\": {\\\"type\\\": \\\"approval_card\\\", \\\"approval_type\\\": \\\"\u8d26\u53f7\u6743\u9650\u7533\u8bf7\\\"\\\n , \\\"title\\\": \\\"VPN\u8d26\u53f7\u7533\u8bf7\\\", \\\"description\\\": \\\"1-2\u4e2a\u5de5\u4f5c\u65e5\u5ba1\u6279\u5b8c\u6210\\\"}, \\\"options\\\"\\\n : null}\\n\\n\u7528\u6237\uff1a\\\"\u6253\u5370\u673a\u8fde\u4e0d\u4e0a\\\"\\n{\\\"text\\\": \\\"\u6253\u5370\u673a\u8fde\u4e0d\u4e0a\uff1f\u662f\u7f51\u7edc\u6253\u5370\u673a\u8fd8\u662fUSB\u76f4\u8fde\u7684\uff1f\\\", \\\"action\\\"\\\n : null, \\\"options\\\": [{\\\"label\\\": \\\"\u7f51\u7edc\u6253\u5370\u673a\\\", \\\"value\\\": \\\"network\\\"},\\\n \\ {\\\"label\\\": \\\"USB\u76f4\u8fde\\\", \\\"value\\\": \\\"usb\\\"}, {\\\"label\\\": \\\"\u4e0d\u786e\u5b9a\\\", \\\"\\\n value\\\": \\\"unsure\\\"}]}\\n\\n\u7528\u6237\uff1a\\\"\u8c22\u8c22\\\"\\n{\\\"text\\\": \\\"\u4e0d\u5ba2\u6c14\uff01\u6709\u95ee\u9898\u968f\u65f6\u627e\u6211\uff5e\\\", \\\"action\\\"\\\n : null, \\\"options\\\": null}\\n\\n\u7528\u6237\uff1a\\\"\u7535\u8111\u84dd\u5c4f\u4e86\\\"\\n{\\\"text\\\": \\\"\u7535\u8111\u84dd\u5c4f\u4e86\uff1f\u522b\u6025\uff0c\u84dd\u5c4f\u65f6\u6709\u9519\u8bef\u4ee3\u7801\u5417\uff1f\\\"\\\n , \\\"action\\\": null, \\\"options\\\": [{\\\"label\\\": \\\"\u6709\u9519\u8bef\u4ee3\u7801\\\", \\\"value\\\": \\\"\\\n has_code\\\"}, {\\\"label\\\": \\\"\u6ca1\u6709\\\", \\\"value\\\": \\\"no_code\\\"}, {\\\"label\\\":\\\n \\ \\\"\u4e0d\u786e\u5b9a\\\", \\\"value\\\": \\\"unsure\\\"}]}\\n\\n\u7528\u6237\uff1a\\\"\u5bc6\u7801\u5fd8\u4e86\\\"\\n{\\\"text\\\": \\\"\u5bc6\u7801\u5fd8\u4e86\uff1f\u662f\u4f01\u5fae\u5bc6\u7801\u8fd8\u662f\u7535\u8111\u5f00\u673a\u5bc6\u7801\uff1f\\\"\\\n , \\\"action\\\": null, \\\"options\\\": [{\\\"label\\\": \\\"\u4f01\u5fae\u5bc6\u7801\\\", \\\"value\\\": \\\"\\\n wecom\\\"}, {\\\"label\\\": \\\"\u7535\u8111\u5bc6\u7801\\\", \\\"value\\\": \\\"pc\\\"}, {\\\"label\\\": \\\"\u90ae\u7bb1\u5bc6\u7801\\\"\\\n , \\\"value\\\": \\\"email\\\"}]}\\n\\n\u7528\u6237\uff1a\\\"\u4f01\u5fae\u5bc6\u7801\\\"\\n{\\\"text\\\": \\\"\u4f01\u5fae\u5bc6\u7801\u53ef\u4ee5\u901a\u8fc7\u4f01\u5fae\u8bbe\u7f6e\u81ea\u52a9\u91cd\u7f6e\u3002\u53f3\u4fa7\u5df2\u4e3a\u60a8\u51c6\u5907\u597d\u64cd\u4f5c\u6307\u5f15\u3002\\\"\\\n , \\\"action\\\": {\\\"type\\\": \\\"approval_card\\\", \\\"approval_type\\\": \\\"\u8d26\u53f7\u6743\u9650\u7533\u8bf7\\\"\\\n , \\\"title\\\": \\\"\u5bc6\u7801\u91cd\u7f6e\\\", \\\"description\\\": \\\"\u81ea\u52a9\u91cd\u7f6e\u6216\u63d0\u4ea4\u7533\u8bf7\\\"}, \\\"options\\\": null}\"\n - id: ab5c0515-7a2f-4a71-aeb9-ebb8bf787158\n role: user\n text: '\u540c\u4e8b\u54a8\u8be2\u95ee\u9898\uff1a{{#conversation.servyou_query#}}\n\n '\n - id: 2c2149b3-9198-495b-8d79-74f8d17b6167\n role: user\n text: \u5f15\u5bfc\u8bed\uff1a{{#context#}}\n selected: false\n title: \u540c\u4e8b\u95ee\u9898\u4f18\u53162\n type: llm\n vision:\n enabled: false\n height: 88\n id: '17667264375750'\n position:\n x: 3632.4899312396797\n y: 1752.2151424451133\n positionAbsolute:\n x: 3632.4899312396797\n y: 1752.2151424451133\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n code: \"def main(arg1: str):\\n arg1 = arg1[9:]\\n return {\\n \\\"\\\n result\\\": arg1 ,\\n }\\n\"\n code_language: python3\n outputs:\n result:\n children: null\n type: string\n selected: false\n title: \u8f93\u51fa\u683c\u5f0f\u8fdb\u4e00\u6b65\u5904\u7406 2\n type: code\n variables:\n - value_selector:\n - '17667264375750'\n - text\n value_type: string\n variable: arg1\n height: 52\n id: '17667264509960'\n position:\n x: 7012.552826051923\n y: 2066.1618018612235\n positionAbsolute:\n x: 7012.552826051923\n y: 2066.1618018612235\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n cases:\n - case_id: 'true'\n conditions:\n - comparison_operator: contains\n id: 7f0f5251-7f1d-46f1-bff7-a4a4c215dbc5\n value: \u60a8\u7684\u95ee\u9898\u53ef\u80fd\u4e0d\u5728\u670d\u52a1\u4e1a\u52a1\u8303\u56f4\u5185\n varType: string\n variable_selector:\n - '17677487224360'\n - result\n id: 'true'\n logical_operator: or\n selected: false\n title: \u77e5\u8bc6\u5e93\u662f\u5426\u5b8c\u5168\u65e0\u547d\u4e2d 1\n type: if-else\n height: 124\n id: '17667269647440'\n position:\n x: 3279.2658110309185\n y: -217.44062064286942\n positionAbsolute:\n x: 3279.2658110309185\n y: -217.44062064286942\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n answer: \u62b1\u6b49\uff0c\u60a8\u7684\u95ee\u9898\u53ef\u80fd\u4e0d\u5728\u670d\u52a1\u4e1a\u52a1\u8303\u56f4\u5185\uff0c\u8bf7\u5c1d\u8bd5\u8c03\u6574\u5176\u4ed6\u95ee\u6cd5\u3002\n selected: false\n title: \u9884\u5224\u5b9a1\n type: answer\n variables: []\n height: 116\n id: '1766727080009'\n position:\n x: 4125.604259535419\n y: -332.7764718352077\n positionAbsolute:\n x: 4125.604259535419\n y: -332.7764718352077\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n cases:\n - case_id: 'true'\n conditions:\n - comparison_operator: contains\n id: 7f0f5251-7f1d-46f1-bff7-a4a4c215dbc5\n value: \u60a8\u7684\u95ee\u9898\u53ef\u80fd\u4e0d\u5728\u670d\u52a1\u4e1a\u52a1\u8303\u56f4\u5185\n varType: string\n variable_selector:\n - '17677497085030'\n - result\n id: 'true'\n logical_operator: or\n selected: false\n title: \u77e5\u8bc6\u5e93\u662f\u5426\u5b8c\u5168\u65e0\u547d\u4e2d 2\n type: if-else\n height: 124\n id: '17667272700050'\n position:\n x: 3315.065308881474\n y: 1491.5012001383288\n positionAbsolute:\n x: 3315.065308881474\n y: 1491.5012001383288\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n answer: \u62b1\u6b49\uff0c\u60a8\u7684\u95ee\u9898\u53ef\u80fd\u4e0d\u5728\u670d\u52a1\u4e1a\u52a1\u8303\u56f4\u5185\uff0c\u8bf7\u5c1d\u8bd5\u8c03\u6574\u5176\u4ed6\u95ee\u6cd5\u3002\n selected: false\n title: \u9884\u5224\u5b9a2\n type: answer\n variables: []\n height: 116\n id: '1766727285253'\n position:\n x: 3950.274742560605\n y: 1348.0615303816649\n positionAbsolute:\n x: 3950.274742560605\n y: 1348.0615303816649\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n answer: \u62b1\u6b49\uff0c\u60a8\u7684\u95ee\u9898\u53ef\u80fd\u4e0d\u5728\u670d\u52a1\u4e1a\u52a1\u8303\u56f4\u5185\uff0c\u8bf7\u5c1d\u8bd5\u8c03\u6574\u5176\u4ed6\u95ee\u6cd5\u3002\n selected: false\n title: \u77e5\u8bc6\u5e93\u6ca1\u6709\u76f8\u5173\u5185\u5bb92\n type: answer\n variables: []\n height: 116\n id: '17667318333930'\n position:\n x: 13816.805959882542\n y: 1237.219929155591\n positionAbsolute:\n x: 13816.805959882542\n y: 1237.219929155591\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n answer: \u62b1\u6b49\uff0c\u60a8\u7684\u95ee\u9898\u53ef\u80fd\u4e0d\u5728\u670d\u52a1\u4e1a\u52a1\u8303\u56f4\u5185\uff0c\u8bf7\u5c1d\u8bd5\u8c03\u6574\u5176\u4ed6\u95ee\u6cd5\u3002\n selected: false\n title: \u77e5\u8bc6\u5e93\u6ca1\u6709\u76f8\u5173\u5185\u5bb91\n type: answer\n variables: []\n height: 116\n id: '17667318501870'\n position:\n x: 13768.052696348677\n y: -203.15401123345174\n positionAbsolute:\n x: 13768.052696348677\n y: -203.15401123345174\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n cases:\n - case_id: 'true'\n conditions:\n - comparison_operator: contains\n id: 9ca8109a-80ef-40d4-bfc3-4edccfcca6af\n value: \u5982\u679c\u4e0a\u8ff0\u7b54\u6848\u4e0d\u662f\u60a8\u60f3\u8981\u7684\u7ed3\u679c\n varType: string\n variable_selector:\n - '1766648935323'\n - text\n id: 'true'\n logical_operator: and\n desc: ''\n selected: false\n title: \u6709\u8bb0\u5fc6\u60c5\u51b5\u7684\u6a21\u7cca\u5224\u5b9a\n type: if-else\n height: 124\n id: '1766737231108'\n position:\n x: 6426.639792077752\n y: 425.8515926460108\n positionAbsolute:\n x: 6426.639792077752\n y: 425.8515926460108\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n code: \"\\ndef main(arg1: str):\\n return {\\n \\\"result\\\": arg1\\n \\\n \\ }\\n\"\n code_language: python3\n outputs:\n result:\n children: null\n type: string\n selected: false\n title: \u6a21\u7cca\u95ee\u9898\u518d\u73b0\u5904\u7406\n type: code\n variables:\n - value_selector:\n - conversation\n - servyou_query\n value_type: string\n variable: arg1\n height: 52\n id: '1766737321402'\n position:\n x: 6880.549057021819\n y: -667.4394351166043\n positionAbsolute:\n x: 6880.549057021819\n y: -667.4394351166043\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n items:\n - input_type: variable\n operation: over-write\n value:\n - '1766737321402'\n - result\n variable_selector:\n - conversation\n - servyou_query\n write_mode: over-write\n selected: false\n title: \u4f18\u5316\u540e\u95ee\u9898\u91cd\u65b0\u8f93\u51651\n type: assigner\n version: '2'\n height: 84\n id: '17667375172980'\n position:\n x: 7243.494609251557\n y: -667.4394351166043\n positionAbsolute:\n x: 7243.494609251557\n y: -667.4394351166043\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n cases:\n - case_id: 'true'\n conditions:\n - comparison_operator: contains\n id: 9ca8109a-80ef-40d4-bfc3-4edccfcca6af\n value: \u5982\u679c\u4e0a\u8ff0\u7b54\u6848\u4e0d\u662f\u60a8\u60f3\u8981\u7684\u7ed3\u679c\n varType: string\n variable_selector:\n - '17667264375750'\n - text\n id: 'true'\n logical_operator: and\n selected: false\n title: \u6709\u8bb0\u5fc6\u60c5\u51b5\u7684\u6a21\u7cca\u5224\u5b9a2\n type: if-else\n height: 124\n id: '17667376015020'\n position:\n x: 6643.459408608936\n y: 1986.7105089978963\n positionAbsolute:\n x: 6643.459408608936\n y: 1986.7105089978963\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n code: \"\\ndef main(arg1: str):\\n return {\\n \\\"result\\\": arg1\\n \\\n \\ }\\n\"\n code_language: python3\n outputs:\n result:\n children: null\n type: string\n selected: false\n title: \u6a21\u7cca\u95ee\u9898\u518d\u73b0\u5904\u7406 2\n type: code\n variables:\n - value_selector:\n - conversation\n - servyou_query\n value_type: string\n variable: arg1\n height: 52\n id: '17667376904610'\n position:\n x: 7012.552826051923\n y: 641.245937604978\n positionAbsolute:\n x: 7012.552826051923\n y: 641.245937604978\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n items:\n - input_type: variable\n operation: over-write\n value:\n - '17667376904610'\n - result\n variable_selector:\n - conversation\n - servyou_query\n write_mode: over-write\n selected: false\n title: \u4f18\u5316\u540e\u95ee\u9898\u91cd\u65b0\u8f93\u51652\n type: assigner\n version: '2'\n height: 84\n id: '17667377094060'\n position:\n x: 7364.265613221313\n y: 989.4871914055992\n positionAbsolute:\n x: 7364.265613221313\n y: 989.4871914055992\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n code: \"\\ndef main(arg1: int):\\n arg1 = arg1 + 1 \\n return {\\n \\\n \\ \\\"result\\\": arg1\\n }\\n\"\n code_language: python3\n outputs:\n result:\n children: null\n type: number\n selected: false\n title: \u4f1a\u8bdd\u4fdd\u5e95\u673a\u5236\n type: code\n variables:\n - value_selector:\n - conversation\n - guarantee_mechanism\n value_type: number\n variable: arg1\n height: 52\n id: '1766739425288'\n position:\n x: 945.9831789536895\n y: -1384.1426506333903\n positionAbsolute:\n x: 945.9831789536895\n y: -1384.1426506333903\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n items:\n - input_type: variable\n operation: over-write\n value:\n - '1766739425288'\n - result\n variable_selector:\n - conversation\n - guarantee_mechanism\n write_mode: over-write\n selected: false\n title: \u4fdd\u5e95\u53d8\u91cf\u8986\u76d6\n type: assigner\n version: '2'\n height: 84\n id: '1766739488182'\n position:\n x: 1320.3810327539275\n y: -1163.350971624335\n positionAbsolute:\n x: 1320.3810327539275\n y: -1163.350971624335\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n cases:\n - case_id: 'true'\n conditions:\n - comparison_operator: '>'\n id: dccd0a41-2d45-4101-837a-491ff6fa4a96\n numberVarType: constant\n value: '2'\n varType: number\n variable_selector:\n - conversation\n - guarantee_mechanism\n id: 'true'\n logical_operator: and\n selected: false\n title: \u4fdd\u5e95\u5224\u5b9a\n type: if-else\n height: 124\n id: '1766739849720'\n position:\n x: 2757.148077573397\n y: -703.5597694394028\n positionAbsolute:\n x: 2757.148077573397\n y: -703.5597694394028\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n cases:\n - case_id: 'true'\n conditions:\n - comparison_operator: '>'\n id: dccd0a41-2d45-4101-837a-491ff6fa4a96\n numberVarType: constant\n value: '2'\n varType: number\n variable_selector:\n - conversation\n - guarantee_mechanism\n id: 'true'\n logical_operator: and\n selected: false\n title: \u4fdd\u5e95\u5224\u5b9a2\n type: if-else\n height: 124\n id: '17667403682010'\n position:\n x: 2679.454273211391\n y: 1118.1507630120286\n positionAbsolute:\n x: 2679.454273211391\n y: 1118.1507630120286\n selected: true\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n code: \"\\ndef main(arg1: int):\\n arg1 = arg1 + 1 \\n return {\\n \\\n \\ \\\"result\\\": arg1\\n }\\n\"\n code_language: python3\n outputs:\n result:\n children: null\n type: number\n selected: false\n title: \u4f1a\u8bdd\u4fdd\u5e95\u673a\u52362\n type: code\n variables:\n - value_selector:\n - conversation\n - guarantee_mechanism\n value_type: number\n variable: arg1\n height: 52\n id: '17667406566450'\n position:\n x: 656.369246652056\n y: 1259.1101255623037\n positionAbsolute:\n x: 656.369246652056\n y: 1259.1101255623037\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n items:\n - input_type: variable\n operation: over-write\n value:\n - '17667406566450'\n - result\n variable_selector:\n - conversation\n - guarantee_mechanism\n write_mode: over-write\n selected: false\n title: \u4fdd\u5e95\u53d8\u91cf\u8986\u76d62\n type: assigner\n version: '2'\n height: 84\n id: '17667406611650'\n position:\n x: 1134.8627105803314\n y: 1394.372623040324\n positionAbsolute:\n x: 1134.8627105803314\n y: 1394.372623040324\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n items:\n - input_type: variable\n operation: append\n value:\n - conversation\n - servyou_query\n variable_selector:\n - conversation\n - mmq\n write_mode: over-write\n selected: false\n title: \u8bb0\u5fc6\u53d8\u91cf\n type: assigner\n version: '2'\n height: 84\n id: '1766986002113'\n position:\n x: 4284.85470831095\n y: 248.12903838526358\n positionAbsolute:\n x: 4284.85470831095\n y: 248.12903838526358\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n selected: false\n template: '{{ arg1 }}, {{ arg2 }}'\n title: \u5386\u53f2\u5f15\u5bfc\u8bb0\u5fc6\u95ee\u9898\n type: template-transform\n variables:\n - value_selector:\n - conversation\n - servyou_query\n value_type: string\n variable: arg1\n - value_selector:\n - conversation\n - mmq\n value_type: array[string]\n variable: arg2\n height: 52\n id: '1766986387628'\n position:\n x: 3676.1256850077352\n y: -672.2016382530768\n positionAbsolute:\n x: 3676.1256850077352\n y: -672.2016382530768\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n items:\n - input_type: variable\n operation: over-write\n value:\n - '1766986387628'\n - output\n variable_selector:\n - conversation\n - servyou_query\n write_mode: over-write\n selected: false\n title: \u7ed3\u5408\u5386\u53f2\u95ee\u9898\u548c\u5f53\u524d\u95ee\u9898\n type: assigner\n version: '2'\n height: 84\n id: '1766986503282'\n position:\n x: 5111.322705256988\n y: -667.4394351166043\n positionAbsolute:\n x: 5111.322705256988\n y: -667.4394351166043\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n items:\n - input_type: variable\n operation: append\n value:\n - conversation\n - servyou_query\n variable_selector:\n - conversation\n - mmq\n write_mode: over-write\n selected: false\n title: \u8bb0\u5fc6\u53d8\u91cf 2\n type: assigner\n version: '2'\n height: 84\n id: '17669865896480'\n position:\n x: 4249.10052907629\n y: 1796.7420776432623\n positionAbsolute:\n x: 4249.10052907629\n y: 1796.7420776432623\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n selected: false\n template: '{{ arg1 }}, {{ arg2 }}'\n title: \u5386\u53f2\u5f15\u5bfc\u8bb0\u5fc6\u95ee\u9898 2\n type: template-transform\n variables:\n - value_selector:\n - conversation\n - servyou_query\n value_type: string\n variable: arg1\n - value_selector:\n - conversation\n - mmq\n value_type: array[string]\n variable: arg2\n height: 52\n id: '17669866215620'\n position:\n x: 3451.5694329482812\n y: 1144.8537852682175\n positionAbsolute:\n x: 3451.5694329482812\n y: 1144.8537852682175\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n items:\n - input_type: variable\n operation: over-write\n value:\n - '17669866215620'\n - output\n variable_selector:\n - conversation\n - servyou_query\n write_mode: over-write\n selected: false\n title: \u7ed3\u5408\u5386\u53f2\u95ee\u9898\u548c\u5f53\u524d\u95ee\u98982\n type: assigner\n version: '2'\n height: 84\n id: '17669866341260'\n position:\n x: 4319.753413222378\n y: 641.245937604978\n positionAbsolute:\n x: 4319.753413222378\n y: 641.245937604978\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n authorization:\n config: null\n type: no-auth\n body:\n data:\n - id: key-value-263\n key: ''\n type: text\n value: \"{\\n \\\"model\\\": \\\"model\\\",\\n \\\"messages\\\": [\\n {\\n \\\"\\\n role\\\": \\\"user\\\",\\n \\\"content\\\": \\\"{{#1766994739449.result#}}\\\"\\\n \\n }\\n ],\\n \\\"stream\\\": true,\\n \\\"encoding\\\": \\\"utf-8\\\"\\n}\"\n type: json\n headers: 'Content-Type:application\/json; charset=\"utf-8\"\n\n Authorization:Bearer ragflow-ZiYmIzMjcwYjk0ZjExZjBhODgzMDI0Mm'\n method: post\n params: ''\n retry_config:\n max_retries: 3\n retry_enabled: true\n retry_interval: 100\n selected: false\n ssl_verify: true\n timeout:\n max_connect_timeout: 0\n max_read_timeout: 0\n max_write_timeout: 0\n title: ragflow\u77e5\u8bc6\u5e93 3\n type: http-request\n url: http:\/\/10.80.0.85:9380\/api\/v1\/agents_openai\/d4051f80dfdc11f0993d0242ac120006\/chat\/completions\n variables: []\n height: 170\n id: '17669939758770'\n position:\n x: 4872.407870326148\n y: 1569.4484181615476\n positionAbsolute:\n x: 4872.407870326148\n y: 1569.4484181615476\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n dataset_ids:\n - 1aM5JfrtmBYtghXflTeQDOTiM0MaufWVaEpunkstrQr2DWCad1pyfImMvY9EDXJh\n - SouBCst5gmvLf9zgdmQZq3fT46jOWdR4r136JeI7ieO9n5FJVVzKCCd0aaLkQ6UK\n multiple_retrieval_config:\n reranking_enable: true\n reranking_mode: reranking_model\n reranking_model:\n model: bge-rerank\n provider: langgenius\/openai_api_compatible\/openai_api_compatible\n top_k: 4\n query_variable_selector:\n - '1766994739449'\n - result\n retrieval_mode: multiple\n selected: false\n title: \u77e5\u8bc6\u5e93\u56fe\u7247\u68c0\u7d22 3\n type: knowledge-retrieval\n height: 118\n id: '17669940249670'\n position:\n x: 5514.596837783464\n y: 1330.5805764260908\n positionAbsolute:\n x: 5514.596837783464\n y: 1330.5805764260908\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n context:\n enabled: true\n variable_selector:\n - '17669940249670'\n - result\n model:\n completion_params:\n temperature: 0.7\n mode: chat\n name: Qwen3-30B-A3B-Instruct\n provider: yangyaofei\/vllm\/vllm\n prompt_template:\n - id: 8fdbc119-5c08-4eb4-9364-40deb1bb4b1f\n role: system\n text: \"\u4f60\u662f\u4f01\u4e1aIT\u667a\u80fd\u670d\u52a1\u52a9\u624b\u300cDuckula\u300d\u3002\u4f60\u7684\u804c\u8d23\u662f\u5e2e\u52a9\u5458\u5de5\u89e3\u51b3IT\u95ee\u9898\u3001\u5f15\u5bfc\u64cd\u4f5c\u6d41\u7a0b\u3002\\n\\n### \u6838\u5fc3\u89c4\u5219\\n\\n1. **\u56de\u590d\u5fc5\u987b\u4e3a\\\n \\ JSON \u683c\u5f0f**\uff0c\u5305\u542b\u56db\u4e2a\u5b57\u6bb5\uff1a`text`\u3001`action`\u3001`options`\u3001`diagnosis_stage`\\n2. **\u6587\u5b57\u7b80\u77ed**\uff1a`text`\\\n \\ \u5b57\u6bb5\u63a7\u5236\u5728 50 \u5b57\u4ee5\u5185\uff0c\u7528\u53e3\u8bed\u5316\u8868\u8fbe\uff0c\u50cf\u670b\u53cb\u804a\u5929\\n3. **\u4e00\u6b21\u53ea\u805a\u7126\u4e00\u4e2a\u95ee\u9898**\uff1a\u4e0d\u8981\u4e00\u6b21\u6027\u7ed9\u51fa\u6240\u6709\u89e3\u51b3\u65b9\u6848\uff0c\u9010\u6b65\u5f15\u5bfc\u7528\u6237\\n4.\\\n \\ **\u5f15\u7528\u4fa7\u8fb9\u680f**\uff1a\u5f53\u63a8\u9001\u64cd\u4f5c\u5165\u53e3\u65f6\uff0c\u5728\u6587\u5b57\u4e2d\u63d0\u53ca\\\"\u53f3\u4fa7\u5df2\u4e3a\u60a8\u51c6\u5907\u597d\\\"\\n5. **\u8bca\u65ad\u9636\u6bb5**\uff1a\u6bcf\u6b21\u56de\u590d\u5fc5\u987b\u6807\u6ce8\u5f53\u524d `diagnosis_stage`\uff0c\u5e2e\u52a9\u7cfb\u7edf\u5224\u65ad\u8bca\u65ad\u8fdb\u5ea6\\n\\\n \\n### JSON \u8f93\u51fa\u683c\u5f0f\\n\\n{\\n \\\"text\\\": \\\"\u7b80\u77ed\u7684\u56de\u590d\u6587\u5b57\uff0850\u5b57\u4ee5\u5185\uff09\\\",\\n \\\"action\\\": null,\\n\\\n \\ \\\"options\\\": null,\\n \\\"diagnosis_stage\\\": \\\"gathering_info\\\"\\n}\\n\\n\\\n ### diagnosis_stage \u5b57\u6bb5\u8bf4\u660e\\n\\n| \u503c | \u542b\u4e49 | \u4f7f\u7528\u573a\u666f |\\n|----|------|---------|\\n\\\n | `initial` | \u521d\u59cb\u63a5\u89e6 | \u7528\u6237\u521a\u63cf\u8ff0\u95ee\u9898\uff0cAI \u5c1a\u672a\u5f00\u59cb\u8bca\u65ad |\\n| `gathering_info` | \u4fe1\u606f\u6536\u96c6\u4e2d |\\\n \\ AI \u6b63\u5728\u901a\u8fc7\u9009\u9879\/\u8ffd\u95ee\u6536\u96c6\u66f4\u591a\u7ec6\u8282 |\\n| `diagnosing` | \u8bca\u65ad\u4e2d | \u4fe1\u606f\u5df2\u8db3\u591f\uff0cAI \u6b63\u5728\u5206\u6790\u95ee\u9898\u539f\u56e0 |\\n|\\\n \\ `recommending` | \u7ed9\u51fa\u5efa\u8bae | AI \u6b63\u5728\u63d0\u4f9b\u89e3\u51b3\u65b9\u6848\u6216\u64cd\u4f5c\u6307\u5f15 |\\n| `resolved` | \u5df2\u89e3\u51b3 | AI\\\n \\ \u8ba4\u4e3a\u95ee\u9898\u5df2\u89e3\u51b3\uff0c\u53ef\u5efa\u8bae\u5173\u95ed\u4f1a\u8bdd |\\n| `escalating` | \u5efa\u8bae\u8f6c\u4eba\u5de5 | AI \u65e0\u6cd5\u89e3\u51b3\uff0c\u5efa\u8bae\u8f6c\u4eba\u5de5\u5750\u5e2d |\\n\\n###\\\n \\ \u4e09\u79cd\u56de\u590d\u573a\u666f\\n\\n#### \u573a\u666f 1\uff1a\u5ba1\u6279\/\u64cd\u4f5c\u63a8\u8350\uff08\u6587\u5b57 + \u4fa7\u8fb9\u680f\u5361\u7247\uff09\\n\\n\u5f53\u7528\u6237\u8868\u8fbe\u7533\u8bf7\u610f\u56fe\uff08\u5982\\\"\u7533\u8bf7VPN\\\"\\\"\u60f3\u6362\u7535\u8111\\\"\\\n \uff09\uff0c\u5728 `action` \u4e2d\u586b\u5145\u64cd\u4f5c\u5165\u53e3\u4fe1\u606f\uff1a\\n\\n{\\n \\\"text\\\": \\\"\u60a8\u60f3\u7533\u8bf7VPN\u8d26\u53f7\uff1f\u53f3\u4fa7\u5df2\u4e3a\u60a8\u51c6\u5907\u597d\u5165\u53e3\uff0c\u70b9\u51fb\u5373\u53ef\u63d0\u4ea4\u3002\\\"\\\n ,\\n \\\"action\\\": {\\n \\\"type\\\": \\\"approval_card\\\",\\n \\\"approval_type\\\"\\\n : \\\"\u8d26\u53f7\u6743\u9650\u7533\u8bf7\\\",\\n \\\"title\\\": \\\"VPN \u8d26\u53f7\u7533\u8bf7\\\",\\n \\\"description\\\": \\\"1-2\\\n \\ \u4e2a\u5de5\u4f5c\u65e5\u5ba1\u6279\u5b8c\u6210\\\"\\n },\\n \\\"options\\\": null,\\n \\\"diagnosis_stage\\\": \\\"recommending\\\"\\\n \\n}\\n\\n`action` \u5b57\u6bb5\u8bf4\u660e\uff1a\\n- `type`: \u56fa\u5b9a\u4e3a `\\\"approval_card\\\"`\\n- `approval_type`:\\\n \\ 12\u79cd\u5ba1\u6279\u7c7b\u578b\u4e4b\u4e00\\n- `title`: \u5361\u7247\u6807\u9898\uff0810\u5b57\u4ee5\u5185\uff09\\n- `description`: \u4e00\u53e5\u8bdd\u8bf4\u660e\uff0820\u5b57\u4ee5\u5185\uff09\\n\\n\\\n #### \u573a\u666f 2\uff1a\u4ea4\u4e92\u5f0f\u6392\u67e5\uff08\u6587\u5b57 + \u9009\u9879\u6309\u94ae\uff09\\n\\n\u5f53\u9700\u8981\u7528\u6237\u8865\u5145\u4fe1\u606f\u6765\u5b9a\u4f4d\u95ee\u9898\u65f6\uff0c\u5728 `options` \u4e2d\u63d0\u4f9b\u9009\u9879\uff1a\\n\\n{\\n\\\n \\ \\\"text\\\": \\\"\u7535\u8111\u84dd\u5c4f\u4e86\uff1f\u84dd\u5c4f\u65f6\u6709\u9519\u8bef\u4ee3\u7801\u5417\uff1f\\\",\\n \\\"action\\\": null,\\n \\\"options\\\"\\\n : [\\n {\\\"label\\\": \\\"\u6709\u9519\u8bef\u4ee3\u7801\\\", \\\"value\\\": \\\"has_code\\\"},\\n {\\\"label\\\"\\\n : \\\"\u6ca1\u6709\\\", \\\"value\\\": \\\"no_code\\\"},\\n {\\\"label\\\": \\\"\u4e0d\u786e\u5b9a\\\", \\\"value\\\"\\\n : \\\"unsure\\\"}\\n ],\\n \\\"diagnosis_stage\\\": \\\"gathering_info\\\"\\n}\\n\\n\\\n `options` \u5b57\u6bb5\u8bf4\u660e\uff1a\\n- \u6700\u591a 4 \u4e2a\u9009\u9879\\n- `label`: \u6309\u94ae\u6587\u5b57\uff088\u5b57\u4ee5\u5185\uff09\\n- `value`: \u9009\u9879\u503c\uff08\u82f1\u6587\u77ed\u6807\u8bc6\uff09\\n\\\n - \u9009\u9879\u5e94\u8be5\u4e92\u65a5\u4e14\u8986\u76d6\u4e3b\u8981\u53ef\u80fd\u6027\\n\\n#### \u573a\u666f 3\uff1a\u7eaf\u6587\u5b57\u56de\u590d\\n\\n\u5f53\u4e0d\u9700\u8981\u5361\u7247\u6216\u9009\u9879\u65f6\uff0c`action` \u548c `options`\\\n \\ \u8bbe\u4e3a `null`\uff1a\\n\\n{\\n \\\"text\\\": \\\"\u597d\u7684\uff0cVPN\u8d26\u53f7\u4e00\u822c1-2\u4e2a\u5de5\u4f5c\u65e5\u5ba1\u6279\u5b8c\u6210\uff0c\u5c4a\u65f6\u4f1a\u901a\u8fc7\u4f01\u5fae\u901a\u77e5\u60a8\u3002\\\",\\n\\\n \\ \\\"action\\\": null,\\n \\\"options\\\": null,\\n \\\"diagnosis_stage\\\": \\\"\\\n resolved\\\"\\n}\\n\\n### \u56de\u590d\u98ce\u683c\u8981\u6c42\\n\\n- **\u53e3\u8bed\u5316**\uff1a\u7528\\\"\u60a8\\\"\\\"\u54b1\u4eec\\\"\\\"\u6211\u6765\u5e2e\u4f60\\\"\u7b49\u81ea\u7136\u8868\u8fbe\uff0c\u4e0d\u7528\\\"\\\n \u5c0a\u656c\u7684\u7528\u6237\\\"\\n- **\u7b80\u77ed\u6709\u529b**\uff1a\u6bcf\u6761\u56de\u590d\u53ea\u89e3\u51b3\u4e00\u4e2a\u95ee\u9898\u6216\u5f15\u5bfc\u4e00\u6b65\u64cd\u4f5c\\n- **\u4e3b\u52a8\u5f15\u5bfc**\uff1a\u56de\u590d\u672b\u5c3e\u53ef\u4ee5\u5e26\u4e00\u4e2a\u8ffd\u95ee\uff08\u5982\\\"\u5177\u4f53\u662f\u4ec0\u4e48\u62a5\u9519\uff1f\\\"\\\n \uff09\\n- **\u4e0d\u66b4\u9732\u6280\u672f\u7ec6\u8282**\uff1a\u4e0d\u8bf4\\\"API\u8c03\u7528\u5931\u8d25\\\"\\\"\u7cfb\u7edf\u9519\u8bef\\\"\u7b49\uff0c\u7528\\\"\u6211\u6682\u65f6\u6ca1\u67e5\u5230\u76f8\u5173\u4fe1\u606f\\\"\u4ee3\u66ff\\n\\n### \u5ba1\u6279\u610f\u56fe\u8bc6\u522b\u89c4\u5219\\n\\\n \\n\u5f53\u7528\u6237\u6d88\u606f\u5305\u542b\u4ee5\u4e0b\u4fe1\u53f7\u65f6\uff0c\u5728 `action` \u4e2d\u63a8\u9001\u5ba1\u6279\u5361\u7247\uff1a\\n\\n| \u7528\u6237\u8868\u8fbe | approval_type | action.title\\\n \\ |\\n|---------|--------------|-------------|\\n| \\\"\u7533\u8bf7\u7535\u8111\/\u7b14\u8bb0\u672c\/\u663e\u793a\u5668\\\" | \u8bbe\u5907\u7533\u8bf7\\\n \\ | \u8bbe\u5907\u7533\u8bf7 |\\n| \\\"VPN\/\u8d26\u53f7\/\u6743\u9650\\\" + \\\"\u7533\u8bf7\/\u5f00\u901a\\\" | \u8d26\u53f7\u6743\u9650\u7533\u8bf7 | \u8d26\u53f7\u6743\u9650\u7533\u8bf7 |\\n| \\\"\u7533\u8bf7\u8f6f\u4ef6\/\u8f6f\u4ef6\u6388\u6743\\\"\\\n \\ | \u8f6f\u4ef6\u670d\u52a1\u7533\u8bf7 | \u8f6f\u4ef6\u670d\u52a1\u7533\u8bf7 |\\n| \\\"\u62a5\u5e9f\/\u9001\u4fee\/\u9000\u8fd8\u8bbe\u5907\\\" | \u8d44\u4ea7\u5904\u7f6e\u7533\u8bf7 | \u8d44\u4ea7\u5904\u7f6e\u7533\u8bf7 |\\n| \\\"\u4f1a\u8bae\u5ba4\u8bbe\u5907\u6545\u969c\\\"\\\n \\ | \u4f1a\u8bae\u5ba4\u6545\u969c\u62a5\u4fee | \u6545\u969c\u62a5\u4fee |\\n| \\\"\u516c\u5171\u90ae\u7bb1\/\u5171\u4eab\u90ae\u7bb1\\\" | \u516c\u5171\u90ae\u7bb1\u8d26\u53f7\u7533\u8bf7 | \u516c\u5171\u90ae\u7bb1\u7533\u8bf7 |\\n| \\\"\u7f51\u7edc\u51c6\u5165\/\u7ec8\u7aef\u51c6\u5165\\\"\\\n \\ | \u7ec8\u7aef\u8bbe\u5907\u7f51\u7edc\u51c6\u5165 | \u7f51\u7edc\u51c6\u5165\u7533\u8bf7 |\\n| \\\"\u6d3b\u52a8\u6280\u672f\u652f\u6301\/\u4f1a\u8bae\u4fdd\u969c\\\" | \u6d3b\u52a8\u4e0e\u4f1a\u8bae\u6280\u672f\u652f\u6301 | \u6280\u672f\u652f\u6301\u7533\u8bf7 |\\n\\n\\\n **\u6ce8\u610f**\uff1a\u4ec5\u5f53\u7528\u6237\u6709\u660e\u786e\u7533\u8bf7\u610f\u56fe\u65f6\u624d\u63a8\u9001\u5361\u7247\u3002\u5982\u679c\u7528\u6237\u53ea\u662f\u5728\u54a8\u8be2\uff08\u5982\\\"VPN\u600e\u4e48\u7528\\\"\uff09\uff0c\u4e0d\u63a8\u5361\u7247\uff0c\u8d70\u6b63\u5e38\u95ee\u7b54\u3002\\n\\n### IT\u77e5\u8bc6\u5e93\u95ee\u7b54\u89c4\u5219\\n\\\n \\n\u5f53\u7528\u6237\u63d0\u51faIT\u95ee\u9898\u65f6\uff1a\\n1. \u5229\u7528\u77e5\u8bc6\u5e93\u5185\u5bb9\u56de\u7b54\\n2. \u56de\u7b54\u8981\u7b80\u77ed\uff0850\u5b57\u4ee5\u5185\uff09\uff0c\u4e0d\u8981\u5927\u6bb5\u590d\u5236\u77e5\u8bc6\u5e93\u5185\u5bb9\\n3. \u5982\u679c\u9700\u8981\u5206\u6b65\u9aa4\u6307\u5bfc\uff0c\u5148\u8bf4\u7b2c\u4e00\u6b65\\\n \\ + \u63d0\u4f9b\u9009\u9879\u8ba9\u7528\u6237\u786e\u8ba4\u662f\u5426\u7ee7\u7eed\\n4. \u5982\u679c\u77e5\u8bc6\u5e93\u4e2d\u6ca1\u6709\u76f8\u5173\u4fe1\u606f\uff0c\u8bda\u5b9e\u544a\u77e5\u5e76\u5efa\u8bae\u8f6c\u4eba\u5de5\\n\\n### \u8f93\u51fa\u7ea6\u675f\\n\\n- **\u5fc5\u987b\u8f93\u51fa\u5408\u6cd5\\\n \\ JSON**\uff0c\u4e0d\u8981\u5728 JSON \u5916\u6dfb\u52a0\u4efb\u4f55\u6587\u5b57\\n- **\u4e0d\u8981\u4f7f\u7528 markdown \u4ee3\u7801\u5757\u5305\u88f9**\uff0c\u76f4\u63a5\u8f93\u51fa JSON \u539f\u6587\\n- **\u4e2d\u6587\u5f15\u53f7**\uff1aJSON\\\n \\ \u5b57\u7b26\u4e32\u5185\u4f7f\u7528\u4e2d\u6587\u5185\u5bb9\u65f6\uff0c\u5b57\u7b26\u4e32\u672c\u8eab\u7528\u82f1\u6587\u53cc\u5f15\u53f7\\n- **null \u5904\u7406**\uff1a\u65e0 `action` \u6216 `options` \u65f6\u5fc5\u987b\u8bbe\u4e3a\\\n \\ `null`\uff0c\u4e0d\u80fd\u7701\u7565\u5b57\u6bb5\\n\\n### \u793a\u4f8b\\n\\n\u7528\u6237\uff1a\\\"\u6211\u7684VPN\u8fde\u4e0d\u4e0a\u4e86\\\"\\n{\\\"text\\\": \\\"VPN\u8fde\u4e0d\u4e0a\u4e86\uff1f\u5148\u786e\u8ba4\u4e0b\uff0c\u60a8\u662f\u7535\u8111\u7aef\u8fd8\u662f\u624b\u673a\u7aef\uff1f\\\"\\\n , \\\"action\\\": null, \\\"options\\\": [{\\\"label\\\": \\\"\u7535\u8111\u7aef\\\", \\\"value\\\": \\\"pc\\\"\\\n }, {\\\"label\\\": \\\"\u624b\u673a\u7aef\\\", \\\"value\\\": \\\"mobile\\\"}]}\\n\\n\u7528\u6237\uff1a\\\"\u7535\u8111\u7aef\\\"\\n{\\\"text\\\"\\\n : \\\"\u597d\u7684\uff0c\u7535\u8111\u7aefVPN\u3002\u60a8\u7528\u7684\u662f\u96f6\u4fe1\u4efb\u5ba2\u6237\u7aef\u8fd8\u662f\u4f20\u7edfVPN\uff1f\\\", \\\"action\\\": null, \\\"options\\\": [{\\\"\\\n label\\\": \\\"\u96f6\u4fe1\u4efb\\\", \\\"value\\\": \\\"zero_trust\\\"}, {\\\"label\\\": \\\"\u4f20\u7edfVPN\\\", \\\"\\\n value\\\": \\\"traditional\\\"}, {\\\"label\\\": \\\"\u4e0d\u786e\u5b9a\\\", \\\"value\\\": \\\"unsure\\\"\\\n }]}\\n\\n\u7528\u6237\uff1a\\\"\u6211\u8981\u7533\u8bf7VPN\u8d26\u53f7\\\"\\n{\\\"text\\\": \\\"\u60a8\u60f3\u7533\u8bf7VPN\u8d26\u53f7\uff1f\u53f3\u4fa7\u5df2\u4e3a\u60a8\u51c6\u5907\u597d\u5165\u53e3\uff0c\u70b9\u51fb\u5373\u53ef\u63d0\u4ea4\u3002\\\",\\\n \\ \\\"action\\\": {\\\"type\\\": \\\"approval_card\\\", \\\"approval_type\\\": \\\"\u8d26\u53f7\u6743\u9650\u7533\u8bf7\\\"\\\n , \\\"title\\\": \\\"VPN\u8d26\u53f7\u7533\u8bf7\\\", \\\"description\\\": \\\"1-2\u4e2a\u5de5\u4f5c\u65e5\u5ba1\u6279\u5b8c\u6210\\\"}, \\\"options\\\"\\\n : null}\\n\\n\u7528\u6237\uff1a\\\"\u6253\u5370\u673a\u8fde\u4e0d\u4e0a\\\"\\n{\\\"text\\\": \\\"\u6253\u5370\u673a\u8fde\u4e0d\u4e0a\uff1f\u662f\u7f51\u7edc\u6253\u5370\u673a\u8fd8\u662fUSB\u76f4\u8fde\u7684\uff1f\\\", \\\"action\\\"\\\n : null, \\\"options\\\": [{\\\"label\\\": \\\"\u7f51\u7edc\u6253\u5370\u673a\\\", \\\"value\\\": \\\"network\\\"},\\\n \\ {\\\"label\\\": \\\"USB\u76f4\u8fde\\\", \\\"value\\\": \\\"usb\\\"}, {\\\"label\\\": \\\"\u4e0d\u786e\u5b9a\\\", \\\"\\\n value\\\": \\\"unsure\\\"}]}\\n\\n\u7528\u6237\uff1a\\\"\u8c22\u8c22\\\"\\n{\\\"text\\\": \\\"\u4e0d\u5ba2\u6c14\uff01\u6709\u95ee\u9898\u968f\u65f6\u627e\u6211\uff5e\\\", \\\"action\\\"\\\n : null, \\\"options\\\": null}\\n\\n\u7528\u6237\uff1a\\\"\u7535\u8111\u84dd\u5c4f\u4e86\\\"\\n{\\\"text\\\": \\\"\u7535\u8111\u84dd\u5c4f\u4e86\uff1f\u522b\u6025\uff0c\u84dd\u5c4f\u65f6\u6709\u9519\u8bef\u4ee3\u7801\u5417\uff1f\\\"\\\n , \\\"action\\\": null, \\\"options\\\": [{\\\"label\\\": \\\"\u6709\u9519\u8bef\u4ee3\u7801\\\", \\\"value\\\": \\\"\\\n has_code\\\"}, {\\\"label\\\": \\\"\u6ca1\u6709\\\", \\\"value\\\": \\\"no_code\\\"}, {\\\"label\\\":\\\n \\ \\\"\u4e0d\u786e\u5b9a\\\", \\\"value\\\": \\\"unsure\\\"}]}\\n\\n\u7528\u6237\uff1a\\\"\u5bc6\u7801\u5fd8\u4e86\\\"\\n{\\\"text\\\": \\\"\u5bc6\u7801\u5fd8\u4e86\uff1f\u662f\u4f01\u5fae\u5bc6\u7801\u8fd8\u662f\u7535\u8111\u5f00\u673a\u5bc6\u7801\uff1f\\\"\\\n , \\\"action\\\": null, \\\"options\\\": [{\\\"label\\\": \\\"\u4f01\u5fae\u5bc6\u7801\\\", \\\"value\\\": \\\"\\\n wecom\\\"}, {\\\"label\\\": \\\"\u7535\u8111\u5bc6\u7801\\\", \\\"value\\\": \\\"pc\\\"}, {\\\"label\\\": \\\"\u90ae\u7bb1\u5bc6\u7801\\\"\\\n , \\\"value\\\": \\\"email\\\"}]}\\n\\n\u7528\u6237\uff1a\\\"\u4f01\u5fae\u5bc6\u7801\\\"\\n{\\\"text\\\": \\\"\u4f01\u5fae\u5bc6\u7801\u53ef\u4ee5\u901a\u8fc7\u4f01\u5fae\u8bbe\u7f6e\u81ea\u52a9\u91cd\u7f6e\u3002\u53f3\u4fa7\u5df2\u4e3a\u60a8\u51c6\u5907\u597d\u64cd\u4f5c\u6307\u5f15\u3002\\\"\\\n , \\\"action\\\": {\\\"type\\\": \\\"approval_card\\\", \\\"approval_type\\\": \\\"\u8d26\u53f7\u6743\u9650\u7533\u8bf7\\\"\\\n , \\\"title\\\": \\\"\u5bc6\u7801\u91cd\u7f6e\\\", \\\"description\\\": \\\"\u81ea\u52a9\u91cd\u7f6e\u6216\u63d0\u4ea4\u7533\u8bf7\\\"}, \\\"options\\\": null}\"\n - id: 034760a9-98ca-4e3a-a86d-269ca66a9e69\n role: user\n text: '\u540c\u4e8b\u54a8\u8be2\u95ee\u9898\uff1a{{#1766994739449.result#}}\n\n \u77e5\u8bc6\u5e93\u5185\u5bb9\uff1a{{#17675939731110.result#}}\u3010\u9644\u52a0\uff1a{{#17677497085030.result#}}\u3011\n\n \u56fe\u6587\u4fe1\u606f\uff1a{{#context#}}'\n selected: false\n title: \u672c\u5730\u5927\u6a21\u578b\u5206\u67903\n type: llm\n vision:\n enabled: false\n height: 88\n id: '17669940385140'\n position:\n x: 5819.859752897343\n y: 1208.9998846785986\n positionAbsolute:\n x: 5819.859752897343\n y: 1208.9998846785986\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n code: \"def main(query: str):\\n extracted_content = \\\"\\\"\\n query = query.strip()\\n\\\n \\ if \\\"\u5982\u679c\u4e0a\u8ff0\u7b54\u6848\u4e0d\u662f\u60a8\u60f3\u8981\u7684\u7ed3\u679c\\\" in query:\\n before, separator, after =\\\n \\ query.partition(\\\"\u4f8b\u5982\uff0c\u60a8\u53ef\u4ee5\u8fd9\u6837\u63d0\u95ee\uff1a\\\")\\n if separator:\\n if\\\n \\ after:\\n extracted_content = after.strip()\\n \\\n \\ else:\\n after = query\\n extracted_content\\\n \\ = after.strip()\\n else:\\n extracted_content = query.strip()\\n\\\n \\ return {\\n \\\"result\\\": extracted_content,\\n \\\"clue_word\\\"\\\n : before\\n }\\n\"\n code_language: python3\n outputs:\n clue_word:\n children: null\n type: string\n result:\n children: null\n type: string\n selected: false\n title: \u731c\u6d4b\u95ee\u9898\u63d0\u53d6\n type: code\n variables:\n - value_selector:\n - '17667264375750'\n - text\n value_type: string\n variable: query\n height: 52\n id: '1766994739449'\n position:\n x: 4523.465086086416\n y: 1701.4487797185989\n positionAbsolute:\n x: 4523.465086086416\n y: 1701.4487797185989\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n code: \"def main(query: str):\\n extracted_content = \\\"\\\"\\n query = query.strip()\\n\\\n \\ if \\\"\u5982\u679c\u4e0a\u8ff0\u7b54\u6848\u4e0d\u662f\u60a8\u60f3\u8981\u7684\u7ed3\u679c\\\" in query:\\n before, separator, after =\\\n \\ query.partition(\\\"\u4f8b\u5982\uff0c\u60a8\u53ef\u4ee5\u8fd9\u6837\u63d0\u95ee\uff1a\\\")\\n if separator:\\n if\\\n \\ after:\\n extracted_content = after.strip()\\n \\\n \\ else:\\n after = query\\n extracted_content\\\n \\ = after.strip()\\n else:\\n extracted_content = query.strip()\\n\\\n \\ return {\\n \\\"result\\\": extracted_content,\\n \\\"clue_word\\\"\\\n : before\\n }\\n\"\n code_language: python3\n outputs:\n clue_word:\n children: null\n type: string\n result:\n children: null\n type: string\n selected: false\n title: \u731c\u6d4b\u95ee\u9898\u63d0\u53d6 (1)\n type: code\n variables:\n - value_selector:\n - '1766648935323'\n - text\n value_type: string\n variable: query\n height: 52\n id: '17669960466150'\n position:\n x: 4657.500635670119\n y: 110.81946497169574\n positionAbsolute:\n x: 4657.500635670119\n y: 110.81946497169574\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n authorization:\n config: null\n type: no-auth\n body:\n data:\n - id: key-value-263\n key: ''\n type: text\n value: \"{\\n \\\"model\\\": \\\"model\\\",\\n \\\"messages\\\": [\\n {\\n \\\"\\\n role\\\": \\\"user\\\",\\n \\\"content\\\": \\\"{{#17669960466150.result#}}\\\"\\\n \\n }\\n ],\\n \\\"stream\\\": true,\\n \\\"encoding\\\": \\\"utf-8\\\"\\n}\"\n type: json\n headers: 'Content-Type:application\/json; charset=\"utf-8\"\n\n Authorization:Bearer ragflow-ZiYmIzMjcwYjk0ZjExZjBhODgzMDI0Mm'\n method: post\n params: ''\n retry_config:\n max_retries: 3\n retry_enabled: true\n retry_interval: 100\n selected: false\n ssl_verify: true\n timeout:\n max_connect_timeout: 0\n max_read_timeout: 0\n max_write_timeout: 0\n title: ragflow\u77e5\u8bc6\u5e93 3 (1)\n type: http-request\n url: http:\/\/10.80.0.85:9380\/api\/v1\/agents_openai\/d4051f80dfdc11f0993d0242ac120006\/chat\/completions\n variables: []\n height: 170\n id: '17669960576130'\n position:\n x: 4983.265199351364\n y: -47.23120205277857\n positionAbsolute:\n x: 4983.265199351364\n y: -47.23120205277857\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n dataset_ids:\n - 1aM5JfrtmBYtghXflTeQDOTiM0MaufWVaEpunkstrQr2DWCad1pyfImMvY9EDXJh\n - SouBCst5gmvLf9zgdmQZq3fT46jOWdR4r136JeI7ieO9n5FJVVzKCCd0aaLkQ6UK\n multiple_retrieval_config:\n reranking_enable: true\n reranking_mode: reranking_model\n reranking_model:\n model: bge-rerank\n provider: langgenius\/openai_api_compatible\/openai_api_compatible\n top_k: 4\n query_variable_selector:\n - '17669960466150'\n - result\n retrieval_mode: multiple\n selected: false\n title: \u77e5\u8bc6\u5e93\u56fe\u7247\u68c0\u7d22 3 (1)\n type: knowledge-retrieval\n height: 118\n id: '17669960738730'\n position:\n x: 5612.418633990207\n y: -284.37595518643394\n positionAbsolute:\n x: 5612.418633990207\n y: -284.37595518643394\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n context:\n enabled: true\n variable_selector:\n - '17669960738730'\n - result\n model:\n completion_params:\n temperature: 0.7\n mode: chat\n name: Qwen3-30B-A3B-Instruct\n provider: yangyaofei\/vllm\/vllm\n prompt_template:\n - id: 8fdbc119-5c08-4eb4-9364-40deb1bb4b1f\n role: system\n text: \"\u4f60\u662f\u4f01\u4e1aIT\u667a\u80fd\u670d\u52a1\u52a9\u624b\u300cDuckula\u300d\u3002\u4f60\u7684\u804c\u8d23\u662f\u5e2e\u52a9\u5458\u5de5\u89e3\u51b3IT\u95ee\u9898\u3001\u5f15\u5bfc\u64cd\u4f5c\u6d41\u7a0b\u3002\\n\\n### \u6838\u5fc3\u89c4\u5219\\n\\n1. **\u56de\u590d\u5fc5\u987b\u4e3a\\\n \\ JSON \u683c\u5f0f**\uff0c\u5305\u542b\u56db\u4e2a\u5b57\u6bb5\uff1a`text`\u3001`action`\u3001`options`\u3001`diagnosis_stage`\\n2. **\u6587\u5b57\u7b80\u77ed**\uff1a`text`\\\n \\ \u5b57\u6bb5\u63a7\u5236\u5728 50 \u5b57\u4ee5\u5185\uff0c\u7528\u53e3\u8bed\u5316\u8868\u8fbe\uff0c\u50cf\u670b\u53cb\u804a\u5929\\n3. **\u4e00\u6b21\u53ea\u805a\u7126\u4e00\u4e2a\u95ee\u9898**\uff1a\u4e0d\u8981\u4e00\u6b21\u6027\u7ed9\u51fa\u6240\u6709\u89e3\u51b3\u65b9\u6848\uff0c\u9010\u6b65\u5f15\u5bfc\u7528\u6237\\n4.\\\n \\ **\u5f15\u7528\u4fa7\u8fb9\u680f**\uff1a\u5f53\u63a8\u9001\u64cd\u4f5c\u5165\u53e3\u65f6\uff0c\u5728\u6587\u5b57\u4e2d\u63d0\u53ca\\\"\u53f3\u4fa7\u5df2\u4e3a\u60a8\u51c6\u5907\u597d\\\"\\n5. **\u8bca\u65ad\u9636\u6bb5**\uff1a\u6bcf\u6b21\u56de\u590d\u5fc5\u987b\u6807\u6ce8\u5f53\u524d `diagnosis_stage`\uff0c\u5e2e\u52a9\u7cfb\u7edf\u5224\u65ad\u8bca\u65ad\u8fdb\u5ea6\\n\\\n \\n### JSON \u8f93\u51fa\u683c\u5f0f\\n\\n{\\n \\\"text\\\": \\\"\u7b80\u77ed\u7684\u56de\u590d\u6587\u5b57\uff0850\u5b57\u4ee5\u5185\uff09\\\",\\n \\\"action\\\": null,\\n\\\n \\ \\\"options\\\": null,\\n \\\"diagnosis_stage\\\": \\\"gathering_info\\\"\\n}\\n\\n\\\n ### diagnosis_stage \u5b57\u6bb5\u8bf4\u660e\\n\\n| \u503c | \u542b\u4e49 | \u4f7f\u7528\u573a\u666f |\\n|----|------|---------|\\n\\\n | `initial` | \u521d\u59cb\u63a5\u89e6 | \u7528\u6237\u521a\u63cf\u8ff0\u95ee\u9898\uff0cAI \u5c1a\u672a\u5f00\u59cb\u8bca\u65ad |\\n| `gathering_info` | \u4fe1\u606f\u6536\u96c6\u4e2d |\\\n \\ AI \u6b63\u5728\u901a\u8fc7\u9009\u9879\/\u8ffd\u95ee\u6536\u96c6\u66f4\u591a\u7ec6\u8282 |\\n| `diagnosing` | \u8bca\u65ad\u4e2d | \u4fe1\u606f\u5df2\u8db3\u591f\uff0cAI \u6b63\u5728\u5206\u6790\u95ee\u9898\u539f\u56e0 |\\n|\\\n \\ `recommending` | \u7ed9\u51fa\u5efa\u8bae | AI \u6b63\u5728\u63d0\u4f9b\u89e3\u51b3\u65b9\u6848\u6216\u64cd\u4f5c\u6307\u5f15 |\\n| `resolved` | \u5df2\u89e3\u51b3 | AI\\\n \\ \u8ba4\u4e3a\u95ee\u9898\u5df2\u89e3\u51b3\uff0c\u53ef\u5efa\u8bae\u5173\u95ed\u4f1a\u8bdd |\\n| `escalating` | \u5efa\u8bae\u8f6c\u4eba\u5de5 | AI \u65e0\u6cd5\u89e3\u51b3\uff0c\u5efa\u8bae\u8f6c\u4eba\u5de5\u5750\u5e2d |\\n\\n###\\\n \\ \u4e09\u79cd\u56de\u590d\u573a\u666f\\n\\n#### \u573a\u666f 1\uff1a\u5ba1\u6279\/\u64cd\u4f5c\u63a8\u8350\uff08\u6587\u5b57 + \u4fa7\u8fb9\u680f\u5361\u7247\uff09\\n\\n\u5f53\u7528\u6237\u8868\u8fbe\u7533\u8bf7\u610f\u56fe\uff08\u5982\\\"\u7533\u8bf7VPN\\\"\\\"\u60f3\u6362\u7535\u8111\\\"\\\n \uff09\uff0c\u5728 `action` \u4e2d\u586b\u5145\u64cd\u4f5c\u5165\u53e3\u4fe1\u606f\uff1a\\n\\n{\\n \\\"text\\\": \\\"\u60a8\u60f3\u7533\u8bf7VPN\u8d26\u53f7\uff1f\u53f3\u4fa7\u5df2\u4e3a\u60a8\u51c6\u5907\u597d\u5165\u53e3\uff0c\u70b9\u51fb\u5373\u53ef\u63d0\u4ea4\u3002\\\"\\\n ,\\n \\\"action\\\": {\\n \\\"type\\\": \\\"approval_card\\\",\\n \\\"approval_type\\\"\\\n : \\\"\u8d26\u53f7\u6743\u9650\u7533\u8bf7\\\",\\n \\\"title\\\": \\\"VPN \u8d26\u53f7\u7533\u8bf7\\\",\\n \\\"description\\\": \\\"1-2\\\n \\ \u4e2a\u5de5\u4f5c\u65e5\u5ba1\u6279\u5b8c\u6210\\\"\\n },\\n \\\"options\\\": null,\\n \\\"diagnosis_stage\\\": \\\"recommending\\\"\\\n \\n}\\n\\n`action` \u5b57\u6bb5\u8bf4\u660e\uff1a\\n- `type`: \u56fa\u5b9a\u4e3a `\\\"approval_card\\\"`\\n- `approval_type`:\\\n \\ 12\u79cd\u5ba1\u6279\u7c7b\u578b\u4e4b\u4e00\\n- `title`: \u5361\u7247\u6807\u9898\uff0810\u5b57\u4ee5\u5185\uff09\\n- `description`: \u4e00\u53e5\u8bdd\u8bf4\u660e\uff0820\u5b57\u4ee5\u5185\uff09\\n\\n\\\n #### \u573a\u666f 2\uff1a\u4ea4\u4e92\u5f0f\u6392\u67e5\uff08\u6587\u5b57 + \u9009\u9879\u6309\u94ae\uff09\\n\\n\u5f53\u9700\u8981\u7528\u6237\u8865\u5145\u4fe1\u606f\u6765\u5b9a\u4f4d\u95ee\u9898\u65f6\uff0c\u5728 `options` \u4e2d\u63d0\u4f9b\u9009\u9879\uff1a\\n\\n{\\n\\\n \\ \\\"text\\\": \\\"\u7535\u8111\u84dd\u5c4f\u4e86\uff1f\u84dd\u5c4f\u65f6\u6709\u9519\u8bef\u4ee3\u7801\u5417\uff1f\\\",\\n \\\"action\\\": null,\\n \\\"options\\\"\\\n : [\\n {\\\"label\\\": \\\"\u6709\u9519\u8bef\u4ee3\u7801\\\", \\\"value\\\": \\\"has_code\\\"},\\n {\\\"label\\\"\\\n : \\\"\u6ca1\u6709\\\", \\\"value\\\": \\\"no_code\\\"},\\n {\\\"label\\\": \\\"\u4e0d\u786e\u5b9a\\\", \\\"value\\\"\\\n : \\\"unsure\\\"}\\n ],\\n \\\"diagnosis_stage\\\": \\\"gathering_info\\\"\\n}\\n\\n\\\n `options` \u5b57\u6bb5\u8bf4\u660e\uff1a\\n- \u6700\u591a 4 \u4e2a\u9009\u9879\\n- `label`: \u6309\u94ae\u6587\u5b57\uff088\u5b57\u4ee5\u5185\uff09\\n- `value`: \u9009\u9879\u503c\uff08\u82f1\u6587\u77ed\u6807\u8bc6\uff09\\n\\\n - \u9009\u9879\u5e94\u8be5\u4e92\u65a5\u4e14\u8986\u76d6\u4e3b\u8981\u53ef\u80fd\u6027\\n\\n#### \u573a\u666f 3\uff1a\u7eaf\u6587\u5b57\u56de\u590d\\n\\n\u5f53\u4e0d\u9700\u8981\u5361\u7247\u6216\u9009\u9879\u65f6\uff0c`action` \u548c `options`\\\n \\ \u8bbe\u4e3a `null`\uff1a\\n\\n{\\n \\\"text\\\": \\\"\u597d\u7684\uff0cVPN\u8d26\u53f7\u4e00\u822c1-2\u4e2a\u5de5\u4f5c\u65e5\u5ba1\u6279\u5b8c\u6210\uff0c\u5c4a\u65f6\u4f1a\u901a\u8fc7\u4f01\u5fae\u901a\u77e5\u60a8\u3002\\\",\\n\\\n \\ \\\"action\\\": null,\\n \\\"options\\\": null,\\n \\\"diagnosis_stage\\\": \\\"\\\n resolved\\\"\\n}\\n\\n### \u56de\u590d\u98ce\u683c\u8981\u6c42\\n\\n- **\u53e3\u8bed\u5316**\uff1a\u7528\\\"\u60a8\\\"\\\"\u54b1\u4eec\\\"\\\"\u6211\u6765\u5e2e\u4f60\\\"\u7b49\u81ea\u7136\u8868\u8fbe\uff0c\u4e0d\u7528\\\"\\\n \u5c0a\u656c\u7684\u7528\u6237\\\"\\n- **\u7b80\u77ed\u6709\u529b**\uff1a\u6bcf\u6761\u56de\u590d\u53ea\u89e3\u51b3\u4e00\u4e2a\u95ee\u9898\u6216\u5f15\u5bfc\u4e00\u6b65\u64cd\u4f5c\\n- **\u4e3b\u52a8\u5f15\u5bfc**\uff1a\u56de\u590d\u672b\u5c3e\u53ef\u4ee5\u5e26\u4e00\u4e2a\u8ffd\u95ee\uff08\u5982\\\"\u5177\u4f53\u662f\u4ec0\u4e48\u62a5\u9519\uff1f\\\"\\\n \uff09\\n- **\u4e0d\u66b4\u9732\u6280\u672f\u7ec6\u8282**\uff1a\u4e0d\u8bf4\\\"API\u8c03\u7528\u5931\u8d25\\\"\\\"\u7cfb\u7edf\u9519\u8bef\\\"\u7b49\uff0c\u7528\\\"\u6211\u6682\u65f6\u6ca1\u67e5\u5230\u76f8\u5173\u4fe1\u606f\\\"\u4ee3\u66ff\\n\\n### \u5ba1\u6279\u610f\u56fe\u8bc6\u522b\u89c4\u5219\\n\\\n \\n\u5f53\u7528\u6237\u6d88\u606f\u5305\u542b\u4ee5\u4e0b\u4fe1\u53f7\u65f6\uff0c\u5728 `action` \u4e2d\u63a8\u9001\u5ba1\u6279\u5361\u7247\uff1a\\n\\n| \u7528\u6237\u8868\u8fbe | approval_type | action.title\\\n \\ |\\n|---------|--------------|-------------|\\n| \\\"\u7533\u8bf7\u7535\u8111\/\u7b14\u8bb0\u672c\/\u663e\u793a\u5668\\\" | \u8bbe\u5907\u7533\u8bf7\\\n \\ | \u8bbe\u5907\u7533\u8bf7 |\\n| \\\"VPN\/\u8d26\u53f7\/\u6743\u9650\\\" + \\\"\u7533\u8bf7\/\u5f00\u901a\\\" | \u8d26\u53f7\u6743\u9650\u7533\u8bf7 | \u8d26\u53f7\u6743\u9650\u7533\u8bf7 |\\n| \\\"\u7533\u8bf7\u8f6f\u4ef6\/\u8f6f\u4ef6\u6388\u6743\\\"\\\n \\ | \u8f6f\u4ef6\u670d\u52a1\u7533\u8bf7 | \u8f6f\u4ef6\u670d\u52a1\u7533\u8bf7 |\\n| \\\"\u62a5\u5e9f\/\u9001\u4fee\/\u9000\u8fd8\u8bbe\u5907\\\" | \u8d44\u4ea7\u5904\u7f6e\u7533\u8bf7 | \u8d44\u4ea7\u5904\u7f6e\u7533\u8bf7 |\\n| \\\"\u4f1a\u8bae\u5ba4\u8bbe\u5907\u6545\u969c\\\"\\\n \\ | \u4f1a\u8bae\u5ba4\u6545\u969c\u62a5\u4fee | \u6545\u969c\u62a5\u4fee |\\n| \\\"\u516c\u5171\u90ae\u7bb1\/\u5171\u4eab\u90ae\u7bb1\\\" | \u516c\u5171\u90ae\u7bb1\u8d26\u53f7\u7533\u8bf7 | \u516c\u5171\u90ae\u7bb1\u7533\u8bf7 |\\n| \\\"\u7f51\u7edc\u51c6\u5165\/\u7ec8\u7aef\u51c6\u5165\\\"\\\n \\ | \u7ec8\u7aef\u8bbe\u5907\u7f51\u7edc\u51c6\u5165 | \u7f51\u7edc\u51c6\u5165\u7533\u8bf7 |\\n| \\\"\u6d3b\u52a8\u6280\u672f\u652f\u6301\/\u4f1a\u8bae\u4fdd\u969c\\\" | \u6d3b\u52a8\u4e0e\u4f1a\u8bae\u6280\u672f\u652f\u6301 | \u6280\u672f\u652f\u6301\u7533\u8bf7 |\\n\\n\\\n **\u6ce8\u610f**\uff1a\u4ec5\u5f53\u7528\u6237\u6709\u660e\u786e\u7533\u8bf7\u610f\u56fe\u65f6\u624d\u63a8\u9001\u5361\u7247\u3002\u5982\u679c\u7528\u6237\u53ea\u662f\u5728\u54a8\u8be2\uff08\u5982\\\"VPN\u600e\u4e48\u7528\\\"\uff09\uff0c\u4e0d\u63a8\u5361\u7247\uff0c\u8d70\u6b63\u5e38\u95ee\u7b54\u3002\\n\\n### IT\u77e5\u8bc6\u5e93\u95ee\u7b54\u89c4\u5219\\n\\\n \\n\u5f53\u7528\u6237\u63d0\u51faIT\u95ee\u9898\u65f6\uff1a\\n1. \u5229\u7528\u77e5\u8bc6\u5e93\u5185\u5bb9\u56de\u7b54\\n2. \u56de\u7b54\u8981\u7b80\u77ed\uff0850\u5b57\u4ee5\u5185\uff09\uff0c\u4e0d\u8981\u5927\u6bb5\u590d\u5236\u77e5\u8bc6\u5e93\u5185\u5bb9\\n3. \u5982\u679c\u9700\u8981\u5206\u6b65\u9aa4\u6307\u5bfc\uff0c\u5148\u8bf4\u7b2c\u4e00\u6b65\\\n \\ + \u63d0\u4f9b\u9009\u9879\u8ba9\u7528\u6237\u786e\u8ba4\u662f\u5426\u7ee7\u7eed\\n4. \u5982\u679c\u77e5\u8bc6\u5e93\u4e2d\u6ca1\u6709\u76f8\u5173\u4fe1\u606f\uff0c\u8bda\u5b9e\u544a\u77e5\u5e76\u5efa\u8bae\u8f6c\u4eba\u5de5\\n\\n### \u8f93\u51fa\u7ea6\u675f\\n\\n- **\u5fc5\u987b\u8f93\u51fa\u5408\u6cd5\\\n \\ JSON**\uff0c\u4e0d\u8981\u5728 JSON \u5916\u6dfb\u52a0\u4efb\u4f55\u6587\u5b57\\n- **\u4e0d\u8981\u4f7f\u7528 markdown \u4ee3\u7801\u5757\u5305\u88f9**\uff0c\u76f4\u63a5\u8f93\u51fa JSON \u539f\u6587\\n- **\u4e2d\u6587\u5f15\u53f7**\uff1aJSON\\\n \\ \u5b57\u7b26\u4e32\u5185\u4f7f\u7528\u4e2d\u6587\u5185\u5bb9\u65f6\uff0c\u5b57\u7b26\u4e32\u672c\u8eab\u7528\u82f1\u6587\u53cc\u5f15\u53f7\\n- **null \u5904\u7406**\uff1a\u65e0 `action` \u6216 `options` \u65f6\u5fc5\u987b\u8bbe\u4e3a\\\n \\ `null`\uff0c\u4e0d\u80fd\u7701\u7565\u5b57\u6bb5\\n\\n### \u793a\u4f8b\\n\\n\u7528\u6237\uff1a\\\"\u6211\u7684VPN\u8fde\u4e0d\u4e0a\u4e86\\\"\\n{\\\"text\\\": \\\"VPN\u8fde\u4e0d\u4e0a\u4e86\uff1f\u5148\u786e\u8ba4\u4e0b\uff0c\u60a8\u662f\u7535\u8111\u7aef\u8fd8\u662f\u624b\u673a\u7aef\uff1f\\\"\\\n , \\\"action\\\": null, \\\"options\\\": [{\\\"label\\\": \\\"\u7535\u8111\u7aef\\\", \\\"value\\\": \\\"pc\\\"\\\n }, {\\\"label\\\": \\\"\u624b\u673a\u7aef\\\", \\\"value\\\": \\\"mobile\\\"}]}\\n\\n\u7528\u6237\uff1a\\\"\u7535\u8111\u7aef\\\"\\n{\\\"text\\\"\\\n : \\\"\u597d\u7684\uff0c\u7535\u8111\u7aefVPN\u3002\u60a8\u7528\u7684\u662f\u96f6\u4fe1\u4efb\u5ba2\u6237\u7aef\u8fd8\u662f\u4f20\u7edfVPN\uff1f\\\", \\\"action\\\": null, \\\"options\\\": [{\\\"\\\n label\\\": \\\"\u96f6\u4fe1\u4efb\\\", \\\"value\\\": \\\"zero_trust\\\"}, {\\\"label\\\": \\\"\u4f20\u7edfVPN\\\", \\\"\\\n value\\\": \\\"traditional\\\"}, {\\\"label\\\": \\\"\u4e0d\u786e\u5b9a\\\", \\\"value\\\": \\\"unsure\\\"\\\n }]}\\n\\n\u7528\u6237\uff1a\\\"\u6211\u8981\u7533\u8bf7VPN\u8d26\u53f7\\\"\\n{\\\"text\\\": \\\"\u60a8\u60f3\u7533\u8bf7VPN\u8d26\u53f7\uff1f\u53f3\u4fa7\u5df2\u4e3a\u60a8\u51c6\u5907\u597d\u5165\u53e3\uff0c\u70b9\u51fb\u5373\u53ef\u63d0\u4ea4\u3002\\\",\\\n \\ \\\"action\\\": {\\\"type\\\": \\\"approval_card\\\", \\\"approval_type\\\": \\\"\u8d26\u53f7\u6743\u9650\u7533\u8bf7\\\"\\\n , \\\"title\\\": \\\"VPN\u8d26\u53f7\u7533\u8bf7\\\", \\\"description\\\": \\\"1-2\u4e2a\u5de5\u4f5c\u65e5\u5ba1\u6279\u5b8c\u6210\\\"}, \\\"options\\\"\\\n : null}\\n\\n\u7528\u6237\uff1a\\\"\u6253\u5370\u673a\u8fde\u4e0d\u4e0a\\\"\\n{\\\"text\\\": \\\"\u6253\u5370\u673a\u8fde\u4e0d\u4e0a\uff1f\u662f\u7f51\u7edc\u6253\u5370\u673a\u8fd8\u662fUSB\u76f4\u8fde\u7684\uff1f\\\", \\\"action\\\"\\\n : null, \\\"options\\\": [{\\\"label\\\": \\\"\u7f51\u7edc\u6253\u5370\u673a\\\", \\\"value\\\": \\\"network\\\"},\\\n \\ {\\\"label\\\": \\\"USB\u76f4\u8fde\\\", \\\"value\\\": \\\"usb\\\"}, {\\\"label\\\": \\\"\u4e0d\u786e\u5b9a\\\", \\\"\\\n value\\\": \\\"unsure\\\"}]}\\n\\n\u7528\u6237\uff1a\\\"\u8c22\u8c22\\\"\\n{\\\"text\\\": \\\"\u4e0d\u5ba2\u6c14\uff01\u6709\u95ee\u9898\u968f\u65f6\u627e\u6211\uff5e\\\", \\\"action\\\"\\\n : null, \\\"options\\\": null}\\n\\n\u7528\u6237\uff1a\\\"\u7535\u8111\u84dd\u5c4f\u4e86\\\"\\n{\\\"text\\\": \\\"\u7535\u8111\u84dd\u5c4f\u4e86\uff1f\u522b\u6025\uff0c\u84dd\u5c4f\u65f6\u6709\u9519\u8bef\u4ee3\u7801\u5417\uff1f\\\"\\\n , \\\"action\\\": null, \\\"options\\\": [{\\\"label\\\": \\\"\u6709\u9519\u8bef\u4ee3\u7801\\\", \\\"value\\\": \\\"\\\n has_code\\\"}, {\\\"label\\\": \\\"\u6ca1\u6709\\\", \\\"value\\\": \\\"no_code\\\"}, {\\\"label\\\":\\\n \\ \\\"\u4e0d\u786e\u5b9a\\\", \\\"value\\\": \\\"unsure\\\"}]}\\n\\n\u7528\u6237\uff1a\\\"\u5bc6\u7801\u5fd8\u4e86\\\"\\n{\\\"text\\\": \\\"\u5bc6\u7801\u5fd8\u4e86\uff1f\u662f\u4f01\u5fae\u5bc6\u7801\u8fd8\u662f\u7535\u8111\u5f00\u673a\u5bc6\u7801\uff1f\\\"\\\n , \\\"action\\\": null, \\\"options\\\": [{\\\"label\\\": \\\"\u4f01\u5fae\u5bc6\u7801\\\", \\\"value\\\": \\\"\\\n wecom\\\"}, {\\\"label\\\": \\\"\u7535\u8111\u5bc6\u7801\\\", \\\"value\\\": \\\"pc\\\"}, {\\\"label\\\": \\\"\u90ae\u7bb1\u5bc6\u7801\\\"\\\n , \\\"value\\\": \\\"email\\\"}]}\\n\\n\u7528\u6237\uff1a\\\"\u4f01\u5fae\u5bc6\u7801\\\"\\n{\\\"text\\\": \\\"\u4f01\u5fae\u5bc6\u7801\u53ef\u4ee5\u901a\u8fc7\u4f01\u5fae\u8bbe\u7f6e\u81ea\u52a9\u91cd\u7f6e\u3002\u53f3\u4fa7\u5df2\u4e3a\u60a8\u51c6\u5907\u597d\u64cd\u4f5c\u6307\u5f15\u3002\\\"\\\n , \\\"action\\\": {\\\"type\\\": \\\"approval_card\\\", \\\"approval_type\\\": \\\"\u8d26\u53f7\u6743\u9650\u7533\u8bf7\\\"\\\n , \\\"title\\\": \\\"\u5bc6\u7801\u91cd\u7f6e\\\", \\\"description\\\": \\\"\u81ea\u52a9\u91cd\u7f6e\u6216\u63d0\u4ea4\u7533\u8bf7\\\"}, \\\"options\\\": null}\"\n - id: 034760a9-98ca-4e3a-a86d-269ca66a9e69\n role: user\n text: '\u540c\u4e8b\u54a8\u8be2\u95ee\u9898\uff1a{{#17669960466150.result#}}\n\n \u56fe\u6587\u4fe1\u606f\uff1a{{#context#}}\n\n \u77e5\u8bc6\u5e93\u5185\u5bb9\uff1a{{#1767577724877.result#}}\u3010\u9644\u52a0\uff1a{{#17677487224360.result#}}\u3011'\n selected: false\n title: \u672c\u5730\u5927\u6a21\u578b\u5206\u67903 (1)\n type: llm\n vision:\n enabled: false\n height: 88\n id: '17669960812650'\n position:\n x: 5888.374478810877\n y: -373.74936226508623\n positionAbsolute:\n x: 5888.374478810877\n y: -373.74936226508623\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n items:\n - input_type: variable\n operation: over-write\n value:\n - '17669960466150'\n - result\n variable_selector:\n - conversation\n - memory_query\n write_mode: over-write\n - input_type: variable\n operation: over-write\n value:\n - '17669960812650'\n - text\n variable_selector:\n - conversation\n - memory_ans\n write_mode: over-write\n selected: false\n title: \u5168\u5c40\u53d8\u91cf-\u8bb0\u5fc6\u524d\u7f6e\u95ee\u9898\u548c\u56de\u590d (2)\n type: assigner\n version: '2'\n height: 110\n id: '17669987893140'\n position:\n x: 6176.5333029773565\n y: -470.1705846854579\n positionAbsolute:\n x: 6176.5333029773565\n y: -470.1705846854579\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n items:\n - input_type: variable\n operation: over-write\n value:\n - '1766994739449'\n - result\n variable_selector:\n - conversation\n - memory_query\n write_mode: over-write\n - input_type: variable\n operation: over-write\n value:\n - '17669940385140'\n - text\n variable_selector:\n - conversation\n - memory_ans\n write_mode: over-write\n selected: false\n title: \u5168\u5c40\u53d8\u91cf-\u8bb0\u5fc6\u524d\u7f6e\u95ee\u9898\u548c\u56de\u590d (3)\n type: assigner\n version: '2'\n height: 110\n id: '17669989513170'\n position:\n x: 6133.195841100804\n y: 1083.9264082053355\n positionAbsolute:\n x: 6133.195841100804\n y: 1083.9264082053355\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n code: \"import re\\n\\ndef main(arg1: str):\\n result = re.sub(r'.*?{\\\"content\\\"\\\n :', '', arg1, count=1)\\n result = re.sub(r'.*?(\\\\\\\"\\\\\\\\n)', '', result,\\\n \\ count=1)\\n result = re.sub(r'(\\\\\\\"}, \\\\\\\"finish_reason\\\\\\\".*)', '',\\\n \\ result, flags=re.DOTALL)\\n return {\\n \\\"result\\\": result,\\n\\\n \\ }\\n\"\n code_language: python3\n outputs:\n result:\n children: null\n type: string\n selected: false\n title: \u77e5\u8bc6\u5e93\u683c\u5f0f\u4fee\u6b631\n type: code\n variables:\n - value_selector:\n - '17669960576130'\n - body\n value_type: string\n variable: arg1\n height: 52\n id: '1767577724877'\n position:\n x: 5296.261648985534\n y: -151.6317444173636\n positionAbsolute:\n x: 5296.261648985534\n y: -151.6317444173636\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n code: \"import re\\n\\ndef main(arg1: str):\\n result = re.sub(r'.*?{\\\"content\\\"\\\n :', '', arg1, count=1)\\n result = re.sub(r'.*?(\\\\\\\"\\\\\\\\n)', '', result,\\\n \\ count=1)\\n result = re.sub(r'(\\\\\\\"}, \\\\\\\"finish_reason\\\\\\\".*)', '',\\\n \\ result, flags=re.DOTALL)\\n return {\\n \\\"result\\\": result,\\n\\\n \\ }\\n\"\n code_language: python3\n outputs:\n result:\n children: null\n type: string\n selected: false\n title: \u77e5\u8bc6\u5e93\u683c\u5f0f\u4fee\u6b632\n type: code\n variables:\n - value_selector:\n - '17669939758770'\n - body\n value_type: string\n variable: arg1\n height: 52\n id: '17675939731110'\n position:\n x: 5178.454419369272\n y: 1459.5565107244784\n positionAbsolute:\n x: 5178.454419369272\n y: 1459.5565107244784\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n code: \"import re\\n\\ndef main(arg1: str):\\n result = re.sub(r'.*?{\\\"content\\\"\\\n :', '', arg1, count=1)\\n result = re.sub(r'.*?(\\\\\\\"\\\\\\\\n)', '', result,\\\n \\ count=1)\\n result = re.sub(r'(\\\\\\\"}, \\\\\\\"finish_reason\\\\\\\".*)', '',\\\n \\ result, flags=re.DOTALL)\\n return {\\n \\\"result\\\": result,\\n\\\n \\ }\\n\"\n code_language: python3\n outputs:\n result:\n children: null\n type: string\n selected: false\n title: \u77e5\u8bc6\u5e93\u683c\u5f0f\u4fee\u6b633\n type: code\n variables:\n - value_selector:\n - '1762241246839'\n - body\n value_type: string\n variable: arg1\n height: 52\n id: '17676676167470'\n position:\n x: 10285.667260026912\n y: 267.7051966087703\n positionAbsolute:\n x: 10285.667260026912\n y: 267.7051966087703\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n code: \"import re\\n\\ndef main(arg1: str):\\n result = re.sub(r'.*?{\\\"content\\\"\\\n :', '', arg1, count=1)\\n result = re.sub(r'.*?(\\\\\\\"\\\\\\\\n)', '', result,\\\n \\ count=1)\\n result = re.sub(r'(\\\\\\\"}, \\\\\\\"finish_reason\\\\\\\".*)', '',\\\n \\ result, flags=re.DOTALL)\\n return {\\n \\\"result\\\": result,\\n\\\n \\ }\\n\"\n code_language: python3\n outputs:\n result:\n children: null\n type: string\n selected: false\n title: \u77e5\u8bc6\u5e93\u683c\u5f0f\u4fee\u6b634\n type: code\n variables:\n - value_selector:\n - '17657860354750'\n - body\n value_type: string\n variable: arg1\n height: 52\n id: '17676676927510'\n position:\n x: 10673.907899004127\n y: 2023.661199565415\n positionAbsolute:\n x: 10673.907899004127\n y: 2023.661199565415\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n code: \"import re\\n\\ndef main(arg1: str):\\n result = re.sub(r'.*?{\\\"content\\\"\\\n :', '', arg1, count=1)\\n result = re.sub(r'.*?(\\\\\\\"\\\\\\\\n)', '', result,\\\n \\ count=1)\\n result = re.sub(r'(\\\\\\\"}, \\\\\\\"finish_reason\\\\\\\".*)', '',\\\n \\ result, flags=re.DOTALL)\\n return {\\n \\\"result\\\": result,\\n\\\n \\ }\\n\"\n code_language: python3\n outputs:\n result:\n children: null\n type: string\n selected: false\n title: \u5f15\u5bfc\u8bcd\u683c\u5f0f\u4fee\u6b63\n type: code\n variables:\n - value_selector:\n - '17666588259460'\n - body\n value_type: string\n variable: arg1\n height: 52\n id: '17677487224360'\n position:\n x: 3003.434211354486\n y: -373.74936226508623\n positionAbsolute:\n x: 3003.434211354486\n y: -373.74936226508623\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n - data:\n code: \"import re\\n\\ndef main(arg1: str):\\n result = re.sub(r'.*?{\\\"content\\\"\\\n :', '', arg1, count=1)\\n result = re.sub(r'.*?(\\\\\\\"\\\\\\\\n)', '', result,\\\n \\ count=1)\\n result = re.sub(r'(\\\\\\\"}, \\\\\\\"finish_reason\\\\\\\".*)', '',\\\n \\ result, flags=re.DOTALL)\\n return {\\n \\\"result\\\": result,\\n\\\n \\ }\\n\"\n code_language: python3\n outputs:\n result:\n children: null\n type: string\n selected: false\n title: \u5f15\u5bfc\u8bcd\u683c\u5f0f\u4fee\u6b632\n type: code\n variables:\n - value_selector:\n - '17667264218480'\n - body\n value_type: string\n variable: arg1\n height: 52\n id: '17677497085030'\n position:\n x: 2925.420471711777\n y: 1416.0668749341942\n positionAbsolute:\n x: 2925.420471711777\n y: 1416.0668749341942\n selected: false\n sourcePosition: right\n targetPosition: left\n type: custom\n width: 242\n viewport:\n x: -20.655782142368025\n y: 140.50078002030034\n zoom: 0.25\n rag_pipeline_variables: []\n"}