Преглед изворни кода

Merge branch 'zhouqi' of uskycloud/usky-dev-doc into master

zhouqi пре 1 дан
родитељ
комит
872ef23465
2 измењених фајлова са 1451 додато и 0 уклоњено
  1. 104 0
      技术分享/云服务器历史漏洞修复指南.md
  2. 1347 0
      技术分享/小天AI.yaml

+ 104 - 0
技术分享/云服务器历史漏洞修复指南.md

@@ -0,0 +1,104 @@
+
+# 云服务器历史漏洞修复指南
+
+---
+
+## 1. [Linux polkit 本地权限提升漏洞(CVE-2021-4034)修复]
+
+该漏洞可导致本地权限提升,可通过更新 `polkit` 包修复。
+
+**修复命令:**
+
+```bash
+yum clean all && yum makecache
+yum update polkit -y
+```
+
+---
+
+## 2. runc 文件描述符泄漏导致容器逃逸漏洞(CVE-2024-21626)修复
+
+此漏洞可能允许容器突破隔离,修复方法为替换为最新版 `runc`。
+
+**修复步骤:**
+
+1. 下载新版 runc:
+
+    ```bash
+    cd /opt && wget https://github.com/opencontainers/runc/releases/download/v1.1.12/runc.amd64
+    ```
+
+2. 备份原始 runc 工具:
+
+    ```bash
+    mv /usr/bin/runc /usr/bin/runcbak
+    ```
+
+3. 更新为新版本并设置执行权限:
+
+    ```bash
+    mv /opt/runc.amd64 /usr/bin/runc
+    chmod +x /usr/bin/runc
+    ```
+
+4. 重启 Docker 并检查 runc 是否更新成功:
+
+    ```bash
+    systemctl restart docker.service
+    docker version
+    ```
+
+---
+
+## 3. Spring Boot Actuator 未授权访问远程代码执行漏洞修复
+
+未授权访问 Actuator 接口存在执行风险,需引入权限控制。
+
+### 步骤一:在 `pom.xml` 中添加依赖
+
+```xml
+<dependency>
+  <groupId>org.springframework.boot</groupId>
+  <artifactId>spring-boot-starter-actuator</artifactId>
+</dependency>
+<dependency>
+  <groupId>org.springframework.boot</groupId>
+  <artifactId>spring-boot-starter-security</artifactId>
+</dependency>
+```
+
+### 步骤二:在 `application.properties` 中启用认证配置
+
+```properties
+management.port=8099
+management.security.enabled=true
+security.user.name=yourUsername
+security.user.password=yourPassword
+```
+
+> 完成后请重启服务以使配置生效。
+
+---
+
+## 4. Spring Boot Actuator 未授权访问漏洞修复(简化版)
+
+仅需防止 Actuator 被任意访问时,可使用如下简化配置:
+
+### 步骤一:在 `pom.xml` 中添加依赖
+
+```xml
+<dependency>
+  <groupId>org.springframework.boot</groupId>
+  <artifactId>spring-boot-starter-security</artifactId>
+</dependency>
+```
+
+### 步骤二:配置账号密码启用访问控制
+
+```properties
+management.security.enabled=true
+security.user.name=admin
+security.user.password=admin
+```
+
+

+ 1347 - 0
技术分享/小天AI.yaml

@@ -0,0 +1,1347 @@
+app:
+  description: ''
+  icon: 🤖
+  icon_background: '#FFEAD5'
+  mode: advanced-chat
+  name: 小天AI 1.0
+  use_icon_as_answer_icon: true
+dependencies:
+- current_identifier: null
+  type: marketplace
+  value:
+    marketplace_plugin_unique_identifier: langgenius/tongyi:0.0.26@4f1c4ded3d189719b7dd54e9d4e5b26f724f3632f3dfaa299491b42accc112c8
+kind: app
+version: 0.3.0
+workflow:
+  conversation_variables: []
+  environment_variables: []
+  features:
+    file_upload:
+      allowed_file_extensions:
+      - .JPG
+      - .JPEG
+      - .PNG
+      - .GIF
+      - .WEBP
+      - .SVG
+      allowed_file_types:
+      - video
+      - audio
+      - image
+      - document
+      allowed_file_upload_methods:
+      - remote_url
+      - local_file
+      enabled: true
+      fileUploadConfig:
+        audio_file_size_limit: 50
+        batch_count_limit: 5
+        file_size_limit: 15
+        image_file_size_limit: 10
+        video_file_size_limit: 100
+        workflow_file_upload_limit: 10
+      image:
+        enabled: false
+        number_limits: 3
+        transfer_methods:
+        - local_file
+        - remote_url
+      number_limits: 10
+    opening_statement: '您好!我是小天AI,请问您想了解公司哪方面的制度或政策?我将严格按照公司制度文件为您查询相关条款。
+
+      其他问题也可以来问我哦!'
+    retriever_resource:
+      enabled: true
+    sensitive_word_avoidance:
+      enabled: false
+    speech_to_text:
+      enabled: true
+    suggested_questions:
+    - 永天官网
+    - 公司管理制度
+    - 项目中心文件
+    - 销售一部
+    suggested_questions_after_answer:
+      enabled: true
+    text_to_speech:
+      autoPlay: disabled
+      enabled: true
+      language: zh-Hans
+      voice: sambert-zhistella-v1
+  graph:
+    edges:
+    - data:
+        isInIteration: false
+        isInLoop: false
+        sourceType: llm
+        targetType: llm
+      id: 1750838653196-source-1750838658588-target
+      selected: false
+      source: '1750838653196'
+      sourceHandle: source
+      target: '1750838658588'
+      targetHandle: target
+      type: custom
+      zIndex: 0
+    - data:
+        isInLoop: false
+        sourceType: knowledge-retrieval
+        targetType: if-else
+      id: 1750838438408-source-1750838502680-target
+      source: '1750838438408'
+      sourceHandle: source
+      target: '1750838502680'
+      targetHandle: target
+      type: custom
+      zIndex: 0
+    - data:
+        isInIteration: false
+        isInLoop: false
+        sourceType: if-else
+        targetType: llm
+      id: 1750838502680-true-1750839121921-target
+      selected: false
+      source: '1750838502680'
+      sourceHandle: 'true'
+      target: '1750839121921'
+      targetHandle: target
+      type: custom
+      zIndex: 0
+    - data:
+        isInLoop: false
+        sourceType: if-else
+        targetType: knowledge-retrieval
+      id: 1750838502680-05eebbca-cf7e-4d3a-abeb-353498633277-1750840453674-target
+      source: '1750838502680'
+      sourceHandle: 05eebbca-cf7e-4d3a-abeb-353498633277
+      target: '1750840453674'
+      targetHandle: target
+      type: custom
+      zIndex: 0
+    - data:
+        isInLoop: false
+        sourceType: knowledge-retrieval
+        targetType: llm
+      id: 1750840453674-source-1750840420183-target
+      source: '1750840453674'
+      sourceHandle: source
+      target: '1750840420183'
+      targetHandle: target
+      type: custom
+      zIndex: 0
+    - data:
+        isInIteration: false
+        isInLoop: false
+        sourceType: start
+        targetType: document-extractor
+      id: 1750838415119-source-1750899456223-target
+      source: '1750838415119'
+      sourceHandle: source
+      target: '1750899456223'
+      targetHandle: target
+      type: custom
+      zIndex: 0
+    - data:
+        isInIteration: false
+        isInLoop: false
+        sourceType: document-extractor
+        targetType: if-else
+      id: 1750899456223-source-1750899478909-target
+      source: '1750899456223'
+      sourceHandle: source
+      target: '1750899478909'
+      targetHandle: target
+      type: custom
+      zIndex: 0
+    - data:
+        isInLoop: false
+        sourceType: if-else
+        targetType: llm
+      id: 1750899478909-true-1750899636291-target
+      source: '1750899478909'
+      sourceHandle: 'true'
+      target: '1750899636291'
+      targetHandle: target
+      type: custom
+      zIndex: 0
+    - data:
+        isInIteration: false
+        isInLoop: false
+        sourceType: if-else
+        targetType: if-else
+      id: 1750899478909-false-1750901008681-target
+      source: '1750899478909'
+      sourceHandle: 'false'
+      target: '1750901008681'
+      targetHandle: target
+      type: custom
+      zIndex: 0
+    - data:
+        isInLoop: false
+        sourceType: if-else
+        targetType: knowledge-retrieval
+      id: 1750901008681-false-1750838438408-target
+      source: '1750901008681'
+      sourceHandle: 'false'
+      target: '1750838438408'
+      targetHandle: target
+      type: custom
+      zIndex: 0
+    - data:
+        isInIteration: false
+        isInLoop: false
+        sourceType: if-else
+        targetType: answer
+      id: 1750901008681-true-1750901328259-target
+      source: '1750901008681'
+      sourceHandle: 'true'
+      target: '1750901328259'
+      targetHandle: target
+      type: custom
+      zIndex: 0
+    - data:
+        isInLoop: false
+        sourceType: if-else
+        targetType: question-classifier
+      id: 1750838502680-false-1750903813756-target
+      source: '1750838502680'
+      sourceHandle: 'false'
+      target: '1750903813756'
+      targetHandle: target
+      type: custom
+      zIndex: 0
+    - data:
+        isInLoop: false
+        sourceType: question-classifier
+        targetType: llm
+      id: 1750903813756-2-1750838653196-target
+      source: '1750903813756'
+      sourceHandle: '2'
+      target: '1750838653196'
+      targetHandle: target
+      type: custom
+      zIndex: 0
+    - data:
+        isInIteration: false
+        isInLoop: false
+        sourceType: question-classifier
+        targetType: knowledge-retrieval
+      id: 1750903813756-1-1750904345958-target
+      source: '1750903813756'
+      sourceHandle: '1'
+      target: '1750904345958'
+      targetHandle: target
+      type: custom
+      zIndex: 0
+    - data:
+        isInIteration: false
+        isInLoop: false
+        sourceType: knowledge-retrieval
+        targetType: llm
+      id: 1750904345958-source-1750904357634-target
+      source: '1750904345958'
+      sourceHandle: source
+      target: '1750904357634'
+      targetHandle: target
+      type: custom
+      zIndex: 0
+    - data:
+        isInIteration: false
+        isInLoop: false
+        sourceType: question-classifier
+        targetType: answer
+      id: 1750903813756-1750913677887-1750913817463-target
+      source: '1750903813756'
+      sourceHandle: '1750913677887'
+      target: '1750913817463'
+      targetHandle: target
+      type: custom
+      zIndex: 0
+    - data:
+        isInLoop: false
+        sourceType: if-else
+        targetType: answer
+      id: 1750901008681-984751c0-da40-4fcb-98c0-13092bfc9bd0-1750921716927-target
+      source: '1750901008681'
+      sourceHandle: 984751c0-da40-4fcb-98c0-13092bfc9bd0
+      target: '1750921716927'
+      targetHandle: target
+      type: custom
+      zIndex: 0
+    - data:
+        isInLoop: false
+        sourceType: if-else
+        targetType: answer
+      id: 1750901008681-9ca28757-fb24-4935-8b98-0debe4901cd6-1751264828230-target
+      source: '1750901008681'
+      sourceHandle: 9ca28757-fb24-4935-8b98-0debe4901cd6
+      target: '1751264828230'
+      targetHandle: target
+      type: custom
+      zIndex: 0
+    - data:
+        isInIteration: false
+        isInLoop: false
+        sourceType: if-else
+        targetType: answer
+      id: 1750901008681-6ef8fa12-aace-4d9e-b073-3e69404d6d75-1751426336781-target
+      source: '1750901008681'
+      sourceHandle: 6ef8fa12-aace-4d9e-b073-3e69404d6d75
+      target: '1751426336781'
+      targetHandle: target
+      type: custom
+      zIndex: 0
+    - data:
+        isInLoop: false
+        sourceType: llm
+        targetType: variable-aggregator
+      id: 1750899636291-source-1752653360192-target
+      source: '1750899636291'
+      sourceHandle: source
+      target: '1752653360192'
+      targetHandle: target
+      type: custom
+      zIndex: 0
+    - data:
+        isInLoop: false
+        sourceType: llm
+        targetType: variable-aggregator
+      id: 1750839121921-source-1752653360192-target
+      source: '1750839121921'
+      sourceHandle: source
+      target: '1752653360192'
+      targetHandle: target
+      type: custom
+      zIndex: 0
+    - data:
+        isInLoop: false
+        sourceType: llm
+        targetType: variable-aggregator
+      id: 1750840420183-source-1752653360192-target
+      source: '1750840420183'
+      sourceHandle: source
+      target: '1752653360192'
+      targetHandle: target
+      type: custom
+      zIndex: 0
+    - data:
+        isInLoop: false
+        sourceType: llm
+        targetType: variable-aggregator
+      id: 1750838658588-source-1752653360192-target
+      source: '1750838658588'
+      sourceHandle: source
+      target: '1752653360192'
+      targetHandle: target
+      type: custom
+      zIndex: 0
+    - data:
+        isInLoop: false
+        sourceType: llm
+        targetType: variable-aggregator
+      id: 1750904357634-source-1752653360192-target
+      source: '1750904357634'
+      sourceHandle: source
+      target: '1752653360192'
+      targetHandle: target
+      type: custom
+      zIndex: 0
+    - data:
+        isInIteration: false
+        isInLoop: false
+        sourceType: variable-aggregator
+        targetType: answer
+      id: 1752653360192-source-1752653505493-target
+      source: '1752653360192'
+      sourceHandle: source
+      target: '1752653505493'
+      targetHandle: target
+      type: custom
+      zIndex: 0
+    nodes:
+    - data:
+        desc: ''
+        selected: false
+        title: 开始
+        type: start
+        variables: []
+      height: 53
+      id: '1750838415119'
+      position:
+        x: 30
+        y: 262.5
+      positionAbsolute:
+        x: 30
+        y: 262.5
+      selected: false
+      sourcePosition: right
+      targetPosition: left
+      type: custom
+      width: 243
+    - data:
+        dataset_ids:
+        - Q5YqeIuF/VPGCJgq1oV3vF96VaQlTjFsZWv02DpqfrjdCVB39CLOypCIzTLigT5n
+        - 2pRL8YJeQCzo5Z280Xx3/PrZ3N7tfL7XsB6dXa6g3zXOLXdk0ROB5wP08+nNoXou
+        - EWeBLl+yNAmGUZ6vIIIBEa9LXR8oiun5FxAcd82ji5TP5Hl4BDT88G73wrRgL3zl
+        - u9jEwchMFePzC9Z+4ivzI9/lVsxNxZ4/D2Yl0xsp83GKRAQbtDuNL2v/BCykfLuj
+        desc: ''
+        metadata_filtering_mode: disabled
+        metadata_model_config:
+          completion_params: {}
+          mode: chat
+          name: qwen-turbo-latest
+          provider: langgenius/tongyi/tongyi
+        multiple_retrieval_config:
+          reranking_enable: true
+          reranking_mode: reranking_model
+          reranking_model:
+            model: gte-rerank-v2
+            provider: langgenius/tongyi/tongyi
+          score_threshold: 0.2
+          top_k: 10
+        query_variable_selector:
+        - sys
+        - query
+        retrieval_mode: multiple
+        selected: false
+        title: 知识检索
+        type: knowledge-retrieval
+      height: 175
+      id: '1750838438408'
+      position:
+        x: 1242
+        y: 2500
+      positionAbsolute:
+        x: 1242
+        y: 2500
+      selected: false
+      sourcePosition: right
+      targetPosition: left
+      type: custom
+      width: 243
+    - data:
+        cases:
+        - case_id: 'true'
+          conditions:
+          - comparison_operator: not empty
+            id: 88bff52e-de24-42bc-8e30-d2df8be2cd8f
+            value: ''
+            varType: array[object]
+            variable_selector:
+            - '1750838438408'
+            - result
+          id: 'true'
+          logical_operator: and
+        - case_id: 05eebbca-cf7e-4d3a-abeb-353498633277
+          conditions:
+          - comparison_operator: contains
+            id: 24b74a0f-460e-487d-9944-c7c933208b0d
+            value: 永天
+            varType: string
+            variable_selector:
+            - sys
+            - query
+          - comparison_operator: contains
+            id: 45abceb4-c689-43f9-8c15-f1b447e42596
+            value: 觉大
+            varType: string
+            variable_selector:
+            - sys
+            - query
+          id: 05eebbca-cf7e-4d3a-abeb-353498633277
+          logical_operator: or
+        desc: ''
+        selected: false
+        title: 条件分支
+        type: if-else
+      height: 199
+      id: '1750838502680'
+      position:
+        x: 1545
+        y: 2500
+      positionAbsolute:
+        x: 1545
+        y: 2500
+      selected: false
+      sourcePosition: right
+      targetPosition: left
+      type: custom
+      width: 243
+    - data:
+        context:
+          enabled: true
+          variable_selector:
+          - '1750838438408'
+          - result
+        desc: ''
+        memory:
+          query_prompt_template: '{{#sys.query#}}'
+          role_prefix:
+            assistant: ''
+            user: ''
+          window:
+            enabled: false
+            size: 50
+        model:
+          completion_params:
+            enable_search: true
+            enable_thinking: true
+            thinking_budget: 1
+          mode: chat
+          name: qwen-turbo-2025-04-28
+          provider: langgenius/tongyi/tongyi
+        prompt_template:
+        - edition_type: basic
+          id: 4ccb9a89-4bf2-4555-acb3-c63aac589b98
+          role: system
+          text: '使用以下上下文作为你所学习的知识,放在<context></context> XML标签内。
+
+            <context>
+
+            {{#context#}}
+
+            </context>
+
+            当回答用户时:
+
+            如果你不知道,就说你不知道。如果你不确定时不知道,寻求澄清。
+
+            避免提及你从上下文中获取的信息。
+
+            并根据用户问题的语言进行回答。
+
+            以最少时间响应输出并确保准确。
+
+            输出答案不要犯常识性错误
+
+            '
+        selected: false
+        title: LLM 2
+        type: llm
+        variables: []
+        vision:
+          enabled: false
+      height: 89
+      id: '1750838653196'
+      position:
+        x: 2151
+        y: 3033
+      positionAbsolute:
+        x: 2151
+        y: 3033
+      selected: false
+      sourcePosition: right
+      targetPosition: left
+      type: custom
+      width: 243
+    - data:
+        context:
+          enabled: true
+          variable_selector:
+          - '1750838653196'
+          - text
+        desc: ''
+        memory:
+          query_prompt_template: '{{#sys.query#}}'
+          role_prefix:
+            assistant: ''
+            user: ''
+          window:
+            enabled: false
+            size: 50
+        model:
+          completion_params:
+            enable_search: true
+          mode: chat
+          name: qwen-turbo-2025-04-28
+          provider: langgenius/tongyi/tongyi
+        prompt_template:
+        - id: 8bea233d-f372-4c9c-8d22-57f4f3c26858
+          role: system
+          text: '{{#1750838653196.text#}}
+
+            {{#context#}}
+
+            你需要尽快检查上文答案,如果错误进行修改,然后优化答案。如果答案正确,则优化答案后输出。
+
+            不要输出:这个信息是正确的,无需修改。以下是优化后的表述:
+
+            以最少时间响应输出并确保准确。
+
+            输出答案不要犯常识性错误例如:205年应该为2025年'
+        selected: false
+        title: LLM 3
+        type: llm
+        variables: []
+        vision:
+          enabled: false
+      height: 89
+      id: '1750838658588'
+      position:
+        x: 2454
+        y: 2990
+      positionAbsolute:
+        x: 2454
+        y: 2990
+      selected: false
+      sourcePosition: right
+      targetPosition: left
+      type: custom
+      width: 243
+    - data:
+        context:
+          enabled: true
+          variable_selector:
+          - '1750838438408'
+          - result
+        desc: ''
+        memory:
+          query_prompt_template: '{{#sys.query#}}'
+          role_prefix:
+            assistant: ''
+            user: ''
+          window:
+            enabled: false
+            size: 50
+        model:
+          completion_params: {}
+          mode: chat
+          name: qwen-turbo-2025-04-28
+          provider: langgenius/tongyi/tongyi
+        prompt_template:
+        - id: d900b1be-53fb-4751-8af5-401535f816b9
+          role: system
+          text: "这里是上海永天(简称永天或永天科技)公司的公司制度知识库,你是永天公司的人事专员,你要严格按照员工知识库里相关的制度文件的原文条款或图片及表格进行完整的引用回复,详细列出原文中的条款编号和条款内容或图片或者表格,列出所引用条款出处的文件,不要进行发散,也不要改写,如果没找到就说没找到。如涉及有表格和图片,必须进行引用和显示,没有表格的不要画蛇添足。员工或客户询问时,都会简称永天或永天科技或永天集团,比如询问永天绩效管理,实际上问的就是知识库里的绩效管理。全部用简体中文来回答\n\
+            \ - 公式的渲染采用$$包裹\n- HTML需要用网页方式展示,不要只是显示HTML代码\n必须找到相关条款{{#context#}}\n\
+            -请根据回答回答内容和知识库内容,引导用户进行下一步问答\n-优化答案格式,使用户清晰明了\n"
+        selected: false
+        title: LLM 3
+        type: llm
+        variables: []
+        vision:
+          enabled: false
+      height: 89
+      id: '1750839121921'
+      position:
+        x: 2454
+        y: 2500
+      positionAbsolute:
+        x: 2454
+        y: 2500
+      selected: false
+      sourcePosition: right
+      targetPosition: left
+      type: custom
+      width: 243
+    - data:
+        context:
+          enabled: true
+          variable_selector:
+          - '1750840453674'
+          - result
+        desc: ''
+        memory:
+          query_prompt_template: '{{#sys.query#}}'
+          role_prefix:
+            assistant: ''
+            user: ''
+          window:
+            enabled: false
+            size: 50
+        model:
+          completion_params: {}
+          mode: chat
+          name: qwen-turbo-2025-04-28
+          provider: langgenius/tongyi/tongyi
+        prompt_template:
+        - id: 0204eb7e-cf52-4101-bdf7-b2875e118240
+          role: system
+          text: "这里是上海永天(简称永天或永天科技)公司的公司制度知识库,你是永天公司的人事专员,你要严格按照员工知识库里相关的制度文件的原文条款或图片及表格进行完整的引用回复,详细列出原文中的条款编号和条款内容或图片或者表格,列出所引用条款出处的文件,不要进行发散,也不要改写,如果没找到就说没找到。如涉及有表格和图片,必须进行引用和显示,没有表格的不要画蛇添足。员工或客户询问时,都会简称永天或永天科技或永天集团,比如询问永天绩效管理,实际上问的就是知识库里的绩效管理。全部用简体中文来回答\n\
+            \ - 公式的渲染采用$$包裹\n- HTML需要用网页方式展示,不要只是显示HTML代码\n必须找到相关条款{{#context#}}\n\
+            -不要显示被引用文件名称\n-请根据回答回答内容和知识库内容,引导用户进行下一步问答\n-优化回答格式,避免乱码出现"
+        selected: false
+        title: LLM 4
+        type: llm
+        variables: []
+        vision:
+          enabled: false
+      height: 89
+      id: '1750840420183'
+      position:
+        x: 2454
+        y: 2629
+      positionAbsolute:
+        x: 2454
+        y: 2629
+      selected: false
+      sourcePosition: right
+      targetPosition: left
+      type: custom
+      width: 243
+    - data:
+        dataset_ids:
+        - Q5YqeIuF/VPGCJgq1oV3vF96VaQlTjFsZWv02DpqfrjdCVB39CLOypCIzTLigT5n
+        - 2pRL8YJeQCzo5Z280Xx3/PrZ3N7tfL7XsB6dXa6g3zXOLXdk0ROB5wP08+nNoXou
+        - EWeBLl+yNAmGUZ6vIIIBEa9LXR8oiun5FxAcd82ji5TP5Hl4BDT88G73wrRgL3zl
+        - u9jEwchMFePzC9Z+4ivzI9/lVsxNxZ4/D2Yl0xsp83GKRAQbtDuNL2v/BCykfLuj
+        desc: ''
+        metadata_filtering_mode: disabled
+        multiple_retrieval_config:
+          reranking_enable: true
+          reranking_mode: reranking_model
+          reranking_model:
+            model: gte-rerank-v2
+            provider: langgenius/tongyi/tongyi
+          score_threshold: 0.1
+          top_k: 10
+        query_variable_selector:
+        - '1750838415119'
+        - sys.query
+        retrieval_mode: multiple
+        selected: false
+        title: 知识检索 2
+        type: knowledge-retrieval
+      height: 175
+      id: '1750840453674'
+      position:
+        x: 2151
+        y: 2629
+      positionAbsolute:
+        x: 2151
+        y: 2629
+      selected: false
+      sourcePosition: right
+      targetPosition: left
+      type: custom
+      width: 243
+    - data:
+        desc: ''
+        is_array_file: true
+        selected: false
+        title: 文档提取器
+        type: document-extractor
+        variable_selector:
+        - sys
+        - files
+      height: 91
+      id: '1750899456223'
+      position:
+        x: 333
+        y: 262.5
+      positionAbsolute:
+        x: 333
+        y: 262.5
+      selected: false
+      sourcePosition: right
+      targetPosition: left
+      type: custom
+      width: 243
+    - data:
+        cases:
+        - case_id: 'true'
+          conditions:
+          - comparison_operator: not empty
+            id: 44ed0675-baa8-4a72-a4bc-0f7b63c48b3d
+            value: ''
+            varType: array[string]
+            variable_selector:
+            - '1750899456223'
+            - text
+          id: 'true'
+          logical_operator: and
+        desc: ''
+        selected: false
+        title: 条件分支 2
+        type: if-else
+      height: 125
+      id: '1750899478909'
+      position:
+        x: 636
+        y: 262.5
+      positionAbsolute:
+        x: 636
+        y: 262.5
+      selected: false
+      sourcePosition: right
+      targetPosition: left
+      type: custom
+      width: 243
+    - data:
+        context:
+          enabled: true
+          variable_selector:
+          - '1750899456223'
+          - text
+        desc: ''
+        memory:
+          query_prompt_template: '{{#sys.query#}}'
+          role_prefix:
+            assistant: ''
+            user: ''
+          window:
+            enabled: false
+            size: 50
+        model:
+          completion_params: {}
+          mode: chat
+          name: qwen-turbo-2025-04-28
+          provider: langgenius/tongyi/tongyi
+        prompt_template:
+        - id: 4d857702-333b-47d3-8436-d7997380221a
+          role: system
+          text: '读取文件内容并回答问题{{#1750899456223.text#}}/
+
+            '
+        selected: false
+        title: LLM 5
+        type: llm
+        variables: []
+        vision:
+          enabled: false
+      height: 89
+      id: '1750899636291'
+      position:
+        x: 2454
+        y: 262.5
+      positionAbsolute:
+        x: 2454
+        y: 262.5
+      selected: false
+      sourcePosition: right
+      targetPosition: left
+      type: custom
+      width: 243
+    - data:
+        cases:
+        - case_id: 'true'
+          conditions:
+          - comparison_operator: contains
+            id: 700bce96-ce5b-43fd-8a79-b0233da37635
+            value: 永天官网
+            varType: string
+            variable_selector:
+            - sys
+            - query
+          id: 'true'
+          logical_operator: and
+        - case_id: 984751c0-da40-4fcb-98c0-13092bfc9bd0
+          conditions:
+          - comparison_operator: contains
+            id: fa02d5be-48ab-43c9-b6e3-c669cc2d7ece
+            value: 公司管理制度
+            varType: string
+            variable_selector:
+            - sys
+            - query
+          id: 984751c0-da40-4fcb-98c0-13092bfc9bd0
+          logical_operator: and
+        - case_id: 9ca28757-fb24-4935-8b98-0debe4901cd6
+          conditions:
+          - comparison_operator: contains
+            id: 52aef0ab-1850-4cfb-b60f-d0871d4da5f1
+            value: 项目中心文件
+            varType: string
+            variable_selector:
+            - sys
+            - query
+          id: 9ca28757-fb24-4935-8b98-0debe4901cd6
+          logical_operator: and
+        - case_id: 6ef8fa12-aace-4d9e-b073-3e69404d6d75
+          conditions:
+          - comparison_operator: contains
+            id: 6092b13e-04ac-497f-b13d-303d6f73daba
+            value: 销售一部
+            varType: string
+            variable_selector:
+            - sys
+            - query
+          id: 6ef8fa12-aace-4d9e-b073-3e69404d6d75
+          logical_operator: and
+        desc: ''
+        selected: false
+        title: 条件分支 3
+        type: if-else
+      height: 269
+      id: '1750901008681'
+      position:
+        x: 939
+        y: 427
+      positionAbsolute:
+        x: 939
+        y: 427
+      selected: false
+      sourcePosition: right
+      targetPosition: left
+      type: custom
+      width: 243
+    - data:
+        answer: https://www.usky.cn/
+        desc: ''
+        selected: false
+        title: 直接回复 5
+        type: answer
+        variables: []
+      height: 101
+      id: '1750901328259'
+      position:
+        x: 1242
+        y: 464
+      positionAbsolute:
+        x: 1242
+        y: 464
+      selected: false
+      sourcePosition: right
+      targetPosition: left
+      type: custom
+      width: 243
+    - data:
+        classes:
+        - id: '1'
+          name: '{{#sys.query#}}关于永天和觉大公司的事情
+
+            ////'
+        - id: '2'
+          name: 其他事情/
+        - id: '1750913677887'
+          name: 询问身份的问题////
+        desc: ''
+        instruction: '对问题进行判断{{#sys.query#}}
+
+          如果问题询问包含“公司”,“你们”,“你们公司”,“项目”且前面没有限定词语,则归入分类一,例如“公司什么时候成立的”、“你们有多少台设备”、“你们公司有多少员工”,“介绍某一个项目”等
+
+          不满足分类一的问题请归入分类二,但请注意,公司前加了限定词语如“喜羊羊公司什么时候成立的”类似问题属于分类二
+
+          当问题是对你身份的询问的时候,例如“你是谁”,“你能帮我做什么”类似的问题属于分类三/'
+        instructions: ''
+        memory:
+          query_prompt_template: '{{#sys.query#}}'
+          window:
+            enabled: false
+            size: 50
+        model:
+          completion_params: {}
+          mode: chat
+          name: qwen-turbo-2025-04-28
+          provider: langgenius/tongyi/tongyi
+        query_variable_selector:
+        - sys
+        - query
+        selected: false
+        title: 问题分类器
+        topics: []
+        type: question-classifier
+        vision:
+          enabled: false
+      height: 227
+      id: '1750903813756'
+      position:
+        x: 2042.00000315347
+        y: 2897.00000107283
+      positionAbsolute:
+        x: 2042.00000315347
+        y: 2897.00000107283
+      selected: false
+      sourcePosition: right
+      targetPosition: left
+      type: custom
+      width: 243
+    - data:
+        dataset_ids:
+        - Q5YqeIuF/VPGCJgq1oV3vF96VaQlTjFsZWv02DpqfrjdCVB39CLOypCIzTLigT5n
+        - 2pRL8YJeQCzo5Z280Xx3/PrZ3N7tfL7XsB6dXa6g3zXOLXdk0ROB5wP08+nNoXou
+        - EWeBLl+yNAmGUZ6vIIIBEa9LXR8oiun5FxAcd82ji5TP5Hl4BDT88G73wrRgL3zl
+        - u9jEwchMFePzC9Z+4ivzI9/lVsxNxZ4/D2Yl0xsp83GKRAQbtDuNL2v/BCykfLuj
+        desc: ''
+        multiple_retrieval_config:
+          reranking_enable: true
+          reranking_mode: reranking_model
+          reranking_model:
+            model: gte-rerank-v2
+            provider: langgenius/tongyi/tongyi
+          score_threshold: 0.1
+          top_k: 10
+        query_variable_selector:
+        - '1750838415119'
+        - sys.query
+        retrieval_mode: multiple
+        selected: false
+        title: 知识检索 3
+        type: knowledge-retrieval
+      height: 175
+      id: '1750904345958'
+      position:
+        x: 2151
+        y: 3162
+      positionAbsolute:
+        x: 2151
+        y: 3162
+      selected: false
+      sourcePosition: right
+      targetPosition: left
+      type: custom
+      width: 243
+    - data:
+        context:
+          enabled: true
+          variable_selector:
+          - '1750904345958'
+          - result
+        desc: ''
+        memory:
+          query_prompt_template: '{{#sys.query#}}/'
+          role_prefix:
+            assistant: ''
+            user: ''
+          window:
+            enabled: false
+            size: 50
+        model:
+          completion_params: {}
+          mode: chat
+          name: qwen-turbo-2025-04-28
+          provider: langgenius/tongyi/tongyi
+        prompt_template:
+        - id: 45e7d763-6846-4249-9381-534a1fc4641d
+          role: system
+          text: "这里是上海永天(简称永天或永天科技)公司的公司制度知识库,你是永天公司的人事专员,你要严格按照员工知识库里相关的制度文件的原文条款或图片及表格进行完整的引用回复,详细列出原文中的条款编号和条款内容或图片或者表格,列出所引用条款出处的文件,不要进行发散,也不要改写,如果没找到就说没找到。如涉及有表格和图片,必须进行引用和显示,没有表格的不要画蛇添足。员工或客户询问时,都会简称永天或永天科技或永天集团,比如询问永天绩效管理,实际上问的就是知识库里的绩效管理。全部用简体中文来回答\n\
+            \ - 公式的渲染采用$$包裹\n- HTML需要用网页方式展示,不要只是显示HTML代码\n必须找到相关条款{{#context#}}\n\
+            - 请确保检索正确快速\n-请根据回答回答内容和知识库内容,引导用户进行下一步问答\n-优化回答格式,避免乱码出现"
+        selected: false
+        title: LLM 6
+        type: llm
+        variables: []
+        vision:
+          enabled: false
+      height: 89
+      id: '1750904357634'
+      position:
+        x: 2454
+        y: 3162
+      positionAbsolute:
+        x: 2454
+        y: 3162
+      selected: false
+      sourcePosition: right
+      targetPosition: left
+      type: custom
+      width: 243
+    - data:
+        answer: '我是小天AI,请问您想了解公司哪方面的制度或政策?我将严格按照公司制度文件为您查询相关条款。
+
+          其他问题也可以来问我哦!'
+        desc: ''
+        selected: false
+        title: 直接回复 7
+        type: answer
+        variables: []
+      height: 149
+      id: '1750913817463'
+      position:
+        x: 2151
+        y: 2844
+      positionAbsolute:
+        x: 2151
+        y: 2844
+      selected: false
+      sourcePosition: right
+      targetPosition: left
+      type: custom
+      width: 243
+    - data:
+        answer: '很高兴你对公司的管理制度感兴趣!这些制度是为了让我们的工作更加规范、高效,同时也保障每一位员工的权益。如果你有任何问题或者需要进一步了解某个制度的内容,随时可以问我哦~
+
+          下面我先简单介绍一下我们公司的一些主要管理制度,方便你有个初步的了解:
+
+          🌟 1. 网络采购管理制度
+
+
+          🌟 2. 项目回款奖惩机制
+
+
+          🌟 3. 资质证书建设激励机制
+
+
+          🌟 4. 投标组奖惩机制
+
+
+          🌟 5. 政府专项补助激励机制
+
+
+          🌟 6. 员工手册
+
+
+          🌟 7. 财务报销制度及流程
+
+
+          🌟 8. 财务管理制度
+
+
+          🌟 9. 固定资产管理制度
+
+
+          🌟 10. 关于长期驻场外省项目人员补助
+
+
+          🌟 11. 考勤与休假管理制度
+
+
+          🌟 12. 施工队伍选择原则
+
+
+          🌟 13. 项目深化要求(V2.0)
+
+          如果你对其中任何一个制度特别感兴趣,或者想了解更详细的内容,都可以告诉我,我会用温柔又清晰的方式为你讲解~💬✨
+
+          期待你的提问哦!😊'
+        desc: ''
+        selected: false
+        title: 直接回复 8
+        type: answer
+        variables: []
+      height: 421
+      id: '1750921716927'
+      position:
+        x: 1242
+        y: 605
+      positionAbsolute:
+        x: 1242
+        y: 605
+      selected: false
+      sourcePosition: right
+      targetPosition: left
+      type: custom
+      width: 243
+    - data:
+        answer: '很高兴你对公司的项目管理文档感兴趣!这些文档涵盖了从项目启动、执行到验收的各个环节,旨在帮助我们规范流程、提升效率,并保障项目质量和合规性。如果你对其中任何一份资料想要了解更多,随时告诉我,我会为你做更详细的解读~💬✨
+
+          下面先给你一个简要一览,方便你对各类项目文件有个初步认识:
+
+          🌟 01. 项目经理手册
+
+          🌟 02. 项目职责说明
+
+          🌟 03. 施工规范
+
+          🌟 04. 公司项目编号规则
+
+          🌟 05. 上海资料报验表
+
+          🌟 06. 施工安全交底文件
+
+          🌟 07. 三级安全教育记录
+
+          🌟 08. 施工技术交底文件
+
+          🌟 09. 施工指令单、合同单、完工单
+
+          🌟 10. 施工请款单
+
+          🌟 11. 物业培训单与移交单
+
+          🌟 12. 项目部移交运维部要求
+
+          🌟 13. 项目部归档资料清单
+
+          🌟 14. 开票申请单
+
+          🌟 15. 报销格式模板
+
+          🌟 16. 项目深化图型案例
+
+          🌟 17. 项目深化数据表格
+
+          🌟 18. 项目预算表格
+
+          🌟 19. 上海验收规范
+
+          🌟 20. 江苏资料报验表
+
+          🌟 21. 上海报验智能化表格
+
+          🌟 22. 项目结算确认单
+
+          🌟 23. 项目竣工验收单
+
+          🌟 24. 质量检查及整改通知单
+
+          🌟 25. 项目特批单
+
+          🌟 26. 江苏省验收规范
+
+          如果你想深入了解某个文件的内容、使用场景或填写指南,请告诉我哦!😊'
+        desc: ''
+        selected: false
+        title: 直接回复 9
+        type: answer
+        variables: []
+      height: 533
+      id: '1751264828230'
+      position:
+        x: 1242
+        y: 1066
+      positionAbsolute:
+        x: 1242
+        y: 1066
+      selected: false
+      sourcePosition: right
+      targetPosition: left
+      type: custom
+      width: 243
+    - data:
+        answer: '很高兴为您整理并呈现项目一部项目文件清单,助您快速了解各类智能化工程与维保合同的核心资料。如需深入了解任意一项,请随时告诉我~💬✨
+
+          🌟 堡垒机维保
+
+          🌟 嘉兴东栅未来城市项目二三期智能化工程
+
+          🌟 保利南大项目智能化工程
+
+          🌟 保利普陀项目智能化工程
+
+          🌟 华润闵行项目智能化工程
+
+          🌟 保利洞泾项目
+
+          🌟 华润观宸润府弱电智能化供应及安装工程
+
+          🌟 保利莘庄项目智能化工程
+
+          🌟 中铁二十三局嘉定云翔拓展基地经济适用房智能化工程
+
+          🌟 大元江盖上地块智能化工程项目
+
+          🌟 龙光10-02能耗监测项目
+
+          🌟 印象青城大区智能化工程
+
+          🌟 保利重固项目智能化项目
+
+          🌟 华府天地林府智能化工程
+
+          🌟 嘉定华润时代之城智能化工程
+
+          🌟 上海万象城停车改造工程
+
+          🌟 象屿普陀智能化工程
+
+          🌟 保利封浜项目智能化工程
+
+          🌟 龙光10-02智慧停车系统供应及安装工程
+
+          🌟 保利45街坊项目智能化工程
+
+          🌟 中海徐汇滨江智能化分包工程
+
+          🌟 绿地三林滨江新建项目物联网工程
+
+          🌟 华润酒店音视频系统集中采购工程
+
+          🌟 世博园区商业信息化采购工程
+
+          🌟 Tenable.ot工控安全核心平台销售项目
+
+          🌟 上海国际旅游度假区运营管理平台运维维护保养
+
+          🌟 曹家渡社区项目
+
+          🌟 保利唐镇项目智能化工程
+
+          🌟 保利永兴路项目智能化工程
+
+          🌟 上海华润杨思项目智能化工程
+
+          🌟 华润加解密及人防物联网设备集中采购
+
+          🌟 华润宝山二期二标段弱电智能化供应及安装工程
+
+          🌟 华润宝山二期一标段弱电智能化供应及安装工程
+
+          🌟 上海枫泾福朋喜来登臻品之选酒店弱电及AV视听工程
+
+          🌟 苏河湾中心华润城市展厅无线网络覆盖工程
+
+          🌟 华新大居修缮工程非机动车车棚消防设施安装工程
+
+          🌟 中建玖和大宁展示区项目
+
+          🌟 保利花木路项目
+
+          🌟 南通澐璟项目三网合一及无线信号覆盖工程
+
+          🌟 上海市老年大学无人机微课合作服务
+
+          以上就是本次整理的所有项目文件名称,希望能帮助您快速定位与查阅。若有任何疑问或需要详细解读,随时向我发起提问,祝您的项目顺利推进!😊
+
+          '
+        desc: ''
+        selected: false
+        title: 直接回复 10
+        type: answer
+        variables: []
+      height: 821
+      id: '1751426336781'
+      position:
+        x: 1242
+        y: 1639
+      positionAbsolute:
+        x: 1242
+        y: 1639
+      selected: false
+      sourcePosition: right
+      targetPosition: left
+      type: custom
+      width: 243
+    - data:
+        desc: ''
+        output_type: string
+        selected: false
+        title: 变量聚合器
+        type: variable-aggregator
+        variables:
+        - - '1750839121921'
+          - text
+        - - '1750899636291'
+          - text
+        - - '1750838658588'
+          - text
+        - - '1750904357634'
+          - text
+        - - '1750840420183'
+          - text
+      height: 194
+      id: '1752653360192'
+      position:
+        x: 2757
+        y: 2629
+      positionAbsolute:
+        x: 2757
+        y: 2629
+      selected: false
+      sourcePosition: right
+      targetPosition: left
+      type: custom
+      width: 243
+    - data:
+        answer: '{{#1752653360192.output#}}'
+        desc: ''
+        selected: false
+        title: 直接回复 6
+        type: answer
+        variables: []
+      height: 104
+      id: '1752653505493'
+      position:
+        x: 3572
+        y: 2577
+      positionAbsolute:
+        x: 3572
+        y: 2577
+      selected: true
+      sourcePosition: right
+      targetPosition: left
+      type: custom
+      width: 243
+    viewport:
+      x: 77.11738975319724
+      y: 103.95167386160921
+      zoom: 0.25