├── .DS_Store ├── DSL ├── AgentFlow.yml ├── Agent工具调用.yml ├── Artifact.yml ├── Claude3 Code Translation.yml ├── Deep Researcher On Dify .yml ├── Demo-tod_agent.yml ├── Dify 运营一条龙.yml ├── Document_chat_template.yml ├── DuckDuckGo翻译+LLM二次翻译.yml ├── File_read.yml ├── Form表单聊天Demo.yml ├── Jina Reader Jinja.yml ├── LanguageConsistencyChecker.yml ├── MCP-amap.yml ├── MCP.yml ├── Python Coding Prompt.yml ├── SEO Slug Generator.yml ├── Text to Card Iteration.yml ├── chart_demo.yml ├── dify_course_demo.yml ├── jieba.yml ├── json-repair.yml ├── json_translate.yml ├── llm2o1.cn.yml ├── matplotlib.yml ├── runLLMCode.yml ├── simple-kimi.yml ├── translation_workflow.yml ├── 中译英.yml ├── 全书翻译.yml ├── 图文知识库 │ ├── 图文知识库.yml │ └── 知识库内容 │ │ ├── coffbox开启Gemini和Anthropic代理,chatwise连接方法.md │ │ └── 我是技术小白,如何用好DIFY.md ├── 完蛋!我被LLM包围了! .yml ├── 完蛋!我被LLM包围了!(战绩排行版).yml ├── 宝玉的英译中优化版.yml ├── 思考助手.yml ├── 搜索大师.yml ├── 数据分析.7z ├── 文章仿写-单图_多图自动搭配.yml ├── 旅行Demo.yml ├── 春联生成器 (“福”到了版本).yml ├── 春联生成器.yml ├── 标题党创作.yml ├── 根据用户的意图进行回复.yml ├── 瞎说新语v2.yml ├── 腾讯云SubtitleInfo.yml └── 记忆测试.yml ├── LICENSE ├── README.md ├── README_EN.md ├── chat_history.md ├── images ├── 002.png ├── 1211746699348_.pic.jpg ├── 1321746706833_.pic.jpg ├── 1481746757318_.pic.jpg ├── 1581746757684_.pic.jpg ├── 1641746757899_.pic.jpg ├── 1801746762497_.pic.jpg ├── 1811746762515_.pic.jpg ├── 1891746771390_.pic.jpg ├── 1951746847183_.pic.jpg ├── 2021746869092_.pic.jpg ├── 2071746869174_.pic.jpg ├── 211746674542_.pic.jpg ├── 2151746869326_.pic.jpg ├── 2171746869347_.pic.jpg ├── 2181746869358_.pic.jpg ├── 2261746869712_.pic.jpg ├── 2311746869814_.pic.jpg ├── 2391746869976_.pic.jpg ├── 2581746870683_.pic.jpg ├── 2751746871349_.pic.jpg ├── 2771746871360_.pic.jpg ├── 2901746871898_.pic.jpg ├── 2941746872155_.pic.jpg ├── 3001746926845_.pic.jpg ├── 301746674696_.pic.jpg ├── 3091746930584_.pic.jpg ├── 3131746931620_.pic.jpg ├── 3211746935046_.pic.jpg ├── 3221746935055_.pic.jpg ├── 3231746935081_.pic.jpg ├── 3381746946377_.pic.jpg ├── 3541747015676_.pic.jpg ├── 3611747042969_.pic.jpg ├── 451746675262_.pic.jpg ├── 491746675348_.pic.jpg ├── 671746676942_.pic.jpg ├── 691746676987_.pic.jpg ├── 721746677110_.pic.jpg ├── 731746677145_.pic.jpg ├── 741746677162_.pic.jpg ├── Xnip2024-11-19_10-14-02.jpg └── image001.png └── snapshots ├── .DS_Store ├── 001.jpg ├── 005.jpg ├── GZvTSh3aYAEMAQ5.jpeg ├── WechatIMG4894.jpg ├── WechatIMG6110.jpg ├── WechatIMG9731.jpg ├── Xnip2024-07-16_12-45-29.jpg ├── Xnip2024-07-16_12-45-37.jpg ├── Xnip2024-07-16_13-15-39.jpg ├── Xnip2024-07-16_13-17-10.jpg ├── Xnip2024-07-16_13-17-53.jpg ├── Xnip2024-07-16_13-21-13.jpg ├── Xnip2024-07-16_13-42-06.jpg ├── Xnip2024-07-16_16-58-05.jpg ├── Xnip2024-07-24_13-04-11.jpg ├── Xnip2024-07-24_13-06-35.jpg ├── Xnip2024-07-24_13-07-55.jpg ├── Xnip2024-07-24_13-08-49.jpg ├── Xnip2024-07-24_16-33-09.jpg ├── Xnip2024-07-24_16-34-29.jpg ├── Xnip2024-07-29_14-43-54.jpg ├── Xnip2024-08-01_13-47-25.jpg ├── Xnip2024-09-19_12-03-01.jpg ├── Xnip2024-09-30_09-44-00.jpg ├── Xnip2024-10-30_18-02-24.jpg ├── Xnip2024-10-31_17-33-34.jpg ├── Xnip2024-10-31_17-38-34.jpg ├── Xnip2024-10-31_17-45-53.jpg ├── Xnip2024-10-31_17-46-30.jpg ├── Xnip2024-11-12_10-47-42.jpg ├── Xnip2024-11-14_14-03-53.jpg ├── Xnip2024-11-14_15-17-39.jpg ├── Xnip2024-11-15_18-16-26.jpg ├── Xnip2024-11-20_09-45-48.jpg ├── Xnip2024-11-21_09-35-09.jpg ├── Xnip2024-11-22_13-44-07.jpg ├── Xnip2024-11-29_11-40-06.jpg ├── Xnip2024-11-29_11-42-42.jpg ├── Xnip2024-12-05_09-22-43.jpg ├── Xnip2024-12-05_09-26-33.jpg ├── Xnip2024-12-05_10-16-16.jpg ├── Xnip2024-12-05_10-16-25.jpg ├── Xnip2024-12-05_11-10-39.jpg ├── Xnip2024-12-05_11-12-55.jpg ├── Xnip2025-01-21_09-21-11.jpg ├── Xnip2025-01-21_09-22-59.jpg ├── Xnip2025-01-21_09-30-46.jpg ├── Xnip2025-01-21_09-39-18.jpg ├── Xnip2025-01-23_13-22-24.jpg ├── Xnip2025-01-23_13-22-47.jpg ├── Xnip2025-02-17_16-51-30.jpg ├── Xnip2025-02-24_10-12-56.jpg ├── Xnip2025-03-03_18-02-29.jpg ├── Xnip2025-03-03_18-03-42.jpg ├── Xnip2025-03-03_18-03-54.jpg ├── Xnip2025-03-21_10-28-13.jpg ├── Xnip2025-03-26_11-19-23.jpg ├── Xnip2025-04-16_17-05-45.jpg ├── Xnip2025-04-17_10-24-49.jpg ├── Xnip2025-04-17_10-25-14.jpg ├── Xnip2025-04-27_21-43-19.jpg ├── Xnip2025-04-27_21-50-02.jpg ├── Xnip2025-05-08_10-18-20.jpg ├── Xnip2025-05-15_18-48-29.jpg └── Xnip2025-05-16_15-43-49.jpg /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/.DS_Store -------------------------------------------------------------------------------- /DSL/AgentFlow.yml: -------------------------------------------------------------------------------- 1 | app: 2 | description: '' 3 | icon: 🤖 4 | icon_background: '#FFEAD5' 5 | mode: advanced-chat 6 | name: AgentFlow 7 | use_icon_as_answer_icon: false 8 | dependencies: [] 9 | kind: app 10 | version: 0.1.5 11 | workflow: 12 | conversation_variables: [] 13 | environment_variables: [] 14 | features: 15 | file_upload: 16 | allowed_file_extensions: 17 | - .JPG 18 | - .JPEG 19 | - .PNG 20 | - .GIF 21 | - .WEBP 22 | - .SVG 23 | allowed_file_types: 24 | - image 25 | allowed_file_upload_methods: 26 | - local_file 27 | - remote_url 28 | enabled: false 29 | image: 30 | enabled: false 31 | number_limits: 3 32 | transfer_methods: 33 | - local_file 34 | - remote_url 35 | number_limits: 3 36 | opening_statement: '' 37 | retriever_resource: 38 | enabled: true 39 | sensitive_word_avoidance: 40 | enabled: false 41 | speech_to_text: 42 | enabled: false 43 | suggested_questions: [] 44 | suggested_questions_after_answer: 45 | enabled: false 46 | text_to_speech: 47 | enabled: false 48 | language: '' 49 | voice: '' 50 | graph: 51 | edges: 52 | - data: 53 | isInIteration: false 54 | sourceType: start 55 | targetType: agent 56 | id: 1740638793787-source-1740645185279-target 57 | selected: false 58 | source: '1740638793787' 59 | sourceHandle: source 60 | target: '1740645185279' 61 | targetHandle: target 62 | type: custom 63 | zIndex: 0 64 | - data: 65 | isInIteration: false 66 | sourceType: agent 67 | targetType: answer 68 | id: 1740645185279-source-answer-target 69 | selected: false 70 | source: '1740645185279' 71 | sourceHandle: source 72 | target: answer 73 | targetHandle: target 74 | type: custom 75 | zIndex: 0 76 | nodes: 77 | - data: 78 | desc: '' 79 | selected: false 80 | title: 开始 81 | type: start 82 | variables: [] 83 | height: 52 84 | id: '1740638793787' 85 | position: 86 | x: 80 87 | y: 282 88 | positionAbsolute: 89 | x: 80 90 | y: 282 91 | selected: false 92 | sourcePosition: right 93 | targetPosition: left 94 | type: custom 95 | width: 243 96 | - data: 97 | answer: '{{#1740645185279.text#}}' 98 | desc: '' 99 | selected: false 100 | title: 直接回复 101 | type: answer 102 | variables: [] 103 | height: 101 104 | id: answer 105 | position: 106 | x: 707.4166600208597 107 | y: 288.61610048493054 108 | positionAbsolute: 109 | x: 707.4166600208597 110 | y: 288.61610048493054 111 | selected: false 112 | sourcePosition: right 113 | targetPosition: left 114 | type: custom 115 | width: 243 116 | - data: 117 | agent_parameters: 118 | model: 119 | type: constant 120 | value: 121 | completion_params: {} 122 | mode: chat 123 | model: gpt-4o-mini 124 | model_type: llm 125 | provider: langgenius/openai/openai 126 | type: model-selector 127 | query: 128 | type: constant 129 | value: '{{#sys.query#}}' 130 | storage_key: 131 | type: constant 132 | value: '{{#sys.conversation_id#}}' 133 | task_schema: 134 | type: constant 135 | value: " {\n \"fields\": [\n {\n \"name\"\ 136 | : \"destination\",\n \"question\": \"请问您想去哪里旅行?\",\n \ 137 | \ \"required\": true\n },\n {\n \ 138 | \ \"name\": \"duration\",\n \"question\": \"您计划旅行多长时间?\"\ 139 | ,\n \"required\": true\n },\n {\n \ 140 | \ \"name\": \"budget\",\n \"question\": \"您的预算大约是多少?\"\ 141 | ,\n \"required\": true\n }\n ]\n }" 142 | agent_strategy_label: 多轮对话 143 | agent_strategy_name: TOD 144 | agent_strategy_provider_name: afeaad50-3ca8-4d6b-8e95-ca6993bb2951/agent/agent 145 | desc: '' 146 | output_schema: null 147 | plugin_unique_identifier: afeaad50-3ca8-4d6b-8e95-ca6993bb2951/agent:0.0.1@041f354ba09c869b9e16a69d6a5dfea1f46acdb24fedd355e26a93c9bbc3b531 148 | selected: false 149 | title: Agent 150 | type: agent 151 | height: 144 152 | id: '1740645185279' 153 | position: 154 | x: 382.6767799030139 155 | y: 282 156 | positionAbsolute: 157 | x: 382.6767799030139 158 | y: 282 159 | selected: true 160 | sourcePosition: right 161 | targetPosition: left 162 | type: custom 163 | width: 243 164 | viewport: 165 | x: -41.014528411562424 166 | y: 38.07301894574641 167 | zoom: 0.8637955574370334 168 | -------------------------------------------------------------------------------- /DSL/Artifact.yml: -------------------------------------------------------------------------------- 1 | app: 2 | description: Artifact 3 | icon: 🤖 4 | icon_background: '#FFEAD5' 5 | mode: advanced-chat 6 | name: Artifact 7 | use_icon_as_answer_icon: false 8 | dependencies: 9 | - current_identifier: null 10 | type: marketplace 11 | value: 12 | marketplace_plugin_unique_identifier: langgenius/volcengine_maas:0.0.7@f8e44422cfa5b9a6ac1f2d3b43ef1069868efdad1e5cec2590de3f53ceac37b0 13 | kind: app 14 | version: 0.2.0 15 | workflow: 16 | conversation_variables: [] 17 | environment_variables: [] 18 | features: 19 | file_upload: 20 | allowed_file_extensions: 21 | - .JPG 22 | - .JPEG 23 | - .PNG 24 | - .GIF 25 | - .WEBP 26 | - .SVG 27 | allowed_file_types: 28 | - image 29 | allowed_file_upload_methods: 30 | - local_file 31 | - remote_url 32 | enabled: false 33 | fileUploadConfig: 34 | audio_file_size_limit: 50 35 | batch_count_limit: 5 36 | file_size_limit: 15 37 | image_file_size_limit: 10 38 | video_file_size_limit: 100 39 | workflow_file_upload_limit: 10 40 | image: 41 | enabled: false 42 | number_limits: 3 43 | transfer_methods: 44 | - local_file 45 | - remote_url 46 | number_limits: 3 47 | opening_statement: '' 48 | retriever_resource: 49 | enabled: true 50 | sensitive_word_avoidance: 51 | enabled: false 52 | speech_to_text: 53 | enabled: false 54 | suggested_questions: [] 55 | suggested_questions_after_answer: 56 | enabled: false 57 | text_to_speech: 58 | enabled: false 59 | language: '' 60 | voice: '' 61 | graph: 62 | edges: 63 | - data: 64 | sourceType: start 65 | targetType: llm 66 | id: 1745404962666-llm 67 | source: '1745404962666' 68 | sourceHandle: source 69 | target: llm 70 | targetHandle: target 71 | type: custom 72 | - data: 73 | sourceType: llm 74 | targetType: answer 75 | id: llm-answer 76 | source: llm 77 | sourceHandle: source 78 | target: answer 79 | targetHandle: target 80 | type: custom 81 | nodes: 82 | - data: 83 | desc: '' 84 | selected: false 85 | title: 开始 86 | type: start 87 | variables: [] 88 | height: 52 89 | id: '1745404962666' 90 | position: 91 | x: 80 92 | y: 282 93 | positionAbsolute: 94 | x: 80 95 | y: 282 96 | sourcePosition: right 97 | targetPosition: left 98 | type: custom 99 | width: 243 100 | - data: 101 | context: 102 | enabled: false 103 | variable_selector: [] 104 | desc: '' 105 | memory: 106 | query_prompt_template: '{{#sys.query#}}' 107 | role_prefix: 108 | assistant: '' 109 | user: '' 110 | window: 111 | enabled: true 112 | size: 10 113 | model: 114 | completion_params: {} 115 | mode: chat 116 | name: deepseek-v3-250324 117 | provider: langgenius/volcengine_maas/volcengine_maas 118 | prompt_template: 119 | - role: system 120 | text: 你是一个小助手 121 | selected: true 122 | title: LLM 123 | type: llm 124 | variables: [] 125 | vision: 126 | enabled: false 127 | height: 88 128 | id: llm 129 | position: 130 | x: 380 131 | y: 282 132 | positionAbsolute: 133 | x: 380 134 | y: 282 135 | selected: true 136 | sourcePosition: right 137 | targetPosition: left 138 | type: custom 139 | width: 243 140 | - data: 141 | answer: '{{#llm.text#}}' 142 | desc: '' 143 | selected: false 144 | title: 直接回复 145 | type: answer 146 | variables: [] 147 | height: 103 148 | id: answer 149 | position: 150 | x: 680 151 | y: 282 152 | positionAbsolute: 153 | x: 680 154 | y: 282 155 | sourcePosition: right 156 | targetPosition: left 157 | type: custom 158 | width: 243 159 | viewport: 160 | x: 0 161 | y: 0 162 | zoom: 1 163 | -------------------------------------------------------------------------------- /DSL/Demo-tod_agent.yml: -------------------------------------------------------------------------------- 1 | app: 2 | description: '' 3 | icon: 🤖 4 | icon_background: '#FFEAD5' 5 | mode: advanced-chat 6 | name: Demo-tod_agent 7 | use_icon_as_answer_icon: false 8 | dependencies: 9 | - current_identifier: null 10 | type: marketplace 11 | value: 12 | marketplace_plugin_unique_identifier: langgenius/openai:0.0.12@604c1a752a92633a354dc7eea717248314f23bab66a9ce48d33b1c57a0f9463e 13 | kind: app 14 | version: 0.1.5 15 | workflow: 16 | conversation_variables: [] 17 | environment_variables: [] 18 | features: 19 | file_upload: 20 | allowed_file_extensions: 21 | - .JPG 22 | - .JPEG 23 | - .PNG 24 | - .GIF 25 | - .WEBP 26 | - .SVG 27 | allowed_file_types: 28 | - image 29 | allowed_file_upload_methods: 30 | - local_file 31 | - remote_url 32 | enabled: false 33 | fileUploadConfig: 34 | audio_file_size_limit: 50 35 | batch_count_limit: 5 36 | file_size_limit: 15 37 | image_file_size_limit: 10 38 | video_file_size_limit: 100 39 | workflow_file_upload_limit: 10 40 | image: 41 | enabled: false 42 | number_limits: 3 43 | transfer_methods: 44 | - local_file 45 | - remote_url 46 | number_limits: 3 47 | opening_statement: '' 48 | retriever_resource: 49 | enabled: true 50 | sensitive_word_avoidance: 51 | enabled: false 52 | speech_to_text: 53 | enabled: false 54 | suggested_questions: [] 55 | suggested_questions_after_answer: 56 | enabled: false 57 | text_to_speech: 58 | enabled: false 59 | language: '' 60 | voice: '' 61 | graph: 62 | edges: 63 | - data: 64 | isInLoop: false 65 | sourceType: start 66 | targetType: agent 67 | id: 1742523552659-source-1742523567258-target 68 | source: '1742523552659' 69 | sourceHandle: source 70 | target: '1742523567258' 71 | targetHandle: target 72 | type: custom 73 | zIndex: 0 74 | - data: 75 | isInIteration: false 76 | isInLoop: false 77 | sourceType: agent 78 | targetType: if-else 79 | id: 1742523567258-source-1742523610643-target 80 | source: '1742523567258' 81 | sourceHandle: source 82 | target: '1742523610643' 83 | targetHandle: target 84 | type: custom 85 | zIndex: 0 86 | - data: 87 | isInLoop: false 88 | sourceType: if-else 89 | targetType: answer 90 | id: 1742523610643-false-answer-target 91 | source: '1742523610643' 92 | sourceHandle: 'false' 93 | target: answer 94 | targetHandle: target 95 | type: custom 96 | zIndex: 0 97 | - data: 98 | isInLoop: false 99 | sourceType: if-else 100 | targetType: llm 101 | id: 1742523610643-true-1742523618478-target 102 | source: '1742523610643' 103 | sourceHandle: 'true' 104 | target: '1742523618478' 105 | targetHandle: target 106 | type: custom 107 | zIndex: 0 108 | - data: 109 | isInIteration: false 110 | isInLoop: false 111 | sourceType: llm 112 | targetType: answer 113 | id: 1742523618478-source-1742523717912-target 114 | source: '1742523618478' 115 | sourceHandle: source 116 | target: '1742523717912' 117 | targetHandle: target 118 | type: custom 119 | zIndex: 0 120 | nodes: 121 | - data: 122 | desc: '' 123 | selected: false 124 | title: 开始 125 | type: start 126 | variables: [] 127 | height: 54 128 | id: '1742523552659' 129 | position: 130 | x: 80 131 | y: 282 132 | positionAbsolute: 133 | x: 80 134 | y: 282 135 | sourcePosition: right 136 | targetPosition: left 137 | type: custom 138 | width: 244 139 | - data: 140 | agent_parameters: 141 | information_schema: 142 | type: constant 143 | value: " {\n \"fields\": [\n {\n \"name\": \"destination\",\n\ 144 | \ \"question\": \"请问您想去哪里旅行?\",\n \"required\": true\n \ 145 | \ },\n {\n \"name\": \"duration\",\n \"question\": \"您计划旅行多长时间?\"\ 146 | ,\n \"required\": true\n },\n {\n \"name\": \"budget\"\ 147 | ,\n \"question\": \"您的预算大约是多少?\",\n \"required\": true\n \ 148 | \ }\n ]\n}" 149 | model: 150 | type: constant 151 | value: 152 | completion_params: {} 153 | mode: chat 154 | model: o1-mini 155 | model_type: llm 156 | provider: langgenius/openai/openai 157 | type: model-selector 158 | query: 159 | type: constant 160 | value: '{{#sys.query#}}' 161 | storage_key: 162 | type: constant 163 | value: '{{#sys.conversation_id#}}' 164 | agent_strategy_label: 信息收集 165 | agent_strategy_name: TOD 166 | agent_strategy_provider_name: svcvit/agent/agent 167 | desc: '' 168 | output_schema: null 169 | plugin_unique_identifier: svcvit/agent:0.0.2@549846d9310c894b4879c475856b48cd224f35c078e3bd54dfceaefefb2f5c59 170 | selected: false 171 | title: Agent 172 | type: agent 173 | height: 146 174 | id: '1742523567258' 175 | position: 176 | x: 380 177 | y: 282 178 | positionAbsolute: 179 | x: 380 180 | y: 282 181 | selected: false 182 | sourcePosition: right 183 | targetPosition: left 184 | type: custom 185 | width: 244 186 | - data: 187 | answer: '{{#1742523567258.text#}}' 188 | desc: '' 189 | selected: false 190 | title: 直接回复 191 | type: answer 192 | variables: [] 193 | height: 105 194 | id: answer 195 | position: 196 | x: 1006 197 | y: 483 198 | positionAbsolute: 199 | x: 1006 200 | y: 483 201 | selected: false 202 | sourcePosition: right 203 | targetPosition: left 204 | type: custom 205 | width: 244 206 | - data: 207 | cases: 208 | - case_id: 'true' 209 | conditions: 210 | - comparison_operator: contains 211 | id: bc8f6624-b1b9-4432-a9e0-777c00df126a 212 | value: InformationCollectionCompleted 213 | varType: string 214 | variable_selector: 215 | - '1742523567258' 216 | - text 217 | id: 'true' 218 | logical_operator: and 219 | desc: '' 220 | selected: false 221 | title: 条件分支 222 | type: if-else 223 | height: 126 224 | id: '1742523610643' 225 | position: 226 | x: 683 227 | y: 282 228 | positionAbsolute: 229 | x: 683 230 | y: 282 231 | selected: false 232 | sourcePosition: right 233 | targetPosition: left 234 | type: custom 235 | width: 244 236 | - data: 237 | context: 238 | enabled: false 239 | variable_selector: [] 240 | desc: '' 241 | model: 242 | completion_params: 243 | temperature: 0.7 244 | mode: chat 245 | name: o1-mini 246 | provider: langgenius/openai/openai 247 | prompt_template: 248 | - id: a6bad59f-9d54-4e83-bd88-ca39bbfdded3 249 | role: system 250 | text: '你是一个旅行规划大师,请根据下面的信息,安排用户的行程。 251 | 252 | 253 | ' 254 | - id: 6dd2efbc-296b-48e7-ba74-f8ddb52ee829 255 | role: user 256 | text: '这是我的行程信息: 257 | 258 | 259 | {{#1742523567258.text#}}' 260 | selected: false 261 | title: LLM 262 | type: llm 263 | variables: [] 264 | vision: 265 | enabled: false 266 | height: 90 267 | id: '1742523618478' 268 | position: 269 | x: 1006 270 | y: 243 271 | positionAbsolute: 272 | x: 1006 273 | y: 243 274 | selected: false 275 | sourcePosition: right 276 | targetPosition: left 277 | type: custom 278 | width: 244 279 | - data: 280 | answer: '{{#1742523618478.text#}}' 281 | desc: '' 282 | selected: false 283 | title: 直接回复 2 284 | type: answer 285 | variables: [] 286 | height: 105 287 | id: '1742523717912' 288 | position: 289 | x: 1310 290 | y: 243 291 | positionAbsolute: 292 | x: 1310 293 | y: 243 294 | selected: true 295 | sourcePosition: right 296 | targetPosition: left 297 | type: custom 298 | width: 244 299 | viewport: 300 | x: -396 301 | y: -79.5 302 | zoom: 1 303 | -------------------------------------------------------------------------------- /DSL/DuckDuckGo翻译+LLM二次翻译.yml: -------------------------------------------------------------------------------- 1 | app: 2 | description: "\u4E2D\u8BD1\u82F1\uFF0C\u52062\u6B65\u8FDB\u884C\u7FFB\u8BD1\u3002\ 3 | 1\u3001\u4F20\u7EDF\u7684\u7FFB\u8BD1\u5F15\u64CE\u7FFB\u8BD1\uFF1B2\u3001LLM\u6A21\ 4 | \u578B\u6307\u51FA\u9519\u8BEF\u30013\u3001\u610F\u8BD1\u3002\u5373\u8282\u7701\ 5 | \u4E86token\uFF0C\u4E5F\u63D0\u9AD8\u7FFB\u8BD1\u51C6\u786E\u6027\u3002" 6 | icon: "\U0001F916" 7 | icon_background: '#FFEAD5' 8 | mode: workflow 9 | name: "DuckDuckGo\u7FFB\u8BD1+LLM\u4E8C\u6B21\u7FFB\u8BD1" 10 | kind: app 11 | version: 0.1.0 12 | workflow: 13 | features: 14 | file_upload: 15 | image: 16 | enabled: false 17 | number_limits: 3 18 | transfer_methods: 19 | - local_file 20 | - remote_url 21 | opening_statement: '' 22 | retriever_resource: 23 | enabled: true 24 | sensitive_word_avoidance: 25 | enabled: false 26 | speech_to_text: 27 | enabled: false 28 | suggested_questions: [] 29 | suggested_questions_after_answer: 30 | enabled: false 31 | text_to_speech: 32 | enabled: false 33 | language: '' 34 | voice: '' 35 | graph: 36 | edges: 37 | - data: 38 | isInIteration: false 39 | sourceType: start 40 | targetType: tool 41 | id: 1721107953425-source-1721107972339-target 42 | source: '1721107953425' 43 | sourceHandle: source 44 | target: '1721107972339' 45 | targetHandle: target 46 | type: custom 47 | zIndex: 0 48 | - data: 49 | isInIteration: false 50 | sourceType: tool 51 | targetType: llm 52 | id: 1721107972339-source-1721107989661-target 53 | source: '1721107972339' 54 | sourceHandle: source 55 | target: '1721107989661' 56 | targetHandle: target 57 | type: custom 58 | zIndex: 0 59 | - data: 60 | isInIteration: false 61 | sourceType: llm 62 | targetType: end 63 | id: 1721107989661-source-1721108151465-target 64 | source: '1721107989661' 65 | sourceHandle: source 66 | target: '1721108151465' 67 | targetHandle: target 68 | type: custom 69 | zIndex: 0 70 | nodes: 71 | - data: 72 | desc: '' 73 | selected: false 74 | title: "\u5F00\u59CB" 75 | type: start 76 | variables: 77 | - label: content 78 | max_length: 50000 79 | options: [] 80 | required: true 81 | type: paragraph 82 | variable: content 83 | height: 90 84 | id: '1721107953425' 85 | position: 86 | x: 80 87 | y: 282 88 | positionAbsolute: 89 | x: 80 90 | y: 282 91 | selected: false 92 | sourcePosition: right 93 | targetPosition: left 94 | type: custom 95 | width: 244 96 | - data: 97 | desc: '' 98 | provider_id: duckduckgo 99 | provider_name: duckduckgo 100 | provider_type: builtin 101 | selected: true 102 | title: "DuckDuckGo \u7FFB\u8BD1" 103 | tool_configurations: 104 | translate_to: en 105 | tool_label: "DuckDuckGo \u7FFB\u8BD1" 106 | tool_name: ddgo_translate 107 | tool_parameters: 108 | query: 109 | type: mixed 110 | value: '{{#1721107953425.content#}}' 111 | type: tool 112 | height: 90 113 | id: '1721107972339' 114 | position: 115 | x: 384 116 | y: 282 117 | positionAbsolute: 118 | x: 384 119 | y: 282 120 | selected: true 121 | sourcePosition: right 122 | targetPosition: left 123 | type: custom 124 | width: 244 125 | - data: 126 | context: 127 | enabled: false 128 | variable_selector: [] 129 | desc: '' 130 | model: 131 | completion_params: 132 | temperature: 1.1 133 | mode: chat 134 | name: deepseek-chat 135 | provider: deepseek 136 | prompt_template: 137 | - id: 3b488a37-c31c-4537-86df-3bfa8da1ab70 138 | role: system 139 | text: "## \u89D2\u8272\n\u4F60\u662F\u4E00\u4F4D\u79D1\u7814\u8BBA\u6587\ 140 | \u5BA1\u7A3F\u5458\uFF0C\u64C5\u957F\u5199\u4F5C\u9AD8\u8D28\u91CF\u7684\ 141 | \u82F1\u6587\u79D1\u7814\u8BBA\u6587\u3002\u8BF7\u4F60\u5E2E\u6211\u51C6\ 142 | \u786E\u4E14\u5B66\u672F\u6027\u5730\u5C06\u4EE5\u4E0B\u4E2D\u6587\u7FFB\ 143 | \u8BD1\u6210\u82F1\u6587\uFF0C\u98CE\u683C\u4E0E\u82F1\u6587\u79D1\u7814\ 144 | \u8BBA\u6587\u4FDD\u6301\u4E00\u81F4\u3002\n## \u89C4\u5219\uFF1A\n- \u8F93\ 145 | \u5165\u683C\u5F0F\u4E3A Markdown \u683C\u5F0F\uFF0C\u8F93\u51FA\u683C\ 146 | \u5F0F\u4E5F\u5FC5\u987B\u4FDD\u7559\u539F\u59CB Markdown \u683C\u5F0F\ 147 | \n- \u4EE5\u4E0B\u662F\u5E38\u89C1\u7684\u76F8\u5173\u672F\u8BED\u8BCD\ 148 | \u6C47\u5BF9\u5E94\u8868\uFF08\u4E2D\u6587 -> English\uFF09\uFF1A\n* \u96F6\ 149 | \u6837\u672C -> Zero-shot\n* \u5C11\u6837\u672C -> Few-shot\n## \u7B56\ 150 | \u7565\uFF1A\n\u5206\u4E24\u6B65\u8FDB\u884C\u7FFB\u8BD1\u5DE5\u4F5C\uFF0C\ 151 | \u5E76\u6253\u5370\u6BCF\u6B65\u7684\u7ED3\u679C\uFF1A\n1. \u6839\u636E\ 152 | \u76F4\u8BD1\u7684\u7ED3\u679C\uFF0C\u6307\u51FA\u5176\u4E2D\u5B58\u5728\ 153 | \u7684\u5177\u4F53\u95EE\u9898\uFF0C\u8981\u51C6\u786E\u63CF\u8FF0\uFF0C\ 154 | \u4E0D\u5B9C\u7B3C\u7EDF\u7684\u8868\u793A\uFF0C\u4E5F\u4E0D\u9700\u8981\ 155 | \u589E\u52A0\u539F\u6587\u4E0D\u5B58\u5728\u7684\u5185\u5BB9\u6216\u683C\ 156 | \u5F0F\uFF0C\u5305\u62EC\u4E0D\u4EC5\u9650\u4E8E\uFF1A\n- \u4E0D\u7B26\ 157 | \u5408\u82F1\u6587\u8868\u8FBE\u4E60\u60EF\uFF0C\u660E\u786E\u6307\u51FA\ 158 | \u4E0D\u7B26\u5408\u7684\u5730\u65B9\n- \u8BED\u53E5\u4E0D\u901A\u987A\ 159 | \uFF0C\u6307\u51FA\u4F4D\u7F6E\uFF0C\u4E0D\u9700\u8981\u7ED9\u51FA\u4FEE\ 160 | \u6539\u610F\u89C1\uFF0C\u610F\u8BD1\u65F6\u4FEE\u590D\n- \u6666\u6DA9\ 161 | \u96BE\u61C2\uFF0C\u6A21\u68F1\u4E24\u53EF\uFF0C\u4E0D\u6613\u7406\u89E3\ 162 | \uFF0C\u53EF\u4EE5\u5C1D\u8BD5\u7ED9\u51FA\u89E3\u91CA\n2. \u6839\u636E\ 163 | \u76F4\u8BD1\u7684\u7ED3\u679C\u548C\u7B2C\u4E8C\u6B65\u6307\u51FA\u7684\ 164 | \u95EE\u9898\uFF0C\u91CD\u65B0\u8FDB\u884C\u610F\u8BD1\uFF0C\u4FDD\u8BC1\ 165 | \u5185\u5BB9\u7684\u539F\u610F\u7684\u57FA\u7840\u4E0A\uFF0C\u4F7F\u5176\ 166 | \u66F4\u6613\u4E8E\u7406\u89E3\uFF0C\u66F4\u7B26\u5408\u82F1\u6587\u79D1\ 167 | \u7814\u8BBA\u6587\u7684\u8868\u8FBE\u4E60\u60EF\uFF0C\u540C\u65F6\u4FDD\ 168 | \u6301\u539F\u6709\u7684\u683C\u5F0F\u4E0D\u53D8\n## \u683C\u5F0F\n\u8FD4\ 169 | \u56DE\u683C\u5F0F\u5982\u4E0B\uFF0C\"{xxx}\"\u8868\u793A\u5360\u4F4D\u7B26\ 170 | \uFF1A\n\n###\u95EE\u9898\n{\u76F4\u8BD1\u7684\u5177\u4F53\u95EE\u9898\ 171 | \u5217\u8868}\n***\n###\u610F\u8BD1" 172 | - id: e7ce339a-e1b2-4554-86ac-c66d95bc669e 173 | role: user 174 | text: "\u8FD9\u662F\u9700\u8981\u7FFB\u8BD1\u7684\u539F\u6587\n{{#1721107953425.content#}}\n\ 175 | \n\u8FD9\u662F\u76F4\u8BD1\u7684\u7ED3\u679C\n{{#1721107972339.text#}}" 176 | selected: false 177 | title: LLM 178 | type: llm 179 | variables: [] 180 | vision: 181 | enabled: false 182 | height: 98 183 | id: '1721107989661' 184 | position: 185 | x: 688 186 | y: 282 187 | positionAbsolute: 188 | x: 688 189 | y: 282 190 | selected: false 191 | sourcePosition: right 192 | targetPosition: left 193 | type: custom 194 | width: 244 195 | - data: 196 | desc: '' 197 | outputs: 198 | - value_selector: 199 | - '1721107989661' 200 | - text 201 | variable: output 202 | selected: false 203 | title: "\u7ED3\u675F" 204 | type: end 205 | height: 90 206 | id: '1721108151465' 207 | position: 208 | x: 992 209 | y: 282 210 | positionAbsolute: 211 | x: 992 212 | y: 282 213 | selected: false 214 | sourcePosition: right 215 | targetPosition: left 216 | type: custom 217 | width: 244 218 | viewport: 219 | x: -2 220 | y: 34 221 | zoom: 1 222 | -------------------------------------------------------------------------------- /DSL/File_read.yml: -------------------------------------------------------------------------------- 1 | app: 2 | description: '' 3 | icon: 🤖 4 | icon_background: '#FFEAD5' 5 | mode: workflow 6 | name: File_read 7 | use_icon_as_answer_icon: false 8 | kind: app 9 | version: 0.1.4 10 | workflow: 11 | conversation_variables: [] 12 | environment_variables: [] 13 | features: 14 | file_upload: 15 | allowed_file_extensions: 16 | - .JPG 17 | - .JPEG 18 | - .PNG 19 | - .GIF 20 | - .WEBP 21 | - .SVG 22 | allowed_file_types: 23 | - image 24 | allowed_file_upload_methods: 25 | - local_file 26 | - remote_url 27 | enabled: false 28 | fileUploadConfig: 29 | audio_file_size_limit: 50 30 | batch_count_limit: 5 31 | file_size_limit: 15 32 | image_file_size_limit: 10 33 | video_file_size_limit: 100 34 | workflow_file_upload_limit: 10 35 | image: 36 | enabled: false 37 | number_limits: 3 38 | transfer_methods: 39 | - local_file 40 | - remote_url 41 | number_limits: 3 42 | opening_statement: '' 43 | retriever_resource: 44 | enabled: true 45 | sensitive_word_avoidance: 46 | enabled: false 47 | speech_to_text: 48 | enabled: false 49 | suggested_questions: [] 50 | suggested_questions_after_answer: 51 | enabled: false 52 | text_to_speech: 53 | enabled: false 54 | language: '' 55 | voice: '' 56 | graph: 57 | edges: 58 | - data: 59 | isInIteration: false 60 | sourceType: start 61 | targetType: code 62 | id: 1733304372042-source-1733304400929-target 63 | source: '1733304372042' 64 | sourceHandle: source 65 | target: '1733304400929' 66 | targetHandle: target 67 | type: custom 68 | zIndex: 0 69 | - data: 70 | isInIteration: false 71 | sourceType: code 72 | targetType: code 73 | id: 1733304400929-source-1733308511344-target 74 | source: '1733304400929' 75 | sourceHandle: source 76 | target: '1733308511344' 77 | targetHandle: target 78 | type: custom 79 | zIndex: 0 80 | - data: 81 | isInIteration: false 82 | sourceType: code 83 | targetType: end 84 | id: 1733308511344-source-1733304425429-target 85 | source: '1733308511344' 86 | sourceHandle: source 87 | target: '1733304425429' 88 | targetHandle: target 89 | type: custom 90 | zIndex: 0 91 | nodes: 92 | - data: 93 | desc: '' 94 | selected: false 95 | title: 开始 96 | type: start 97 | variables: 98 | - allowed_file_extensions: [] 99 | allowed_file_types: 100 | - document 101 | - image 102 | - audio 103 | - video 104 | allowed_file_upload_methods: 105 | - local_file 106 | - remote_url 107 | label: File 108 | max_length: 48 109 | options: [] 110 | required: true 111 | type: file 112 | variable: File 113 | height: 90 114 | id: '1733304372042' 115 | position: 116 | x: 30 117 | y: 245 118 | positionAbsolute: 119 | x: 30 120 | y: 245 121 | selected: false 122 | sourcePosition: right 123 | targetPosition: left 124 | type: custom 125 | width: 244 126 | - data: 127 | code: "import os\nimport time\nfrom datetime import datetime, timedelta\n\n\ 128 | def main(filesize):\n # 存储符合条件的文件列表\n matched_files = []\n \n \ 129 | \ # 获取当前时间\n current_time = time.time()\n \n # 检查 upload_files\ 130 | \ 文件夹\n upload_dir = '/upload_files'\n \n # 确保文件夹存在\n if not\ 131 | \ os.path.exists(upload_dir):\n return {\"file_path\":\"None\"}\n\ 132 | \ \n # 递归遍历文件夹中的所有文件\n for root, dirs, files in os.walk(upload_dir):\n\ 133 | \ for filename in files: # 只处理文件,忽略文件夹\n file_path =\ 134 | \ os.path.join(root, filename)\n \n # 获取文件状态信息\n \ 135 | \ file_stat = os.stat(file_path)\n \n #\ 136 | \ 获取文件修改时间\n file_mtime = file_stat.st_mtime\n \n\ 137 | \ # 计算文件时间差(分钟)\n time_diff = (current_time - file_mtime)\ 138 | \ / 60\n \n # 检查文件大小和修改时间是否符合条件\n if file_stat.st_size\ 139 | \ == filesize:\n matched_files.append((file_path, file_mtime))\n\ 140 | \n if matched_files:\n # 按修改时间排序,取最新的文件\n newest_file =\ 141 | \ max(matched_files, key=lambda x: x[1])\n return {\"file_path\"\ 142 | :str(newest_file[0])}\n else:\n return {\"file_path\":\"None\"\ 143 | }\n" 144 | code_language: python3 145 | desc: '' 146 | outputs: 147 | file_path: 148 | children: null 149 | type: string 150 | selected: false 151 | title: 获取文件路径 152 | type: code 153 | variables: 154 | - value_selector: 155 | - '1733304372042' 156 | - File 157 | - size 158 | variable: filesize 159 | height: 54 160 | id: '1733304400929' 161 | position: 162 | x: 334 163 | y: 245 164 | positionAbsolute: 165 | x: 334 166 | y: 245 167 | selected: false 168 | sourcePosition: right 169 | targetPosition: left 170 | type: custom 171 | width: 244 172 | - data: 173 | desc: '' 174 | outputs: 175 | - value_selector: 176 | - '1733308511344' 177 | - result 178 | variable: output 179 | selected: false 180 | title: 结束 181 | type: end 182 | height: 90 183 | id: '1733304425429' 184 | position: 185 | x: 942 186 | y: 245 187 | positionAbsolute: 188 | x: 942 189 | y: 245 190 | selected: false 191 | sourcePosition: right 192 | targetPosition: left 193 | type: custom 194 | width: 244 195 | - data: 196 | code: "import pandas as pd\nfile_path = '{{file_path}}'\ndef main(file_path):\n\ 197 | \ try:\n # 读取CSV文件\n df = pd.read_csv(file_path)\n \ 198 | \ \n # 获取前5行数据作为样本\n sample_df = df.head()\n \n\ 199 | \ # 生成markdown表格\n markdown = \"### 数据样本预览\\n\\n\"\n \ 200 | \ \n # 添加表头\n headers = \"|\" + \"|\".join(str(col) for\ 201 | \ col in sample_df.columns) + \"|\"\n separator = \"|\" + \"|\".join([\"\ 202 | ---\" for _ in sample_df.columns]) + \"|\"\n \n markdown +=\ 203 | \ headers + \"\\n\" + separator + \"\\n\"\n \n # 添加数据行\n \ 204 | \ for _, row in sample_df.iterrows():\n markdown += \"\ 205 | |\" + \"|\".join(str(val) for val in row.values) + \"|\\n\"\n \ 206 | \ \n # 添加数据集信息\n markdown += f\"\\n### 数据集信息\\n\"\n \ 207 | \ markdown += f\"- 总行数: {len(df)}\\n\"\n markdown += f\"- 总列数:\ 208 | \ {len(df.columns)}\\n\"\n markdown += f\"- 列名: {', '.join(df.columns.tolist())}\\\ 209 | n\"\n \n return {\"result\": markdown}\n \n except\ 210 | \ Exception as e:\n return {\"result\": f\"错误: {str(e)}\"}" 211 | code_language: python3 212 | desc: '' 213 | outputs: 214 | result: 215 | children: null 216 | type: string 217 | selected: false 218 | title: 读取csv 219 | type: code 220 | variables: 221 | - value_selector: 222 | - '1733304400929' 223 | - file_path 224 | variable: file_path 225 | height: 54 226 | id: '1733308511344' 227 | position: 228 | x: 638 229 | y: 245 230 | positionAbsolute: 231 | x: 638 232 | y: 245 233 | selected: true 234 | sourcePosition: right 235 | targetPosition: left 236 | type: custom 237 | width: 244 238 | viewport: 239 | x: 91.70000000000005 240 | y: -8.5 241 | zoom: 0.7 242 | -------------------------------------------------------------------------------- /DSL/Form表单聊天Demo.yml: -------------------------------------------------------------------------------- 1 | app: 2 | description: '' 3 | icon: 🤖 4 | icon_background: '#FFEAD5' 5 | mode: advanced-chat 6 | name: Form表单聊天Demo 7 | use_icon_as_answer_icon: false 8 | kind: app 9 | version: 0.1.3 10 | workflow: 11 | conversation_variables: 12 | - description: '' 13 | id: db80e372-91ed-4718-b55c-1808a968865e 14 | name: user_token 15 | value: '' 16 | value_type: string 17 | environment_variables: 18 | - description: '' 19 | id: c086ca90-39e9-44e8-b249-93124d45499a 20 | name: login 21 | value: 0 22 | value_type: number 23 | features: 24 | file_upload: 25 | allowed_file_extensions: 26 | - .JPG 27 | - .JPEG 28 | - .PNG 29 | - .GIF 30 | - .WEBP 31 | - .SVG 32 | allowed_file_types: 33 | - image 34 | allowed_file_upload_methods: 35 | - local_file 36 | - remote_url 37 | enabled: false 38 | fileUploadConfig: 39 | audio_file_size_limit: 50 40 | batch_count_limit: 5 41 | file_size_limit: 15 42 | image_file_size_limit: 10 43 | video_file_size_limit: 100 44 | workflow_file_upload_limit: 10 45 | image: 46 | enabled: false 47 | number_limits: 3 48 | transfer_methods: 49 | - local_file 50 | - remote_url 51 | number_limits: 3 52 | opening_statement: '' 53 | retriever_resource: 54 | enabled: true 55 | sensitive_word_avoidance: 56 | enabled: false 57 | speech_to_text: 58 | enabled: false 59 | suggested_questions: [] 60 | suggested_questions_after_answer: 61 | enabled: false 62 | text_to_speech: 63 | enabled: false 64 | language: '' 65 | voice: '' 66 | graph: 67 | edges: 68 | - data: 69 | isInIteration: false 70 | sourceType: template-transform 71 | targetType: answer 72 | id: 1730163641212-source-1731378296917-target 73 | source: '1730163641212' 74 | sourceHandle: source 75 | target: '1731378296917' 76 | targetHandle: target 77 | type: custom 78 | zIndex: 0 79 | - data: 80 | isInIteration: false 81 | sourceType: llm 82 | targetType: answer 83 | id: 1731378486318-source-1731378500668-target 84 | source: '1731378486318' 85 | sourceHandle: source 86 | target: '1731378500668' 87 | targetHandle: target 88 | type: custom 89 | zIndex: 0 90 | - data: 91 | isInIteration: false 92 | sourceType: start 93 | targetType: if-else 94 | id: 1729841263487-source-1731378918101-target 95 | source: '1729841263487' 96 | sourceHandle: source 97 | target: '1731378918101' 98 | targetHandle: target 99 | type: custom 100 | zIndex: 0 101 | - data: 102 | isInIteration: false 103 | sourceType: code 104 | targetType: if-else 105 | id: 1731378644337-source-1731379291700-target 106 | source: '1731378644337' 107 | sourceHandle: source 108 | target: '1731379291700' 109 | targetHandle: target 110 | type: custom 111 | zIndex: 0 112 | - data: 113 | isInIteration: false 114 | sourceType: if-else 115 | targetType: assigner 116 | id: 1731379291700-true-1731379076735-target 117 | source: '1731379291700' 118 | sourceHandle: 'true' 119 | target: '1731379076735' 120 | targetHandle: target 121 | type: custom 122 | zIndex: 0 123 | - data: 124 | isInIteration: false 125 | sourceType: assigner 126 | targetType: answer 127 | id: 1731379076735-source-1731379313752-target 128 | source: '1731379076735' 129 | sourceHandle: source 130 | target: '1731379313752' 131 | targetHandle: target 132 | type: custom 133 | zIndex: 0 134 | - data: 135 | isInIteration: false 136 | sourceType: if-else 137 | targetType: template-transform 138 | id: 1731379291700-false-1730163641212-target 139 | source: '1731379291700' 140 | sourceHandle: 'false' 141 | target: '1730163641212' 142 | targetHandle: target 143 | type: custom 144 | zIndex: 0 145 | - data: 146 | isInIteration: false 147 | sourceType: if-else 148 | targetType: code 149 | id: 1731378918101-true-1731378644337-target 150 | source: '1731378918101' 151 | sourceHandle: 'true' 152 | target: '1731378644337' 153 | targetHandle: target 154 | type: custom 155 | zIndex: 0 156 | - data: 157 | isInIteration: false 158 | sourceType: if-else 159 | targetType: llm 160 | id: 1731378918101-false-1731378486318-target 161 | source: '1731378918101' 162 | sourceHandle: 'false' 163 | target: '1731378486318' 164 | targetHandle: target 165 | type: custom 166 | zIndex: 0 167 | nodes: 168 | - data: 169 | desc: '' 170 | selected: true 171 | title: Start 172 | type: start 173 | variables: [] 174 | height: 54 175 | id: '1729841263487' 176 | position: 177 | x: 31.51781925297405 178 | y: 263 179 | positionAbsolute: 180 | x: 31.51781925297405 181 | y: 263 182 | selected: true 183 | sourcePosition: right 184 | targetPosition: left 185 | type: custom 186 | width: 244 187 | - data: 188 | desc: '' 189 | selected: false 190 | template: "
\n \n\ 191 | \ \n \n \n Login\n" 194 | title: 登录表单 195 | type: template-transform 196 | variables: [] 197 | height: 54 198 | id: '1730163641212' 199 | position: 200 | x: 1246 201 | y: 598 202 | positionAbsolute: 203 | x: 1246 204 | y: 598 205 | selected: false 206 | sourcePosition: right 207 | targetPosition: left 208 | type: custom 209 | width: 244 210 | - data: 211 | answer: '初次使用,请登录员工账号和密码哦。 212 | 213 | 214 | {{#1730163641212.output#}}' 215 | desc: '' 216 | selected: false 217 | title: 直接回复 2 218 | type: answer 219 | variables: [] 220 | height: 119 221 | id: '1731378296917' 222 | position: 223 | x: 1550 224 | y: 557.5 225 | positionAbsolute: 226 | x: 1550 227 | y: 557.5 228 | selected: false 229 | sourcePosition: right 230 | targetPosition: left 231 | type: custom 232 | width: 244 233 | - data: 234 | context: 235 | enabled: false 236 | variable_selector: [] 237 | desc: '' 238 | model: 239 | completion_params: 240 | temperature: 0.7 241 | mode: chat 242 | name: gpt-4o-mini 243 | provider: openai_api_compatible 244 | prompt_template: 245 | - id: 216843e4-021e-4655-8d6f-b527e193a06b 246 | role: system 247 | text: 你是个聊天机器人 248 | - role: user 249 | text: '{{#sys.query#}}' 250 | selected: false 251 | title: LLM 252 | type: llm 253 | variables: [] 254 | vision: 255 | enabled: false 256 | height: 98 257 | id: '1731378486318' 258 | position: 259 | x: 660.8571428571427 260 | y: 203.21428571428572 261 | positionAbsolute: 262 | x: 660.8571428571427 263 | y: 203.21428571428572 264 | selected: false 265 | sourcePosition: right 266 | targetPosition: left 267 | type: custom 268 | width: 244 269 | - data: 270 | answer: '{{#1731378486318.text#}}' 271 | desc: '' 272 | selected: false 273 | title: 直接回复 2 274 | type: answer 275 | variables: [] 276 | height: 103 277 | id: '1731378500668' 278 | position: 279 | x: 984.8571428571429 280 | y: 175.9285714285714 281 | positionAbsolute: 282 | x: 984.8571428571429 283 | y: 175.9285714285714 284 | selected: false 285 | sourcePosition: right 286 | targetPosition: left 287 | type: custom 288 | width: 244 289 | - data: 290 | code: "import json,requests\n\ndef main(input_string):\n try:\n \ 291 | \ data = json.loads(input_string)\n username = data['username']\n\ 292 | \ password = data['password']\n #这里可以验证是否登录成功,返回user_token和status,假设username=svcvit为登录成功\n\ 293 | \ #response_data = requests.post(\"\")\n if username == \"\ 294 | svcvit\":\n return {\"is_login\":1,\"user_token\":\"user_token_test\"\ 295 | }\n else:\n return {\"is_login\":0,\"user_token\":\"\"\ 296 | }\n except:\n return {\"is_login\":0,\"user_token\":\"\"}\n" 297 | code_language: python3 298 | desc: '' 299 | outputs: 300 | is_login: 301 | children: null 302 | type: number 303 | user_token: 304 | children: null 305 | type: string 306 | selected: false 307 | title: 登录 308 | type: code 309 | variables: 310 | - value_selector: 311 | - sys 312 | - query 313 | variable: input_string 314 | height: 54 315 | id: '1731378644337' 316 | position: 317 | x: 638 318 | y: 417.5 319 | positionAbsolute: 320 | x: 638 321 | y: 417.5 322 | selected: false 323 | sourcePosition: right 324 | targetPosition: left 325 | type: custom 326 | width: 244 327 | - data: 328 | cases: 329 | - case_id: 'true' 330 | conditions: 331 | - comparison_operator: empty 332 | id: c186fbe2-078d-4c96-b45b-cd1a3d22c1f6 333 | value: '' 334 | varType: string 335 | variable_selector: 336 | - conversation 337 | - user_token 338 | id: 'true' 339 | logical_operator: and 340 | desc: '' 341 | selected: false 342 | title: user_token 343 | type: if-else 344 | height: 126 345 | id: '1731378918101' 346 | position: 347 | x: 334 348 | y: 263 349 | positionAbsolute: 350 | x: 334 351 | y: 263 352 | selected: false 353 | sourcePosition: right 354 | targetPosition: left 355 | type: custom 356 | width: 244 357 | - data: 358 | assigned_variable_selector: 359 | - conversation 360 | - user_token 361 | desc: '' 362 | input_variable_selector: 363 | - '1731378644337' 364 | - user_token 365 | selected: false 366 | title: 变量赋值 367 | type: assigner 368 | write_mode: over-write 369 | height: 132 370 | id: '1731379076735' 371 | position: 372 | x: 1246 373 | y: 417.5 374 | positionAbsolute: 375 | x: 1246 376 | y: 417.5 377 | selected: false 378 | sourcePosition: right 379 | targetPosition: left 380 | type: custom 381 | width: 244 382 | - data: 383 | cases: 384 | - case_id: 'true' 385 | conditions: 386 | - comparison_operator: '=' 387 | id: d53711d6-bf99-4a90-ba67-96de51cf3a62 388 | value: '1' 389 | varType: number 390 | variable_selector: 391 | - '1731378644337' 392 | - is_login 393 | id: 'true' 394 | logical_operator: and 395 | desc: '' 396 | selected: false 397 | title: 是否登录成功 398 | type: if-else 399 | height: 126 400 | id: '1731379291700' 401 | position: 402 | x: 942 403 | y: 417.5 404 | positionAbsolute: 405 | x: 942 406 | y: 417.5 407 | selected: false 408 | sourcePosition: right 409 | targetPosition: left 410 | type: custom 411 | width: 244 412 | - data: 413 | answer: 登录成功,我们聊点什么? 414 | desc: '' 415 | selected: false 416 | title: 直接回复 3 417 | type: answer 418 | variables: [] 419 | height: 100 420 | id: '1731379313752' 421 | position: 422 | x: 1550 423 | y: 417.5 424 | positionAbsolute: 425 | x: 1550 426 | y: 417.5 427 | selected: false 428 | sourcePosition: right 429 | targetPosition: left 430 | type: custom 431 | width: 244 432 | viewport: 433 | x: 232.47626346168283 434 | y: 72.51296686754235 435 | zoom: 0.6588399758670702 436 | -------------------------------------------------------------------------------- /DSL/MCP-amap.yml: -------------------------------------------------------------------------------- 1 | app: 2 | description: '' 3 | icon: 🤖 4 | icon_background: '#FFEAD5' 5 | mode: advanced-chat 6 | name: MCP 7 | use_icon_as_answer_icon: false 8 | dependencies: [] 9 | kind: app 10 | version: 0.1.5 11 | workflow: 12 | conversation_variables: [] 13 | environment_variables: [] 14 | features: 15 | file_upload: 16 | allowed_file_extensions: 17 | - .JPG 18 | - .JPEG 19 | - .PNG 20 | - .GIF 21 | - .WEBP 22 | - .SVG 23 | allowed_file_types: 24 | - image 25 | allowed_file_upload_methods: 26 | - local_file 27 | - remote_url 28 | enabled: false 29 | fileUploadConfig: 30 | audio_file_size_limit: 50 31 | batch_count_limit: 5 32 | file_size_limit: 15 33 | image_file_size_limit: 10 34 | video_file_size_limit: 100 35 | workflow_file_upload_limit: 10 36 | image: 37 | enabled: false 38 | number_limits: 3 39 | transfer_methods: 40 | - local_file 41 | - remote_url 42 | number_limits: 3 43 | opening_statement: '' 44 | retriever_resource: 45 | enabled: true 46 | sensitive_word_avoidance: 47 | enabled: false 48 | speech_to_text: 49 | enabled: false 50 | suggested_questions: [] 51 | suggested_questions_after_answer: 52 | enabled: false 53 | text_to_speech: 54 | enabled: false 55 | language: '' 56 | voice: '' 57 | graph: 58 | edges: 59 | - data: 60 | isInLoop: false 61 | sourceType: start 62 | targetType: agent 63 | id: 1742957989303-source-1742957995972-target 64 | source: '1742957989303' 65 | sourceHandle: source 66 | target: '1742957995972' 67 | targetHandle: target 68 | type: custom 69 | zIndex: 0 70 | - data: 71 | isInLoop: false 72 | sourceType: agent 73 | targetType: answer 74 | id: 1742957995972-source-answer-target 75 | source: '1742957995972' 76 | sourceHandle: source 77 | target: answer 78 | targetHandle: target 79 | type: custom 80 | zIndex: 0 81 | nodes: 82 | - data: 83 | desc: '' 84 | selected: false 85 | title: 开始 86 | type: start 87 | variables: [] 88 | height: 52 89 | id: '1742957989303' 90 | position: 91 | x: 24.285714285714278 92 | y: 153.28571428571428 93 | positionAbsolute: 94 | x: 24.285714285714278 95 | y: 153.28571428571428 96 | selected: false 97 | sourcePosition: right 98 | targetPosition: left 99 | type: custom 100 | width: 243 101 | - data: 102 | agent_parameters: 103 | instruction: 104 | type: constant 105 | value: 通过amap的服务,进行必要的查询 106 | mcp_server: 107 | type: constant 108 | value: https://mcp.amap.com/sse?key= 109 | model: 110 | type: constant 111 | value: 112 | completion_params: {} 113 | mode: chat 114 | model: gpt-4o-mini 115 | model_type: llm 116 | provider: langgenius/openai/openai 117 | type: model-selector 118 | query: 119 | type: constant 120 | value: '{{#sys.query#}}' 121 | tools: 122 | type: constant 123 | value: 124 | - enabled: true 125 | extra: 126 | description: '' 127 | parameters: {} 128 | provider_name: time 129 | schemas: 130 | - auto_generate: null 131 | default: '%Y-%m-%d %H:%M:%S' 132 | form: form 133 | human_description: 134 | en_US: Time format in strftime standard. 135 | ja_JP: Time format in strftime standard. 136 | pt_BR: Time format in strftime standard. 137 | zh_Hans: strftime 标准的时间格式。 138 | label: 139 | en_US: Format 140 | ja_JP: Format 141 | pt_BR: Format 142 | zh_Hans: 格式 143 | llm_description: null 144 | max: null 145 | min: null 146 | name: format 147 | options: [] 148 | placeholder: null 149 | precision: null 150 | required: false 151 | scope: null 152 | template: null 153 | type: string 154 | - auto_generate: null 155 | default: UTC 156 | form: form 157 | human_description: 158 | en_US: Timezone 159 | ja_JP: Timezone 160 | pt_BR: Timezone 161 | zh_Hans: 时区 162 | label: 163 | en_US: Timezone 164 | ja_JP: Timezone 165 | pt_BR: Timezone 166 | zh_Hans: 时区 167 | llm_description: null 168 | max: null 169 | min: null 170 | name: timezone 171 | options: 172 | - label: 173 | en_US: UTC 174 | ja_JP: UTC 175 | pt_BR: UTC 176 | zh_Hans: UTC 177 | value: UTC 178 | - label: 179 | en_US: America/New_York 180 | ja_JP: America/New_York 181 | pt_BR: America/New_York 182 | zh_Hans: 美洲/纽约 183 | value: America/New_York 184 | - label: 185 | en_US: America/Los_Angeles 186 | ja_JP: America/Los_Angeles 187 | pt_BR: America/Los_Angeles 188 | zh_Hans: 美洲/洛杉矶 189 | value: America/Los_Angeles 190 | - label: 191 | en_US: America/Chicago 192 | ja_JP: America/Chicago 193 | pt_BR: America/Chicago 194 | zh_Hans: 美洲/芝加哥 195 | value: America/Chicago 196 | - label: 197 | en_US: America/Sao_Paulo 198 | ja_JP: America/Sao_Paulo 199 | pt_BR: América/São Paulo 200 | zh_Hans: 美洲/圣保罗 201 | value: America/Sao_Paulo 202 | - label: 203 | en_US: Asia/Shanghai 204 | ja_JP: Asia/Shanghai 205 | pt_BR: Asia/Shanghai 206 | zh_Hans: 亚洲/上海 207 | value: Asia/Shanghai 208 | - label: 209 | en_US: Asia/Ho_Chi_Minh 210 | ja_JP: Asia/Ho_Chi_Minh 211 | pt_BR: Ásia/Ho Chi Minh 212 | zh_Hans: 亚洲/胡志明市 213 | value: Asia/Ho_Chi_Minh 214 | - label: 215 | en_US: Asia/Tokyo 216 | ja_JP: Asia/Tokyo 217 | pt_BR: Asia/Tokyo 218 | zh_Hans: 亚洲/东京 219 | value: Asia/Tokyo 220 | - label: 221 | en_US: Asia/Dubai 222 | ja_JP: Asia/Dubai 223 | pt_BR: Asia/Dubai 224 | zh_Hans: 亚洲/迪拜 225 | value: Asia/Dubai 226 | - label: 227 | en_US: Asia/Kolkata 228 | ja_JP: Asia/Kolkata 229 | pt_BR: Asia/Kolkata 230 | zh_Hans: 亚洲/加尔各答 231 | value: Asia/Kolkata 232 | - label: 233 | en_US: Asia/Seoul 234 | ja_JP: Asia/Seoul 235 | pt_BR: Asia/Seoul 236 | zh_Hans: 亚洲/首尔 237 | value: Asia/Seoul 238 | - label: 239 | en_US: Asia/Singapore 240 | ja_JP: Asia/Singapore 241 | pt_BR: Asia/Singapore 242 | zh_Hans: 亚洲/新加坡 243 | value: Asia/Singapore 244 | - label: 245 | en_US: Europe/London 246 | ja_JP: Europe/London 247 | pt_BR: Europe/London 248 | zh_Hans: 欧洲/伦敦 249 | value: Europe/London 250 | - label: 251 | en_US: Europe/Berlin 252 | ja_JP: Europe/Berlin 253 | pt_BR: Europe/Berlin 254 | zh_Hans: 欧洲/柏林 255 | value: Europe/Berlin 256 | - label: 257 | en_US: Europe/Moscow 258 | ja_JP: Europe/Moscow 259 | pt_BR: Europe/Moscow 260 | zh_Hans: 欧洲/莫斯科 261 | value: Europe/Moscow 262 | - label: 263 | en_US: Australia/Sydney 264 | ja_JP: Australia/Sydney 265 | pt_BR: Australia/Sydney 266 | zh_Hans: 澳大利亚/悉尼 267 | value: Australia/Sydney 268 | - label: 269 | en_US: Pacific/Auckland 270 | ja_JP: Pacific/Auckland 271 | pt_BR: Pacific/Auckland 272 | zh_Hans: 太平洋/奥克兰 273 | value: Pacific/Auckland 274 | - label: 275 | en_US: Africa/Cairo 276 | ja_JP: Africa/Cairo 277 | pt_BR: Africa/Cairo 278 | zh_Hans: 非洲/开罗 279 | value: Africa/Cairo 280 | placeholder: null 281 | precision: null 282 | required: false 283 | scope: null 284 | template: null 285 | type: select 286 | settings: 287 | format: 288 | value: '%Y-%m-%d %H:%M:%S' 289 | timezone: 290 | value: UTC 291 | tool_label: 获取当前时间 292 | tool_name: current_time 293 | type: builtin 294 | agent_strategy_label: MCP FunctionCalling 295 | agent_strategy_name: function_calling 296 | agent_strategy_provider_name: hjlarry/agent/mcp_agent 297 | desc: '' 298 | output_schema: null 299 | plugin_unique_identifier: hjlarry/agent:0.0.1@f42a5a80b1c77fd0655c755b70ad08da47ceb1acc3638cf13a0eb9ed42b3a128 300 | selected: true 301 | title: Agent 302 | type: agent 303 | height: 196 304 | id: '1742957995972' 305 | position: 306 | x: 31.14285714285711 307 | y: 237.57142857142856 308 | positionAbsolute: 309 | x: 31.14285714285711 310 | y: 237.57142857142856 311 | selected: true 312 | sourcePosition: right 313 | targetPosition: left 314 | type: custom 315 | width: 243 316 | - data: 317 | answer: '{{#1742957995972.text#}}' 318 | desc: '' 319 | selected: false 320 | title: 直接回复 321 | type: answer 322 | variables: [] 323 | height: 103 324 | id: answer 325 | position: 326 | x: 31.14285714285711 327 | y: 469.00000000000006 328 | positionAbsolute: 329 | x: 31.14285714285711 330 | y: 469.00000000000006 331 | selected: false 332 | sourcePosition: right 333 | targetPosition: left 334 | type: custom 335 | width: 243 336 | viewport: 337 | x: 0 338 | y: 0 339 | zoom: 0.7 340 | -------------------------------------------------------------------------------- /DSL/MCP.yml: -------------------------------------------------------------------------------- 1 | app: 2 | description: '' 3 | icon: 🤖 4 | icon_background: '#FFEAD5' 5 | mode: advanced-chat 6 | name: MCP 7 | use_icon_as_answer_icon: false 8 | dependencies: [] 9 | kind: app 10 | version: 0.1.5 11 | workflow: 12 | conversation_variables: [] 13 | environment_variables: [] 14 | features: 15 | file_upload: 16 | allowed_file_extensions: 17 | - .JPG 18 | - .JPEG 19 | - .PNG 20 | - .GIF 21 | - .WEBP 22 | - .SVG 23 | allowed_file_types: 24 | - image 25 | allowed_file_upload_methods: 26 | - local_file 27 | - remote_url 28 | enabled: false 29 | fileUploadConfig: 30 | audio_file_size_limit: 50 31 | batch_count_limit: 5 32 | file_size_limit: 15 33 | image_file_size_limit: 10 34 | video_file_size_limit: 100 35 | workflow_file_upload_limit: 10 36 | image: 37 | enabled: false 38 | number_limits: 3 39 | transfer_methods: 40 | - local_file 41 | - remote_url 42 | number_limits: 3 43 | opening_statement: '' 44 | retriever_resource: 45 | enabled: true 46 | sensitive_word_avoidance: 47 | enabled: false 48 | speech_to_text: 49 | enabled: false 50 | suggested_questions: [] 51 | suggested_questions_after_answer: 52 | enabled: false 53 | text_to_speech: 54 | enabled: false 55 | language: '' 56 | voice: '' 57 | graph: 58 | edges: 59 | - data: 60 | isInLoop: false 61 | sourceType: start 62 | targetType: agent 63 | id: 1742957989303-source-1742957995972-target 64 | source: '1742957989303' 65 | sourceHandle: source 66 | target: '1742957995972' 67 | targetHandle: target 68 | type: custom 69 | zIndex: 0 70 | - data: 71 | isInLoop: false 72 | sourceType: agent 73 | targetType: answer 74 | id: 1742957995972-source-answer-target 75 | source: '1742957995972' 76 | sourceHandle: source 77 | target: answer 78 | targetHandle: target 79 | type: custom 80 | zIndex: 0 81 | nodes: 82 | - data: 83 | desc: '' 84 | selected: false 85 | title: 开始 86 | type: start 87 | variables: [] 88 | height: 54 89 | id: '1742957989303' 90 | position: 91 | x: 77.26818344276029 92 | y: -75.86796899840161 93 | positionAbsolute: 94 | x: 77.26818344276029 95 | y: -75.86796899840161 96 | selected: false 97 | sourcePosition: right 98 | targetPosition: left 99 | type: custom 100 | width: 244 101 | - data: 102 | agent_parameters: 103 | instruction: 104 | type: constant 105 | value: 调用MCP服务,查询天气信息。 106 | mcp_server: 107 | type: constant 108 | value: https://router.mcp.so/sse/********* 109 | model: 110 | type: constant 111 | value: 112 | completion_params: {} 113 | mode: chat 114 | model: gpt-4o-mini 115 | model_type: llm 116 | provider: langgenius/openai/openai 117 | type: model-selector 118 | query: 119 | type: constant 120 | value: '{{#sys.query#}}' 121 | tools: 122 | type: constant 123 | value: 124 | - enabled: true 125 | extra: 126 | description: '' 127 | parameters: {} 128 | provider_name: time 129 | schemas: 130 | - auto_generate: null 131 | default: '%Y-%m-%d %H:%M:%S' 132 | form: form 133 | human_description: 134 | en_US: Time format in strftime standard. 135 | ja_JP: Time format in strftime standard. 136 | pt_BR: Time format in strftime standard. 137 | zh_Hans: strftime 标准的时间格式。 138 | label: 139 | en_US: Format 140 | ja_JP: Format 141 | pt_BR: Format 142 | zh_Hans: 格式 143 | llm_description: null 144 | max: null 145 | min: null 146 | name: format 147 | options: [] 148 | placeholder: null 149 | precision: null 150 | required: false 151 | scope: null 152 | template: null 153 | type: string 154 | - auto_generate: null 155 | default: UTC 156 | form: form 157 | human_description: 158 | en_US: Timezone 159 | ja_JP: Timezone 160 | pt_BR: Timezone 161 | zh_Hans: 时区 162 | label: 163 | en_US: Timezone 164 | ja_JP: Timezone 165 | pt_BR: Timezone 166 | zh_Hans: 时区 167 | llm_description: null 168 | max: null 169 | min: null 170 | name: timezone 171 | options: 172 | - label: 173 | en_US: UTC 174 | ja_JP: UTC 175 | pt_BR: UTC 176 | zh_Hans: UTC 177 | value: UTC 178 | - label: 179 | en_US: America/New_York 180 | ja_JP: America/New_York 181 | pt_BR: America/New_York 182 | zh_Hans: 美洲/纽约 183 | value: America/New_York 184 | - label: 185 | en_US: America/Los_Angeles 186 | ja_JP: America/Los_Angeles 187 | pt_BR: America/Los_Angeles 188 | zh_Hans: 美洲/洛杉矶 189 | value: America/Los_Angeles 190 | - label: 191 | en_US: America/Chicago 192 | ja_JP: America/Chicago 193 | pt_BR: America/Chicago 194 | zh_Hans: 美洲/芝加哥 195 | value: America/Chicago 196 | - label: 197 | en_US: America/Sao_Paulo 198 | ja_JP: America/Sao_Paulo 199 | pt_BR: América/São Paulo 200 | zh_Hans: 美洲/圣保罗 201 | value: America/Sao_Paulo 202 | - label: 203 | en_US: Asia/Shanghai 204 | ja_JP: Asia/Shanghai 205 | pt_BR: Asia/Shanghai 206 | zh_Hans: 亚洲/上海 207 | value: Asia/Shanghai 208 | - label: 209 | en_US: Asia/Ho_Chi_Minh 210 | ja_JP: Asia/Ho_Chi_Minh 211 | pt_BR: Ásia/Ho Chi Minh 212 | zh_Hans: 亚洲/胡志明市 213 | value: Asia/Ho_Chi_Minh 214 | - label: 215 | en_US: Asia/Tokyo 216 | ja_JP: Asia/Tokyo 217 | pt_BR: Asia/Tokyo 218 | zh_Hans: 亚洲/东京 219 | value: Asia/Tokyo 220 | - label: 221 | en_US: Asia/Dubai 222 | ja_JP: Asia/Dubai 223 | pt_BR: Asia/Dubai 224 | zh_Hans: 亚洲/迪拜 225 | value: Asia/Dubai 226 | - label: 227 | en_US: Asia/Kolkata 228 | ja_JP: Asia/Kolkata 229 | pt_BR: Asia/Kolkata 230 | zh_Hans: 亚洲/加尔各答 231 | value: Asia/Kolkata 232 | - label: 233 | en_US: Asia/Seoul 234 | ja_JP: Asia/Seoul 235 | pt_BR: Asia/Seoul 236 | zh_Hans: 亚洲/首尔 237 | value: Asia/Seoul 238 | - label: 239 | en_US: Asia/Singapore 240 | ja_JP: Asia/Singapore 241 | pt_BR: Asia/Singapore 242 | zh_Hans: 亚洲/新加坡 243 | value: Asia/Singapore 244 | - label: 245 | en_US: Europe/London 246 | ja_JP: Europe/London 247 | pt_BR: Europe/London 248 | zh_Hans: 欧洲/伦敦 249 | value: Europe/London 250 | - label: 251 | en_US: Europe/Berlin 252 | ja_JP: Europe/Berlin 253 | pt_BR: Europe/Berlin 254 | zh_Hans: 欧洲/柏林 255 | value: Europe/Berlin 256 | - label: 257 | en_US: Europe/Moscow 258 | ja_JP: Europe/Moscow 259 | pt_BR: Europe/Moscow 260 | zh_Hans: 欧洲/莫斯科 261 | value: Europe/Moscow 262 | - label: 263 | en_US: Australia/Sydney 264 | ja_JP: Australia/Sydney 265 | pt_BR: Australia/Sydney 266 | zh_Hans: 澳大利亚/悉尼 267 | value: Australia/Sydney 268 | - label: 269 | en_US: Pacific/Auckland 270 | ja_JP: Pacific/Auckland 271 | pt_BR: Pacific/Auckland 272 | zh_Hans: 太平洋/奥克兰 273 | value: Pacific/Auckland 274 | - label: 275 | en_US: Africa/Cairo 276 | ja_JP: Africa/Cairo 277 | pt_BR: Africa/Cairo 278 | zh_Hans: 非洲/开罗 279 | value: Africa/Cairo 280 | placeholder: null 281 | precision: null 282 | required: false 283 | scope: null 284 | template: null 285 | type: select 286 | settings: 287 | format: 288 | value: '%Y-%m-%d %H:%M:%S' 289 | timezone: 290 | value: UTC 291 | tool_label: 获取当前时间 292 | tool_name: current_time 293 | type: builtin 294 | agent_strategy_label: MCP FunctionCalling 295 | agent_strategy_name: function_calling 296 | agent_strategy_provider_name: hjlarry/agent/mcp_agent 297 | desc: '' 298 | output_schema: null 299 | plugin_unique_identifier: hjlarry/agent:0.0.1@f42a5a80b1c77fd0655c755b70ad08da47ceb1acc3638cf13a0eb9ed42b3a128 300 | selected: true 301 | title: Agent 302 | type: agent 303 | height: 198 304 | id: '1742957995972' 305 | position: 306 | x: 77.26818344276029 307 | y: 141.49174542794128 308 | positionAbsolute: 309 | x: 77.26818344276029 310 | y: 141.49174542794128 311 | selected: true 312 | sourcePosition: right 313 | targetPosition: left 314 | type: custom 315 | width: 244 316 | - data: 317 | answer: '{{#1742957995972.text#}}' 318 | desc: '' 319 | selected: false 320 | title: 直接回复 321 | type: answer 322 | variables: [] 323 | height: 105 324 | id: answer 325 | position: 326 | x: 92.65944019346313 327 | y: 522.3998570370943 328 | positionAbsolute: 329 | x: 92.65944019346313 330 | y: 522.3998570370943 331 | selected: false 332 | sourcePosition: right 333 | targetPosition: left 334 | type: custom 335 | width: 244 336 | viewport: 337 | x: -1.724234777740719 338 | y: 195.0933881869936 339 | zoom: 0.6700068920066886 340 | -------------------------------------------------------------------------------- /DSL/Python Coding Prompt.yml: -------------------------------------------------------------------------------- 1 | app: 2 | description: "\u4E00\u4E2A\u5F88\u597D\u7528\u7684\uFF0C\u9488\u5BF9\u5199Python\ 3 | \ \u4EE3\u7801\u7684\u804A\u5929\u673A\u5668\u4EBA" 4 | icon: "\U0001F916" 5 | icon_background: '#FFEAD5' 6 | mode: advanced-chat 7 | name: Python Coding Prompt 8 | kind: app 9 | version: 0.1.0 10 | workflow: 11 | features: 12 | file_upload: 13 | image: 14 | enabled: false 15 | number_limits: 3 16 | transfer_methods: 17 | - local_file 18 | - remote_url 19 | opening_statement: '' 20 | retriever_resource: 21 | enabled: true 22 | sensitive_word_avoidance: 23 | enabled: false 24 | speech_to_text: 25 | enabled: false 26 | suggested_questions: [] 27 | suggested_questions_after_answer: 28 | enabled: false 29 | text_to_speech: 30 | enabled: false 31 | language: '' 32 | voice: '' 33 | graph: 34 | edges: 35 | - data: 36 | sourceType: start 37 | targetType: llm 38 | id: 1721123006687-llm 39 | source: '1721123006687' 40 | sourceHandle: source 41 | target: llm 42 | targetHandle: target 43 | type: custom 44 | - data: 45 | sourceType: llm 46 | targetType: answer 47 | id: llm-answer 48 | source: llm 49 | sourceHandle: source 50 | target: answer 51 | targetHandle: target 52 | type: custom 53 | nodes: 54 | - data: 55 | desc: '' 56 | selected: false 57 | title: "\u5F00\u59CB" 58 | type: start 59 | variables: [] 60 | height: 54 61 | id: '1721123006687' 62 | position: 63 | x: 80 64 | y: 282 65 | positionAbsolute: 66 | x: 80 67 | y: 282 68 | selected: false 69 | sourcePosition: right 70 | targetPosition: left 71 | type: custom 72 | width: 244 73 | - data: 74 | context: 75 | enabled: false 76 | variable_selector: [] 77 | desc: '' 78 | memory: 79 | role_prefix: 80 | assistant: '' 81 | user: '' 82 | window: 83 | enabled: true 84 | size: 10 85 | model: 86 | completion_params: 87 | temperature: 0 88 | mode: chat 89 | name: deepseek-coder 90 | provider: deepseek 91 | prompt_template: 92 | - id: c289193a-894c-4c3f-a6d1-4786e5ae255d 93 | role: system 94 | text: 'You are an expert in Python development, including its core libraries, 95 | popular frameworks like Django, Flask and FastAPI, data science libraries 96 | such as NumPy and Pandas, and testing frameworks like pytest. You excel 97 | at selecting the best tools for each task, always striving to minimize 98 | unnecessary complexity and code duplication. 99 | 100 | When making suggestions, you break them down into discrete steps, recommending 101 | small tests after each stage to ensure progress is on the right track. 102 | 103 | You provide code examples when illustrating concepts or when specifically 104 | asked. However, if you can answer without code, that is preferred. You''re 105 | open to elaborating if requested. 106 | 107 | Before writing or suggesting code, you conduct a thorough review of the 108 | existing codebase, describing its functionality between 109 | tags. After the review, you create a detailed plan for the proposed changes, 110 | enclosing it in tags. You pay close attention to variable names 111 | and string literals, ensuring they remain consistent unless changes are 112 | necessary or requested. When naming something by convention, you surround 113 | it with double colons and use ::UPPERCASE::. 114 | 115 | Your outputs strike a balance between solving the immediate problem and 116 | maintaining flexibility for future use. 117 | 118 | You always seek clarification if anything is unclear or ambiguous. You 119 | pause to discuss trade-offs and implementation options when choices arise. 120 | 121 | It''s crucial that you adhere to this approach, teaching your conversation 122 | partner about making effective decisions in Python development. You avoid 123 | unnecessary apologies and learn from previous interactions to prevent 124 | repeating mistakes. 125 | 126 | You are highly conscious of security concerns, ensuring that every step 127 | avoids compromising data or introducing vulnerabilities. Whenever there''s 128 | a potential security risk (e.g., input handling, authentication management), 129 | you perform an additional review, presenting your reasoning between 130 | tags. 131 | 132 | 133 | Lastly, you consider the operational aspects of your solutions. You think 134 | about how to deploy, manage, monitor, and maintain Python applications. 135 | You highlight relevant operational concerns at each step of the development 136 | process.' 137 | selected: false 138 | title: LLM 139 | type: llm 140 | variables: [] 141 | vision: 142 | enabled: false 143 | height: 98 144 | id: llm 145 | position: 146 | x: 380 147 | y: 282 148 | positionAbsolute: 149 | x: 380 150 | y: 282 151 | selected: false 152 | sourcePosition: right 153 | targetPosition: left 154 | type: custom 155 | width: 244 156 | - data: 157 | answer: '{{#llm.text#}}' 158 | desc: '' 159 | selected: true 160 | title: "\u76F4\u63A5\u56DE\u590D" 161 | type: answer 162 | variables: [] 163 | height: 107 164 | id: answer 165 | position: 166 | x: 680 167 | y: 282 168 | positionAbsolute: 169 | x: 680 170 | y: 282 171 | selected: true 172 | sourcePosition: right 173 | targetPosition: left 174 | type: custom 175 | width: 244 176 | viewport: 177 | x: 198.6685751238248 178 | y: 273.8539256092823 179 | zoom: 0.5020837716194867 180 | -------------------------------------------------------------------------------- /DSL/SEO Slug Generator.yml: -------------------------------------------------------------------------------- 1 | app: 2 | description: This GPT will convert input titles or content into SEO-friendly English 3 | URL slugs. The slugs will clearly convey the original meaning while being concise 4 | and not exceeding 60 characters. If the input content is too long, the GPT will 5 | first condense it into an English phrase within 60 characters before generating 6 | the slug. If the title is too short, the GPT will prompt the user to input a longer 7 | title. Special characters in the input will be directly removed. 8 | icon: "\U0001F916" 9 | icon_background: '#FFEAD5' 10 | mode: workflow 11 | name: SEO Slug Generator 12 | kind: app 13 | version: 0.1.0 14 | workflow: 15 | features: 16 | file_upload: 17 | image: 18 | enabled: false 19 | number_limits: 3 20 | transfer_methods: 21 | - local_file 22 | - remote_url 23 | opening_statement: '' 24 | retriever_resource: 25 | enabled: true 26 | sensitive_word_avoidance: 27 | enabled: false 28 | speech_to_text: 29 | enabled: false 30 | suggested_questions: [] 31 | suggested_questions_after_answer: 32 | enabled: false 33 | text_to_speech: 34 | enabled: false 35 | language: '' 36 | voice: '' 37 | graph: 38 | edges: 39 | - data: 40 | isInIteration: false 41 | sourceType: start 42 | targetType: llm 43 | id: 1721110595591-source-1721110597868-target 44 | source: '1721110595591' 45 | sourceHandle: source 46 | target: '1721110597868' 47 | targetHandle: target 48 | type: custom 49 | zIndex: 0 50 | - data: 51 | isInIteration: false 52 | sourceType: llm 53 | targetType: end 54 | id: 1721110597868-source-1721110634700-target 55 | source: '1721110597868' 56 | sourceHandle: source 57 | target: '1721110634700' 58 | targetHandle: target 59 | type: custom 60 | zIndex: 0 61 | nodes: 62 | - data: 63 | desc: '' 64 | selected: false 65 | title: Start 66 | type: start 67 | variables: 68 | - label: title 69 | max_length: 200 70 | options: [] 71 | required: true 72 | type: paragraph 73 | variable: title 74 | height: 90 75 | id: '1721110595591' 76 | position: 77 | x: 80 78 | y: 282 79 | positionAbsolute: 80 | x: 80 81 | y: 282 82 | selected: false 83 | sourcePosition: right 84 | targetPosition: left 85 | type: custom 86 | width: 244 87 | - data: 88 | context: 89 | enabled: false 90 | variable_selector: [] 91 | desc: '' 92 | model: 93 | completion_params: 94 | temperature: 1 95 | mode: chat 96 | name: deepseek-chat 97 | provider: deepseek 98 | prompt_template: 99 | - id: 05b774ea-be9e-4220-adf5-6578df3fee19 100 | role: system 101 | text: This GPT will convert input titles or content into SEO-friendly English 102 | URL slugs. The slugs will clearly convey the original meaning while being 103 | concise and not exceeding 60 characters. If the input content is too long, 104 | the GPT will first condense it into an English phrase within 60 characters 105 | before generating the slug. If the title is too short, the GPT will prompt 106 | the user to input a longer title. Special characters in the input will 107 | be directly removed. 108 | - id: 553e6337-9310-4400-8c2a-29fe6fec7c50 109 | role: user 110 | text: '{{#1721110595591.title#}}' 111 | selected: false 112 | title: LLM 113 | type: llm 114 | variables: [] 115 | vision: 116 | enabled: false 117 | height: 98 118 | id: '1721110597868' 119 | position: 120 | x: 384 121 | y: 282 122 | positionAbsolute: 123 | x: 384 124 | y: 282 125 | selected: true 126 | sourcePosition: right 127 | targetPosition: left 128 | type: custom 129 | width: 244 130 | - data: 131 | desc: '' 132 | outputs: 133 | - value_selector: 134 | - '1721110597868' 135 | - text 136 | variable: output 137 | selected: false 138 | title: End 139 | type: end 140 | height: 90 141 | id: '1721110634700' 142 | position: 143 | x: 688 144 | y: 282 145 | positionAbsolute: 146 | x: 688 147 | y: 282 148 | sourcePosition: right 149 | targetPosition: left 150 | type: custom 151 | width: 244 152 | viewport: 153 | x: 0 154 | y: 0 155 | zoom: 1 156 | -------------------------------------------------------------------------------- /DSL/Text to Card Iteration.yml: -------------------------------------------------------------------------------- 1 | app: 2 | description: '' 3 | icon: "\U0001F916" 4 | icon_background: '#FFEAD5' 5 | mode: workflow 6 | name: "\u6587\u5B57\u8F6C\u5361\u7247-\u8FED\u4EE3" 7 | kind: app 8 | version: 0.1.0 9 | workflow: 10 | environment_variables: [] 11 | features: 12 | file_upload: 13 | image: 14 | enabled: false 15 | number_limits: 3 16 | transfer_methods: 17 | - local_file 18 | - remote_url 19 | opening_statement: '' 20 | retriever_resource: 21 | enabled: false 22 | sensitive_word_avoidance: 23 | enabled: false 24 | speech_to_text: 25 | enabled: false 26 | suggested_questions: [] 27 | suggested_questions_after_answer: 28 | enabled: false 29 | text_to_speech: 30 | enabled: false 31 | language: '' 32 | voice: '' 33 | graph: 34 | edges: 35 | - data: 36 | isInIteration: false 37 | sourceType: start 38 | targetType: template-transform 39 | id: 1721710272051-source-1721731659123-target 40 | source: '1721710272051' 41 | sourceHandle: source 42 | target: '1721731659123' 43 | targetHandle: target 44 | type: custom 45 | zIndex: 0 46 | - data: 47 | isInIteration: false 48 | sourceType: template-transform 49 | targetType: http-request 50 | id: 1721731659123-source-1721710297246-target 51 | source: '1721731659123' 52 | sourceHandle: source 53 | target: '1721710297246' 54 | targetHandle: target 55 | type: custom 56 | zIndex: 0 57 | - data: 58 | isInIteration: false 59 | sourceType: http-request 60 | targetType: parameter-extractor 61 | id: 1721710297246-source-1721731782529-target 62 | source: '1721710297246' 63 | sourceHandle: source 64 | target: '1721731782529' 65 | targetHandle: target 66 | type: custom 67 | zIndex: 0 68 | - data: 69 | isInIteration: false 70 | sourceType: parameter-extractor 71 | targetType: end 72 | id: 1721731782529-source-1721710662921-target 73 | source: '1721731782529' 74 | sourceHandle: source 75 | target: '1721710662921' 76 | targetHandle: target 77 | type: custom 78 | zIndex: 0 79 | nodes: 80 | - data: 81 | desc: '' 82 | selected: false 83 | title: Start 84 | type: start 85 | variables: 86 | - label: "\u4F5C\u8005\u540D\u5B57" 87 | max_length: 48 88 | options: [] 89 | required: true 90 | type: text-input 91 | variable: author 92 | - label: "\u6587\u672C\u5185\u5BB9" 93 | max_length: null 94 | options: [] 95 | required: true 96 | type: paragraph 97 | variable: body_text 98 | height: 116 99 | id: '1721710272051' 100 | position: 101 | x: 80 102 | y: 282 103 | positionAbsolute: 104 | x: 80 105 | y: 282 106 | selected: false 107 | sourcePosition: right 108 | targetPosition: left 109 | type: custom 110 | width: 244 111 | - data: 112 | authorization: 113 | config: 114 | api_key: 282856915996906898.lqe1hPL1OpFHfNAoMc1PdOToeximcTrw 115 | header: X-API-Key 116 | type: custom 117 | type: api-key 118 | body: 119 | data: '{{#1721731659123.output#}}' 120 | type: json 121 | desc: '' 122 | headers: Content-Type:application/json 123 | method: post 124 | params: '' 125 | selected: false 126 | timeout: 127 | max_connect_timeout: 0 128 | max_read_timeout: 0 129 | max_write_timeout: 0 130 | title: HTTP Request 131 | type: http-request 132 | url: https://api.imgrender.cn/open/v1/pics 133 | variables: [] 134 | height: 106 135 | id: '1721710297246' 136 | position: 137 | x: 684 138 | y: 282 139 | positionAbsolute: 140 | x: 684 141 | y: 282 142 | selected: false 143 | sourcePosition: right 144 | targetPosition: left 145 | type: custom 146 | width: 244 147 | - data: 148 | desc: '' 149 | outputs: 150 | - value_selector: 151 | - '1721731782529' 152 | - image_url 153 | variable: image_url 154 | selected: false 155 | title: End 156 | type: end 157 | height: 90 158 | id: '1721710662921' 159 | position: 160 | x: 1288 161 | y: 282 162 | positionAbsolute: 163 | x: 1288 164 | y: 282 165 | selected: false 166 | sourcePosition: right 167 | targetPosition: left 168 | type: custom 169 | width: 244 170 | - data: 171 | desc: '' 172 | selected: false 173 | template: "{\n \"width\": 300,\n \"height\": 800,\n \"backgroundColor\"\ 174 | : \"#E0E0E0\",\n \"texts\":[\n {\n \"x\": 50,\n \ 175 | \ \"y\": 80,\n \"text\": \"{{ author }}\",\n \ 176 | \ \"font\": \"SourceHanSansSC-Normal\",\n \"fontSize\": 22,\n\ 177 | \ \"color\": \"#94C0FA\",\n \"width\": 100,\n \ 178 | \ \"textAlign\": \"left\"\n },\n {\n \"\ 179 | x\": 50,\n \"y\": 150,\n \"text\": \"{{ body_text\ 180 | \ }}\",\n \"font\": \"SourceHanSansSC-Bold\",\n \"\ 181 | fontSize\": 36,\n \"color\": \"#0069ED\",\n \"width\"\ 182 | : 200,\n \"textAlign\": \"left\"\n }\n ],\n \"lines\"\ 183 | :[\n {\n \"startX\": 50,\n \"startY\": 110,\n\ 184 | \ \"endX\": 250,\n \"endY\": 110,\n \"\ 185 | width\": 1,\n \"color\": \"#A4BADF\",\n \"zIndex\"\ 186 | : 1\n },\n {\n \"startX\": 50,\n \"\ 187 | startY\": 720,\n \"endX\": 250,\n \"endY\": 720,\n\ 188 | \ \"width\": 1,\n \"color\": \"#A4BADF\",\n \ 189 | \ \"zIndex\": 1\n }\n ]\n}\n" 190 | title: Template 191 | type: template-transform 192 | variables: 193 | - value_selector: 194 | - '1721710272051' 195 | - author 196 | variable: author 197 | - value_selector: 198 | - '1721710272051' 199 | - body_text 200 | variable: body_text 201 | height: 54 202 | id: '1721731659123' 203 | position: 204 | x: 384 205 | y: 282 206 | positionAbsolute: 207 | x: 384 208 | y: 282 209 | selected: true 210 | sourcePosition: right 211 | targetPosition: left 212 | type: custom 213 | width: 244 214 | - data: 215 | desc: '' 216 | instruction: "\u63D0\u53D6URL\u7684\u503C" 217 | model: 218 | completion_params: 219 | temperature: 0.7 220 | mode: chat 221 | name: doubao 222 | provider: volcengine_maas 223 | parameters: 224 | - description: "\u63D0\u53D6\u751F\u6210\u7684\u56FE\u7247\u94FE\u63A5" 225 | name: image_url 226 | required: false 227 | type: string 228 | query: 229 | - '1721710297246' 230 | - body 231 | reasoning_mode: prompt 232 | selected: false 233 | title: Parameter Extractor 234 | type: parameter-extractor 235 | variables: [] 236 | height: 98 237 | id: '1721731782529' 238 | position: 239 | x: 988 240 | y: 282 241 | positionAbsolute: 242 | x: 988 243 | y: 282 244 | selected: false 245 | sourcePosition: right 246 | targetPosition: left 247 | type: custom 248 | width: 244 249 | viewport: 250 | x: 23.18893383868499 251 | y: 43.248071890248184 252 | zoom: 1.3019936639441951 253 | -------------------------------------------------------------------------------- /DSL/chart_demo.yml: -------------------------------------------------------------------------------- 1 | app: 2 | description: 一个图表渲染的示例 3 | icon: 🤖 4 | icon_background: '#FFEAD5' 5 | mode: advanced-chat 6 | name: chart_demo 7 | use_icon_as_answer_icon: false 8 | kind: app 9 | version: 0.1.3 10 | workflow: 11 | conversation_variables: [] 12 | environment_variables: [] 13 | features: 14 | file_upload: 15 | allowed_file_extensions: 16 | - .JPG 17 | - .JPEG 18 | - .PNG 19 | - .GIF 20 | - .WEBP 21 | - .SVG 22 | allowed_file_types: 23 | - image 24 | allowed_file_upload_methods: 25 | - local_file 26 | - remote_url 27 | enabled: false 28 | fileUploadConfig: 29 | audio_file_size_limit: 50 30 | batch_count_limit: 5 31 | file_size_limit: 15 32 | image_file_size_limit: 10 33 | video_file_size_limit: 100 34 | workflow_file_upload_limit: 10 35 | image: 36 | enabled: false 37 | number_limits: 3 38 | transfer_methods: 39 | - local_file 40 | - remote_url 41 | number_limits: 3 42 | opening_statement: '' 43 | retriever_resource: 44 | enabled: true 45 | sensitive_word_avoidance: 46 | enabled: false 47 | speech_to_text: 48 | enabled: false 49 | suggested_questions: [] 50 | suggested_questions_after_answer: 51 | enabled: false 52 | text_to_speech: 53 | enabled: false 54 | language: '' 55 | voice: '' 56 | graph: 57 | edges: 58 | - data: 59 | isInIteration: false 60 | sourceType: start 61 | targetType: http-request 62 | id: 1731568135443-source-1731568176573-target 63 | source: '1731568135443' 64 | sourceHandle: source 65 | target: '1731568176573' 66 | targetHandle: target 67 | type: custom 68 | zIndex: 0 69 | - data: 70 | isInIteration: false 71 | sourceType: http-request 72 | targetType: code 73 | id: 1731568176573-source-1731568257888-target 74 | source: '1731568176573' 75 | sourceHandle: source 76 | target: '1731568257888' 77 | targetHandle: target 78 | type: custom 79 | zIndex: 0 80 | - data: 81 | isInIteration: false 82 | sourceType: code 83 | targetType: answer 84 | id: 1731568257888-source-answer-target 85 | source: '1731568257888' 86 | sourceHandle: source 87 | target: answer 88 | targetHandle: target 89 | type: custom 90 | zIndex: 0 91 | nodes: 92 | - data: 93 | desc: '' 94 | selected: false 95 | title: 开始 96 | type: start 97 | variables: [] 98 | height: 54 99 | id: '1731568135443' 100 | position: 101 | x: 30 102 | y: 255 103 | positionAbsolute: 104 | x: 30 105 | y: 255 106 | selected: false 107 | sourcePosition: right 108 | targetPosition: left 109 | type: custom 110 | width: 244 111 | - data: 112 | answer: '{{#1731568257888.output#}}' 113 | desc: '' 114 | selected: false 115 | title: 直接回复 116 | type: answer 117 | variables: [] 118 | height: 103 119 | id: answer 120 | position: 121 | x: 942 122 | y: 255 123 | positionAbsolute: 124 | x: 942 125 | y: 255 126 | selected: false 127 | sourcePosition: right 128 | targetPosition: left 129 | type: custom 130 | width: 244 131 | - data: 132 | authorization: 133 | config: null 134 | type: no-auth 135 | body: 136 | data: [] 137 | type: none 138 | desc: '' 139 | headers: '' 140 | method: get 141 | params: '' 142 | selected: false 143 | timeout: 144 | max_connect_timeout: 0 145 | max_read_timeout: 0 146 | max_write_timeout: 0 147 | title: 获取天气数据 148 | type: http-request 149 | url: https://weather.cma.cn/api/climate?stationid=58367 150 | variables: [] 151 | height: 110 152 | id: '1731568176573' 153 | position: 154 | x: 334 155 | y: 255 156 | positionAbsolute: 157 | x: 334 158 | y: 255 159 | selected: true 160 | sourcePosition: right 161 | targetPosition: left 162 | type: custom 163 | width: 244 164 | - data: 165 | code: "import json\n\ndef main(data):\n\n weather_data = json.loads(data)\n\ 166 | \ # 提取月份和对应的数据\n months = []\n max_temps = []\n min_temps =\ 167 | \ []\n rainfall = []\n\n for item in weather_data['data']['data']:\n\ 168 | \ months.append(f\"{item['month']}月\")\n max_temps.append(item['maxTemp'])\n\ 169 | \ min_temps.append(item['minTemp'])\n rainfall.append(item['rainfall'])\n\ 170 | \n # 生成echarts配置\n echarts_config = {\n \"color\": ['#eb6877',\ 171 | \ '#0f91c4', '#46cbd4'],\n \"title\": {\n \"subtext\"\ 172 | : f\"{weather_data['data']['beginYear']}年-{weather_data['data']['endYear']}年月平均气温和降水\"\ 173 | ,\n \"left\": 20\n },\n \"tooltip\": {\n \ 174 | \ \"trigger\": \"axis\",\n \"axisPointer\": {\n \ 175 | \ \"type\": \"cross\"\n }\n },\n \"legend\"\ 176 | : {\n \"data\": [\"最高气温\", \"最低气温\", \"降水\"],\n \"\ 177 | right\": 20\n },\n \"xAxis\": {\n \"data\": months,\n\ 178 | \ \"axisLine\": {\n \"onZero\": False\n \ 179 | \ }\n },\n \"yAxis\": [\n {\n \ 180 | \ \"type\": \"value\",\n \"name\": \"温度\",\n \ 181 | \ \"position\": \"left\",\n \"axisLabel\": {\n \ 182 | \ \"formatter\": \"{value} ℃\"\n }\n \ 183 | \ },\n {\n \"type\": \"value\",\n \ 184 | \ \"name\": \"降水量\",\n \"min\": 0,\n \ 185 | \ \"position\": \"right\",\n \"axisLabel\": {\n \ 186 | \ \"formatter\": \"{value} mm\"\n }\n \ 187 | \ }\n ],\n \"series\": [\n {\n \ 188 | \ \"name\": \"最高气温\",\n \"type\": \"line\",\n \ 189 | \ \"data\": max_temps,\n \"yAxisIndex\": 0,\n \ 190 | \ \"itemStyle\": {\n \"color\": \"#eae213\"\ 191 | \n }\n },\n {\n \"name\"\ 192 | : \"最低气温\",\n \"type\": \"line\",\n \"smooth\"\ 193 | : True,\n \"data\": min_temps,\n \"yAxisIndex\"\ 194 | : 0,\n \"itemStyle\": {\n \"color\": \"\ 195 | #4bb2fa\"\n }\n },\n {\n \ 196 | \ \"name\": \"降水\",\n \"type\": \"bar\",\n \ 197 | \ \"smooth\": True,\n \"data\": rainfall,\n \ 198 | \ \"yAxisIndex\": 1,\n \"itemStyle\": {\n \ 199 | \ \"color\": \"#31e84f\"\n }\n }\n\ 200 | \ ]\n }\n\n # 生成输出文件\n output = \"```echarts\\n\" + json.dumps(echarts_config,\ 201 | \ indent=2, ensure_ascii=False) + \"\\n```\"\n\n return {\"output\":output}" 202 | code_language: python3 203 | desc: '' 204 | outputs: 205 | output: 206 | children: null 207 | type: string 208 | selected: false 209 | title: 组合数据 210 | type: code 211 | variables: 212 | - value_selector: 213 | - '1731568176573' 214 | - body 215 | variable: data 216 | height: 54 217 | id: '1731568257888' 218 | position: 219 | x: 638 220 | y: 255 221 | positionAbsolute: 222 | x: 638 223 | y: 255 224 | selected: false 225 | sourcePosition: right 226 | targetPosition: left 227 | type: custom 228 | width: 244 229 | viewport: 230 | x: 71 231 | y: -19 232 | zoom: 0.7 233 | -------------------------------------------------------------------------------- /DSL/jieba.yml: -------------------------------------------------------------------------------- 1 | app: 2 | description: '' 3 | icon: 🤖 4 | icon_background: '#FFEAD5' 5 | mode: advanced-chat 6 | name: jieba 7 | use_icon_as_answer_icon: false 8 | kind: app 9 | version: 0.1.3 10 | workflow: 11 | conversation_variables: [] 12 | environment_variables: [] 13 | features: 14 | file_upload: 15 | allowed_file_extensions: 16 | - .JPG 17 | - .JPEG 18 | - .PNG 19 | - .GIF 20 | - .WEBP 21 | - .SVG 22 | allowed_file_types: 23 | - image 24 | allowed_file_upload_methods: 25 | - local_file 26 | - remote_url 27 | enabled: false 28 | fileUploadConfig: 29 | audio_file_size_limit: 50 30 | batch_count_limit: 5 31 | file_size_limit: 15 32 | image_file_size_limit: 10 33 | video_file_size_limit: 100 34 | workflow_file_upload_limit: 10 35 | image: 36 | enabled: false 37 | number_limits: 3 38 | transfer_methods: 39 | - local_file 40 | - remote_url 41 | number_limits: 3 42 | opening_statement: '' 43 | retriever_resource: 44 | enabled: true 45 | sensitive_word_avoidance: 46 | enabled: false 47 | speech_to_text: 48 | enabled: false 49 | suggested_questions: [] 50 | suggested_questions_after_answer: 51 | enabled: false 52 | text_to_speech: 53 | enabled: false 54 | language: '' 55 | voice: '' 56 | graph: 57 | edges: 58 | - data: 59 | isInIteration: false 60 | sourceType: start 61 | targetType: code 62 | id: 1732240791951-source-1732240797960-target 63 | source: '1732240791951' 64 | sourceHandle: source 65 | target: '1732240797960' 66 | targetHandle: target 67 | type: custom 68 | zIndex: 0 69 | - data: 70 | isInIteration: false 71 | sourceType: code 72 | targetType: answer 73 | id: 1732240797960-source-answer-target 74 | source: '1732240797960' 75 | sourceHandle: source 76 | target: answer 77 | targetHandle: target 78 | type: custom 79 | zIndex: 0 80 | nodes: 81 | - data: 82 | desc: '' 83 | selected: false 84 | title: 开始 85 | type: start 86 | variables: [] 87 | height: 54 88 | id: '1732240791951' 89 | position: 90 | x: 30 91 | y: 258 92 | positionAbsolute: 93 | x: 30 94 | y: 258 95 | selected: false 96 | sourcePosition: right 97 | targetPosition: left 98 | type: custom 99 | width: 244 100 | - data: 101 | answer: '{{#1732240797960.output#}}' 102 | desc: '' 103 | selected: false 104 | title: 直接回复 105 | type: answer 106 | variables: [] 107 | height: 103 108 | id: answer 109 | position: 110 | x: 638 111 | y: 258 112 | positionAbsolute: 113 | x: 638 114 | y: 258 115 | selected: false 116 | sourcePosition: right 117 | targetPosition: left 118 | type: custom 119 | width: 244 120 | - data: 121 | code: "import jieba\nimport logging\njieba.setLogLevel(logging.INFO)\n\ndef\ 122 | \ main(input_content: str):\n seg_list = jieba.cut(input_content,use_paddle=True)\ 123 | \ # 使用paddle模式\n\n return {\n \"output\": str(list(seg_list)),\n\ 124 | \ }" 125 | code_language: python3 126 | desc: '' 127 | outputs: 128 | output: 129 | children: null 130 | type: string 131 | selected: false 132 | title: 代码执行 133 | type: code 134 | variables: 135 | - value_selector: 136 | - sys 137 | - query 138 | variable: input_content 139 | height: 54 140 | id: '1732240797960' 141 | position: 142 | x: 334 143 | y: 258 144 | positionAbsolute: 145 | x: 334 146 | y: 258 147 | selected: true 148 | sourcePosition: right 149 | targetPosition: left 150 | type: custom 151 | width: 244 152 | viewport: 153 | x: 265.00000000000006 154 | y: 65.35000000000008 155 | zoom: 0.7 156 | -------------------------------------------------------------------------------- /DSL/json-repair.yml: -------------------------------------------------------------------------------- 1 | app: 2 | description: '' 3 | icon: 🤖 4 | icon_background: '#FFEAD5' 5 | mode: workflow 6 | name: json-repair 7 | use_icon_as_answer_icon: false 8 | kind: app 9 | version: 0.1.2 10 | workflow: 11 | conversation_variables: [] 12 | environment_variables: [] 13 | features: 14 | file_upload: 15 | image: 16 | enabled: false 17 | number_limits: 3 18 | transfer_methods: 19 | - local_file 20 | - remote_url 21 | opening_statement: '' 22 | retriever_resource: 23 | enabled: true 24 | sensitive_word_avoidance: 25 | enabled: false 26 | speech_to_text: 27 | enabled: false 28 | suggested_questions: [] 29 | suggested_questions_after_answer: 30 | enabled: false 31 | text_to_speech: 32 | enabled: false 33 | language: '' 34 | voice: '' 35 | graph: 36 | edges: 37 | - data: 38 | isInIteration: false 39 | sourceType: start 40 | targetType: code 41 | id: 1732007415808-source-1732007419308-target 42 | source: '1732007415808' 43 | sourceHandle: source 44 | target: '1732007419308' 45 | targetHandle: target 46 | type: custom 47 | zIndex: 0 48 | - data: 49 | isInIteration: false 50 | sourceType: code 51 | targetType: end 52 | id: 1732007419308-source-1732007423290-target 53 | source: '1732007419308' 54 | sourceHandle: source 55 | target: '1732007423290' 56 | targetHandle: target 57 | type: custom 58 | zIndex: 0 59 | nodes: 60 | - data: 61 | desc: '' 62 | selected: false 63 | title: 开始 64 | type: start 65 | variables: 66 | - label: llm_string 67 | max_length: 10000 68 | options: [] 69 | required: true 70 | type: paragraph 71 | variable: llm_string 72 | height: 90 73 | id: '1732007415808' 74 | position: 75 | x: 80 76 | y: 282 77 | positionAbsolute: 78 | x: 80 79 | y: 282 80 | selected: false 81 | sourcePosition: right 82 | targetPosition: left 83 | type: custom 84 | width: 244 85 | - data: 86 | code: "import json_repair\nimport json\n\ndef main(llm_string):\n new_string\ 87 | \ = json_repair.repair_json(llm_string, ensure_ascii=False)\n return\ 88 | \ {\n \"result\": new_string\n }\n" 89 | code_language: python3 90 | desc: '' 91 | outputs: 92 | result: 93 | children: null 94 | type: string 95 | selected: true 96 | title: 代码执行 97 | type: code 98 | variables: 99 | - value_selector: 100 | - '1732007415808' 101 | - llm_string 102 | variable: llm_string 103 | height: 54 104 | id: '1732007419308' 105 | position: 106 | x: 384 107 | y: 282 108 | positionAbsolute: 109 | x: 384 110 | y: 282 111 | selected: true 112 | sourcePosition: right 113 | targetPosition: left 114 | type: custom 115 | width: 244 116 | - data: 117 | desc: '' 118 | outputs: 119 | - value_selector: 120 | - '1732007419308' 121 | - result 122 | variable: output 123 | selected: false 124 | title: 结束 125 | type: end 126 | height: 90 127 | id: '1732007423290' 128 | position: 129 | x: 688 130 | y: 282 131 | positionAbsolute: 132 | x: 688 133 | y: 282 134 | selected: false 135 | sourcePosition: right 136 | targetPosition: left 137 | type: custom 138 | width: 244 139 | viewport: 140 | x: 132.5007443566236 141 | y: 97.9169671661925 142 | zoom: 0.5277768588189832 143 | -------------------------------------------------------------------------------- /DSL/matplotlib.yml: -------------------------------------------------------------------------------- 1 | app: 2 | description: '' 3 | icon: 🤖 4 | icon_background: '#FFEAD5' 5 | mode: advanced-chat 6 | name: matplotlib 7 | use_icon_as_answer_icon: false 8 | kind: app 9 | version: 0.1.3 10 | workflow: 11 | conversation_variables: [] 12 | environment_variables: [] 13 | features: 14 | file_upload: 15 | allowed_file_extensions: 16 | - .JPG 17 | - .JPEG 18 | - .PNG 19 | - .GIF 20 | - .WEBP 21 | - .SVG 22 | allowed_file_types: 23 | - image 24 | allowed_file_upload_methods: 25 | - local_file 26 | - remote_url 27 | enabled: false 28 | fileUploadConfig: 29 | audio_file_size_limit: 50 30 | batch_count_limit: 5 31 | file_size_limit: 15 32 | image_file_size_limit: 10 33 | video_file_size_limit: 100 34 | workflow_file_upload_limit: 10 35 | image: 36 | enabled: false 37 | number_limits: 3 38 | transfer_methods: 39 | - local_file 40 | - remote_url 41 | number_limits: 3 42 | opening_statement: '' 43 | retriever_resource: 44 | enabled: true 45 | sensitive_word_avoidance: 46 | enabled: false 47 | speech_to_text: 48 | enabled: false 49 | suggested_questions: [] 50 | suggested_questions_after_answer: 51 | enabled: false 52 | text_to_speech: 53 | enabled: false 54 | language: '' 55 | voice: '' 56 | graph: 57 | edges: 58 | - data: 59 | isInIteration: false 60 | sourceType: start 61 | targetType: code 62 | id: 1732083938374-source-1732083953925-target 63 | source: '1732083938374' 64 | sourceHandle: source 65 | target: '1732083953925' 66 | targetHandle: target 67 | type: custom 68 | zIndex: 0 69 | - data: 70 | isInIteration: false 71 | sourceType: code 72 | targetType: answer 73 | id: 1732083953925-source-answer-target 74 | source: '1732083953925' 75 | sourceHandle: source 76 | target: answer 77 | targetHandle: target 78 | type: custom 79 | zIndex: 0 80 | nodes: 81 | - data: 82 | desc: '' 83 | selected: false 84 | title: 开始 85 | type: start 86 | variables: [] 87 | height: 54 88 | id: '1732083938374' 89 | position: 90 | x: 30 91 | y: 251.5 92 | positionAbsolute: 93 | x: 30 94 | y: 251.5 95 | selected: false 96 | sourcePosition: right 97 | targetPosition: left 98 | type: custom 99 | width: 244 100 | - data: 101 | answer: '![描述文本](data:image/png;base64,{{#1732083953925.result#}}) 102 | 103 | ' 104 | desc: '' 105 | selected: false 106 | title: 直接回复 107 | type: answer 108 | variables: [] 109 | height: 119 110 | id: answer 111 | position: 112 | x: 638 113 | y: 251.5 114 | positionAbsolute: 115 | x: 638 116 | y: 251.5 117 | selected: false 118 | sourcePosition: right 119 | targetPosition: left 120 | type: custom 121 | width: 244 122 | - data: 123 | code: "from pathlib import Path\nPath.home = lambda: Path(\"/dependencies/home\"\ 124 | )\n\nimport matplotlib.pyplot as plt\nimport numpy as np\nimport io\nimport\ 125 | \ base64\n\ndef generate_base64_plot():\n # 数据准备\n x = np.linspace(0,\ 126 | \ 10, 100)\n y = np.sin(x)\n \n # 创建图形\n plt.figure(figsize=(8,\ 127 | \ 6)) # 设置画布大小为 800x600 像素\n plt.plot(x, y, label='Sine Wave', color='blue',\ 128 | \ linewidth=2)\n \n # 添加标题和标签\n plt.title('Sine Wave Example',\ 129 | \ fontsize=16)\n plt.xlabel('X-axis', fontsize=12)\n plt.ylabel('Y-axis',\ 130 | \ fontsize=12)\n \n # 添加网格和图例\n plt.grid(True, linestyle='--',\ 131 | \ alpha=0.6)\n plt.legend(fontsize=12)\n \n # 使用内存缓冲区保存图片为Base64字符串\n\ 132 | \ buffer = io.BytesIO()\n plt.savefig(buffer, format='png', dpi=100)\ 133 | \ # 使用 100 DPI 保存,确保像素为 800x600\n buffer.seek(0) # 将缓冲区指针回到起点\n \ 134 | \ base64_str = base64.b64encode(buffer.read()).decode('utf-8')\n buffer.close()\n\ 135 | \ plt.close() # 关闭绘图对象,释放资源\n \n return base64_str\n\n\ndef main():\n\ 136 | \ base64_image = generate_base64_plot()\n return {\"result\": base64_image}\n" 137 | code_language: python3 138 | desc: '' 139 | outputs: 140 | result: 141 | children: null 142 | type: string 143 | selected: true 144 | title: 代码执行 145 | type: code 146 | variables: [] 147 | height: 54 148 | id: '1732083953925' 149 | position: 150 | x: 334 151 | y: 251.5 152 | positionAbsolute: 153 | x: 334 154 | y: 251.5 155 | selected: true 156 | sourcePosition: right 157 | targetPosition: left 158 | type: custom 159 | width: 244 160 | viewport: 161 | x: 120.00000000000006 162 | y: 238.30000000000004 163 | zoom: 0.7 164 | -------------------------------------------------------------------------------- /DSL/中译英.yml: -------------------------------------------------------------------------------- 1 | app: 2 | description: "\u4E2D\u8BD1\u82F1" 3 | icon: "\U0001F916" 4 | icon_background: '#FFEAD5' 5 | mode: workflow 6 | name: "\u4E2D\u8BD1\u82F1" 7 | kind: app 8 | version: 0.1.0 9 | workflow: 10 | features: 11 | file_upload: 12 | image: 13 | enabled: false 14 | number_limits: 3 15 | transfer_methods: 16 | - local_file 17 | - remote_url 18 | opening_statement: '' 19 | retriever_resource: 20 | enabled: true 21 | sensitive_word_avoidance: 22 | enabled: false 23 | speech_to_text: 24 | enabled: false 25 | suggested_questions: [] 26 | suggested_questions_after_answer: 27 | enabled: false 28 | text_to_speech: 29 | enabled: false 30 | language: '' 31 | voice: '' 32 | graph: 33 | edges: 34 | - data: 35 | isInIteration: false 36 | sourceType: start 37 | targetType: llm 38 | id: 1721105947247-source-1721105983723-target 39 | source: '1721105947247' 40 | sourceHandle: source 41 | target: '1721105983723' 42 | targetHandle: target 43 | type: custom 44 | zIndex: 0 45 | - data: 46 | isInIteration: false 47 | sourceType: llm 48 | targetType: end 49 | id: 1721105983723-source-1721106030090-target 50 | source: '1721105983723' 51 | sourceHandle: source 52 | target: '1721106030090' 53 | targetHandle: target 54 | type: custom 55 | zIndex: 0 56 | nodes: 57 | - data: 58 | desc: '' 59 | selected: false 60 | title: "\u5F00\u59CB" 61 | type: start 62 | variables: 63 | - label: content 64 | max_length: 50000 65 | options: [] 66 | required: true 67 | type: paragraph 68 | variable: content 69 | height: 90 70 | id: '1721105947247' 71 | position: 72 | x: 80 73 | y: 282 74 | positionAbsolute: 75 | x: 80 76 | y: 282 77 | selected: false 78 | sourcePosition: right 79 | targetPosition: left 80 | type: custom 81 | width: 244 82 | - data: 83 | context: 84 | enabled: false 85 | variable_selector: [] 86 | desc: '' 87 | model: 88 | completion_params: 89 | temperature: 1.1 90 | mode: chat 91 | name: deepseek-chat 92 | provider: deepseek 93 | prompt_template: 94 | - id: a1ebfcfc-b937-4842-b2e7-d861f0e257d8 95 | role: system 96 | text: "\u73B0\u5728\u6211\u8981\u5199\u4E00\u4E2A\u5C06\u4E2D\u6587\u7FFB\ 97 | \u8BD1\u6210\u82F1\u6587\u79D1\u7814\u8BBA\u6587\u7684GPT\uFF0C\u8BF7\u53C2\ 98 | \u7167\u4EE5\u4E0BPrompt\u5236\u4F5C\uFF0C\u6CE8\u610F\u90FD\u7528\u82F1\ 99 | \u6587\u751F\u6210\uFF1A\n\n## \u89D2\u8272\n\u4F60\u662F\u4E00\u4F4D\u79D1\ 100 | \u7814\u8BBA\u6587\u5BA1\u7A3F\u5458\uFF0C\u64C5\u957F\u5199\u4F5C\u9AD8\ 101 | \u8D28\u91CF\u7684\u82F1\u6587\u79D1\u7814\u8BBA\u6587\u3002\u8BF7\u4F60\ 102 | \u5E2E\u6211\u51C6\u786E\u4E14\u5B66\u672F\u6027\u5730\u5C06\u4EE5\u4E0B\ 103 | \u4E2D\u6587\u7FFB\u8BD1\u6210\u82F1\u6587\uFF0C\u98CE\u683C\u4E0E\u82F1\ 104 | \u6587\u79D1\u7814\u8BBA\u6587\u4FDD\u6301\u4E00\u81F4\u3002\n\n## \u89C4\ 105 | \u5219\uFF1A\n- \u8F93\u5165\u683C\u5F0F\u4E3A Markdown \u683C\u5F0F\uFF0C\ 106 | \u8F93\u51FA\u683C\u5F0F\u4E5F\u5FC5\u987B\u4FDD\u7559\u539F\u59CB Markdown\ 107 | \ \u683C\u5F0F\n- \u4EE5\u4E0B\u662F\u5E38\u89C1\u7684\u76F8\u5173\u672F\ 108 | \u8BED\u8BCD\u6C47\u5BF9\u5E94\u8868\uFF08\u4E2D\u6587 -> English\uFF09\ 109 | \uFF1A\n* \u96F6\u6837\u672C -> Zero-shot\n* \u5C11\u6837\u672C -> Few-shot\n\ 110 | \n## \u7B56\u7565\uFF1A\n\n\u5206\u4E09\u6B65\u8FDB\u884C\u7FFB\u8BD1\u5DE5\ 111 | \u4F5C\uFF0C\u5E76\u6253\u5370\u6BCF\u6B65\u7684\u7ED3\u679C\uFF1A\n1.\ 112 | \ \u6839\u636E\u4E2D\u6587\u5185\u5BB9\u76F4\u8BD1\u6210\u82F1\u6587\uFF0C\ 113 | \u4FDD\u6301\u539F\u6709\u683C\u5F0F\uFF0C\u4E0D\u8981\u9057\u6F0F\u4EFB\ 114 | \u4F55\u4FE1\u606F\n2. \u6839\u636E\u7B2C\u4E00\u6B65\u76F4\u8BD1\u7684\ 115 | \u7ED3\u679C\uFF0C\u6307\u51FA\u5176\u4E2D\u5B58\u5728\u7684\u5177\u4F53\ 116 | \u95EE\u9898\uFF0C\u8981\u51C6\u786E\u63CF\u8FF0\uFF0C\u4E0D\u5B9C\u7B3C\ 117 | \u7EDF\u7684\u8868\u793A\uFF0C\u4E5F\u4E0D\u9700\u8981\u589E\u52A0\u539F\ 118 | \u6587\u4E0D\u5B58\u5728\u7684\u5185\u5BB9\u6216\u683C\u5F0F\uFF0C\u5305\ 119 | \u62EC\u4E0D\u4EC5\u9650\u4E8E\uFF1A\n- \u4E0D\u7B26\u5408\u82F1\u6587\ 120 | \u8868\u8FBE\u4E60\u60EF\uFF0C\u660E\u786E\u6307\u51FA\u4E0D\u7B26\u5408\ 121 | \u7684\u5730\u65B9\n- \u8BED\u53E5\u4E0D\u901A\u987A\uFF0C\u6307\u51FA\ 122 | \u4F4D\u7F6E\uFF0C\u4E0D\u9700\u8981\u7ED9\u51FA\u4FEE\u6539\u610F\u89C1\ 123 | \uFF0C\u610F\u8BD1\u65F6\u4FEE\u590D\n- \u6666\u6DA9\u96BE\u61C2\uFF0C\ 124 | \u6A21\u68F1\u4E24\u53EF\uFF0C\u4E0D\u6613\u7406\u89E3\uFF0C\u53EF\u4EE5\ 125 | \u5C1D\u8BD5\u7ED9\u51FA\u89E3\u91CA\n3. \u6839\u636E\u7B2C\u4E00\u6B65\ 126 | \u76F4\u8BD1\u7684\u7ED3\u679C\u548C\u7B2C\u4E8C\u6B65\u6307\u51FA\u7684\ 127 | \u95EE\u9898\uFF0C\u91CD\u65B0\u8FDB\u884C\u610F\u8BD1\uFF0C\u4FDD\u8BC1\ 128 | \u5185\u5BB9\u7684\u539F\u610F\u7684\u57FA\u7840\u4E0A\uFF0C\u4F7F\u5176\ 129 | \u66F4\u6613\u4E8E\u7406\u89E3\uFF0C\u66F4\u7B26\u5408\u82F1\u6587\u79D1\ 130 | \u7814\u8BBA\u6587\u7684\u8868\u8FBE\u4E60\u60EF\uFF0C\u540C\u65F6\u4FDD\ 131 | \u6301\u539F\u6709\u7684\u683C\u5F0F\u4E0D\u53D8\n\n## \u683C\u5F0F\n\u8FD4\ 132 | \u56DE\u683C\u5F0F\u5982\u4E0B\uFF0C\"{xxx}\"\u8868\u793A\u5360\u4F4D\u7B26\ 133 | \uFF1A\n\n### \u76F4\u8BD1\n{\u76F4\u8BD1\u7ED3\u679C}\n\n***\n\n###\u95EE\ 134 | \u9898\n{\u76F4\u8BD1\u7684\u5177\u4F53\u95EE\u9898\u5217\u8868}\n\n***\n\ 135 | \n###\u610F\u8BD1" 136 | - role: user 137 | text: '{{#1721105947247.content#}}' 138 | selected: false 139 | title: LLM 140 | type: llm 141 | variables: [] 142 | vision: 143 | enabled: false 144 | height: 98 145 | id: '1721105983723' 146 | position: 147 | x: 383 148 | y: 282 149 | positionAbsolute: 150 | x: 383 151 | y: 282 152 | selected: true 153 | sourcePosition: right 154 | targetPosition: left 155 | type: custom 156 | width: 244 157 | - data: 158 | desc: '' 159 | outputs: 160 | - value_selector: 161 | - '1721105983723' 162 | - text 163 | variable: output 164 | selected: false 165 | title: "\u7ED3\u675F" 166 | type: end 167 | height: 90 168 | id: '1721106030090' 169 | position: 170 | x: 688 171 | y: 282 172 | positionAbsolute: 173 | x: 688 174 | y: 282 175 | sourcePosition: right 176 | targetPosition: left 177 | type: custom 178 | width: 244 179 | viewport: 180 | x: -471 181 | y: 5 182 | zoom: 1 183 | -------------------------------------------------------------------------------- /DSL/图文知识库/图文知识库.yml: -------------------------------------------------------------------------------- 1 | app: 2 | description: '' 3 | icon: 🤖 4 | icon_background: '#FFEAD5' 5 | mode: advanced-chat 6 | name: 图文知识库 7 | use_icon_as_answer_icon: false 8 | dependencies: 9 | - current_identifier: null 10 | type: marketplace 11 | value: 12 | marketplace_plugin_unique_identifier: langgenius/volcengine_maas:0.0.7@f8e44422cfa5b9a6ac1f2d3b43ef1069868efdad1e5cec2590de3f53ceac37b0 13 | - current_identifier: null 14 | type: marketplace 15 | value: 16 | marketplace_plugin_unique_identifier: langgenius/siliconflow:0.0.8@217f973bd7ced1b099c2f0c669f1356bdf4cc38b8372fd58d7874f9940b95de3 17 | kind: app 18 | version: 0.1.5 19 | workflow: 20 | conversation_variables: [] 21 | environment_variables: [] 22 | features: 23 | file_upload: 24 | allowed_file_extensions: 25 | - .JPG 26 | - .JPEG 27 | - .PNG 28 | - .GIF 29 | - .WEBP 30 | - .SVG 31 | allowed_file_types: 32 | - image 33 | allowed_file_upload_methods: 34 | - local_file 35 | - remote_url 36 | enabled: false 37 | fileUploadConfig: 38 | audio_file_size_limit: 50 39 | batch_count_limit: 5 40 | file_size_limit: 15 41 | image_file_size_limit: 10 42 | video_file_size_limit: 100 43 | workflow_file_upload_limit: 10 44 | image: 45 | enabled: false 46 | number_limits: 3 47 | transfer_methods: 48 | - local_file 49 | - remote_url 50 | number_limits: 3 51 | opening_statement: '' 52 | retriever_resource: 53 | enabled: true 54 | sensitive_word_avoidance: 55 | enabled: false 56 | speech_to_text: 57 | enabled: false 58 | suggested_questions: [] 59 | suggested_questions_after_answer: 60 | enabled: false 61 | text_to_speech: 62 | enabled: false 63 | language: '' 64 | voice: '' 65 | graph: 66 | edges: 67 | - data: 68 | isInLoop: false 69 | sourceType: start 70 | targetType: knowledge-retrieval 71 | id: 1743994826325-source-1743994832383-target 72 | source: '1743994826325' 73 | sourceHandle: source 74 | target: '1743994832383' 75 | targetHandle: target 76 | type: custom 77 | zIndex: 0 78 | - data: 79 | isInIteration: false 80 | isInLoop: false 81 | sourceType: knowledge-retrieval 82 | targetType: llm 83 | id: 1743994832383-source-1743994891832-target 84 | source: '1743994832383' 85 | sourceHandle: source 86 | target: '1743994891832' 87 | targetHandle: target 88 | type: custom 89 | zIndex: 0 90 | - data: 91 | isInIteration: false 92 | isInLoop: false 93 | sourceType: llm 94 | targetType: answer 95 | id: 1743994891832-source-answer-target 96 | selected: false 97 | source: '1743994891832' 98 | sourceHandle: source 99 | target: answer 100 | targetHandle: target 101 | type: custom 102 | zIndex: 0 103 | nodes: 104 | - data: 105 | desc: '' 106 | selected: false 107 | title: 开始 108 | type: start 109 | variables: [] 110 | height: 54 111 | id: '1743994826325' 112 | position: 113 | x: 30 114 | y: 252.5 115 | positionAbsolute: 116 | x: 30 117 | y: 252.5 118 | sourcePosition: right 119 | targetPosition: left 120 | type: custom 121 | width: 244 122 | - data: 123 | dataset_ids: 124 | - 2516f4a8-9329-4845-a914-7965090ee2e2 125 | desc: '' 126 | multiple_retrieval_config: 127 | reranking_enable: false 128 | reranking_mode: reranking_model 129 | reranking_model: 130 | model: BAAI/bge-reranker-v2-m3 131 | provider: langgenius/siliconflow/siliconflow 132 | score_threshold: null 133 | top_k: 4 134 | query_variable_selector: 135 | - sys 136 | - query 137 | retrieval_mode: multiple 138 | selected: true 139 | title: 知识检索 140 | type: knowledge-retrieval 141 | height: 92 142 | id: '1743994832383' 143 | position: 144 | x: 334 145 | y: 252.5 146 | positionAbsolute: 147 | x: 334 148 | y: 252.5 149 | selected: true 150 | sourcePosition: right 151 | targetPosition: left 152 | type: custom 153 | width: 244 154 | - data: 155 | answer: '{{#1743994891832.text#}}' 156 | desc: '' 157 | selected: false 158 | title: 直接回复 159 | type: answer 160 | variables: [] 161 | height: 105 162 | id: answer 163 | position: 164 | x: 942 165 | y: 252.5 166 | positionAbsolute: 167 | x: 942 168 | y: 252.5 169 | selected: false 170 | sourcePosition: right 171 | targetPosition: left 172 | type: custom 173 | width: 244 174 | - data: 175 | context: 176 | enabled: true 177 | variable_selector: 178 | - '1743994832383' 179 | - result 180 | desc: '' 181 | model: 182 | completion_params: {} 183 | mode: chat 184 | name: deepseek-v3-241226 185 | provider: langgenius/volcengine_maas/volcengine_maas 186 | prompt_template: 187 | - id: c96a41bd-c775-4c1d-bcd9-1280033c9ecc 188 | role: system 189 | text: '你是一个AI聊天助手,请参考中的内容,回答用户的问题。注意保留图片信息。 190 | 191 | 192 | 193 | 194 | {{#context#}} 195 | 196 | ' 197 | selected: false 198 | title: LLM 199 | type: llm 200 | variables: [] 201 | vision: 202 | enabled: false 203 | height: 90 204 | id: '1743994891832' 205 | position: 206 | x: 638 207 | y: 252.5 208 | positionAbsolute: 209 | x: 638 210 | y: 252.5 211 | selected: false 212 | sourcePosition: right 213 | targetPosition: left 214 | type: custom 215 | width: 244 216 | viewport: 217 | x: 104.20000000000005 218 | y: -21.500000000000057 219 | zoom: 0.7 220 | -------------------------------------------------------------------------------- /DSL/图文知识库/知识库内容/coffbox开启Gemini和Anthropic代理,chatwise连接方法.md: -------------------------------------------------------------------------------- 1 | ## coffbox开启Gemini和Anthropic代理,chatwise连接方法 2 | 3 | 今天升级了一下 [coffbox](https://one.coffbox.com/) One API 服务,开启了 Claude API 和 Gemini API 的代理服务。原始的 OpenAI-compatible 的方式访问照旧,如果使用代理服务,调用 gemini-2.0-flash-exp 的生图功能,可能会有更好的兼容性。对应 chatwise 客户端配置参考如下: 4 | 5 | 使用 `Gemini API` 的接口地址: 6 | 7 | 8 | https://one.coffbox.com/gemini/v1beta 9 | 10 | [![](https://blog.vcvit.me/images/obsidian/Xnip2025-04-07_10-06-08.jpg)](https://blog.vcvit.me/images/obsidian/Xnip2025-04-07_10-06-08.jpg) 11 | 12 | 使用 `Claude API` 的接口地址: 13 | 14 | 15 | https://one.coffbox.com/claude/v1 16 | 17 | [![](https://blog.vcvit.me/images/obsidian/Xnip2025-04-07_10-05-57.jpg)](https://blog.vcvit.me/images/obsidian/Xnip2025-04-07_10-05-57.jpg) 18 | 19 | API Key 依旧和原来一样,当然,也只有 coffbox 开放的模型可以使用。 -------------------------------------------------------------------------------- /DSL/图文知识库/知识库内容/我是技术小白,如何用好DIFY.md: -------------------------------------------------------------------------------- 1 | 在大语言模型发展的这几年,因为工作原因,接触 DIFY 时间比较长一点点,总结一下自己的一些想法。包括选择什么样的模型,为什么众多应用层的开发工具/产品选择了 DIFY,DIFY 能做什么? 2 | 3 | [](https://blog.vcvit.me/2025/03/14/how-to-use-dify/#%E5%85%B3%E4%BA%8E%E6%A8%A1%E5%9E%8B "关于模型")关于模型 4 | ----------------------------------------------------------------------------------------------------- 5 | 6 | 模型大体可以分为**文本模型**和**多模态模型**,我们以 OPENAI 的模型为例,gpt 3.5,gpt 4 这些都是文本模型。O1 是多模态模型。多模态常规意义上主要就是支持视觉的模型。但是 gemini 的多模态,其实还支持更多格式、包括视频、音频、pdf 等。选择合适的模型,对于整个 AI 流程影响巨大。例图,你想做一个从 PDF 提取文本的 AI 助手。 7 | 8 | 如果你只能用 qwen-VL 的视觉模型。那么你的方案路径是这样的:用 python 代码,写一个脚本,将 PDF 转换成一页页的图片,再将每个图片传给 qwen-VL 的模型进行识别,最后再将识别好的内容拼接起来。最终获得 PDF 提取到的文本内容。 9 | 10 | [![](https://blog.vcvit.me/images/obsidian/Pasted%20image%2020250314143532.png)](https://blog.vcvit.me/images/obsidian/Pasted%20image%2020250314143532.png) 11 | 12 | 但是如果你用 Google 的 Gemini 2.0 Flash-Lite,它的多模态默认就支持文档。 13 | 14 | [![](https://blog.vcvit.me/images/obsidian/Pasted%20image%2020250314143618.png)](https://blog.vcvit.me/images/obsidian/Pasted%20image%2020250314143618.png) 15 | 16 | 你就可以直接提交 pdf,即可完成解析,整个流程就会简化特别多。 17 | 18 | [![](https://blog.vcvit.me/images/obsidian/Pasted%20image%2020250314143332.png)](https://blog.vcvit.me/images/obsidian/Pasted%20image%2020250314143332.png) 19 | 20 | 再加上每个公司对模型选择的要求,需要从合法、合规、价格等各方面考虑。模型的选择就会影响到后面的实现方案,包括最终效果,例如 gemini 识别手写文字,强于 qwen-VL,这些只有多试试效果,才能做决定。 21 | 22 | [](https://blog.vcvit.me/2025/03/14/how-to-use-dify/#%E5%85%B3%E4%BA%8E%E5%B7%A5%E5%85%B7 "关于工具")关于工具 23 | ----------------------------------------------------------------------------------------------------- 24 | 25 | 现在做 AI 流程编排的工具很多,dify、fastgpt、maxkb、ragflow 等等,这里有篇挺新的文章推荐给大家阅读,[AI 流程平台对比——Dify、Fastgpt、Ragflow](https://zerozzz.win/ai-%E6%B5%81%E7%A8%8B%E5%B9%B3%E5%8F%B0%E5%AF%B9%E6%AF%94dify%E3%80%81fastgpt%E3%80%81ragflow) 。看完你会有自己的选择,这里少提了一个 maxkb,这是由 1panel 的公司推出的基于大模型和 RAG 的开源知识库问答系统。他们各自有各自的侧重点,你需要根据你自己的业务需求做选择。如果你还是不知道如何选,可以看看这些观点: 26 | 27 | 1. [Ossinsight 的 LLM Tools 排名](https://ossinsight.io/collections/llm-tools/),DIFY 是有压倒性的优势。 28 | [![](https://blog.vcvit.me/images/obsidian/Pasted%20image%2020250314144930.png)](https://blog.vcvit.me/images/obsidian/Pasted%20image%2020250314144930.png) 29 | 30 | 2. 如果你是一个非开发者,只是希望用一些工具,完成一些特定场景的任务,例如:翻译、意图识别、根据不同条件编排流程、做一个聊天机器人嵌入自己的网站、或者和朋友分享你自己做的一个流程,你选任何工具都可以,你甚至可以都用用,体验这些产品,感受产品设计的差异。 31 | 32 | 3. 如果你是一个开发者,DIFY 的工程化设计比所有其他平台多很多,包括调试、性能追踪、1.0 开放的插件,你如果未来有更多自定义的需求,自己也会写一点点代码,DIFY 会有更多想象空间。如果你是一个开发者,你最终都绕不开 DIFY,你一定会用上的。 33 | 34 | 35 | [](https://blog.vcvit.me/2025/03/14/how-to-use-dify/#%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E7%94%A8-DIFY "为什么我用 DIFY")为什么我用 DIFY 36 | ------------------------------------------------------------------------------------------------------------------------------- 37 | 38 | 我在 24 年初开始接触 AI 流程编排相关工作,当时最主要的 2 个选项就是 DIFY 和 COZE,coze 中国版刚上线不久,只有网页版,API 还在内测中,也没有完全接入火山引擎,对于租户管理,都还在起步阶段,只支持字节系的云雀模型(后更名为豆包)、后来加入了 moonshoot,当然,这些特性与 COZE 的目标用户完全面向 C 端有关。后来字节花了几个月,才做完企业版的开发,接入火山引擎,一步步完善 coze 企业版。 39 | 40 | 同期,字节内部也有面向企业的 LLMOPS,我**个人感觉**就是借鉴了 DIFY 的 UI,再加上 coze 的流程编排画布,非开源,支持私有化部署。他们当时应该名字都还没想好,商业版部署报价 50 万起步,模型另外算钱,开发对接文档都还是在群里发 pdf 的方式进行,下面是 2024 年 4 月的一些截图,试用了一圈之后,果断放弃了字节。 41 | 42 | [![](https://blog.vcvit.me/images/obsidian/Pasted%20image%2020250314150306.png)](https://blog.vcvit.me/images/obsidian/Pasted%20image%2020250314150306.png) 43 | [![](https://blog.vcvit.me/images/obsidian/Pasted%20image%2020250314150445.png)](https://blog.vcvit.me/images/obsidian/Pasted%20image%2020250314150445.png) 44 | 45 | 而当时的 DIFY 没有现在这么多的 star,但是已经是国内排第一的 workflow 编排平台了,加上社区版开源免费,模型自己想接哪家接哪家,不需要任何商务对接就可以用。于是,我们选择了 DIFY。 46 | 47 | [](https://blog.vcvit.me/2025/03/14/how-to-use-dify/#DIFY-%E8%83%BD%E5%81%9A%E4%BB%80%E4%B9%88%EF%BC%9F "DIFY 能做什么?")DIFY 能做什么? 48 | ------------------------------------------------------------------------------------------------------------------------------- 49 | 50 | 这里我会尽可能用官方提供的示例,告诉大家 DIFY 能做什么,这些都可以在官方探索中找到。 51 | [![](https://blog.vcvit.me/images/obsidian/Pasted%20image%2020250314151937.png)](https://blog.vcvit.me/images/obsidian/Pasted%20image%2020250314151937.png) 52 | 53 | ### [](https://blog.vcvit.me/2025/03/14/how-to-use-dify/#%E7%9B%B4%E8%AF%91-%E5%8F%8D%E6%80%9D-%E6%84%8F%E8%AF%91%E7%BF%BB%E8%AF%91%E5%8A%A9%E6%89%8B "直译 +反思+意译翻译助手")直译 +反思+意译翻译助手 54 | 55 | 这个方案的来源在这里[直译、反思、意译:提升 GPT 翻译质量的一种新策略](https://baoyu.io/blog/prompt-engineering/translator-gpt-prompt-v2) 56 | [![](https://blog.vcvit.me/images/obsidian/Pasted%20image%2020250314154703.png)](https://blog.vcvit.me/images/obsidian/Pasted%20image%2020250314154703.png) 57 | 58 | ### [](https://blog.vcvit.me/2025/03/14/how-to-use-dify/#%E5%AE%9E%E6%97%B6%E6%90%9C%E7%B4%A2%E7%9A%84%E8%81%8A%E5%A4%A9%E6%9C%BA%E5%99%A8%E4%BA%BA "实时搜索的聊天机器人")实时搜索的聊天机器人 59 | 60 | [![](https://blog.vcvit.me/images/obsidian/Pasted%20image%2020250314154721.png)](https://blog.vcvit.me/images/obsidian/Pasted%20image%2020250314154721.png) 61 | 62 | ### [](https://blog.vcvit.me/2025/03/14/how-to-use-dify/#%E9%82%AE%E4%BB%B6%E5%9B%9E%E5%A4%8D%E5%8A%A9%E6%89%8B "邮件回复助手")邮件回复助手 63 | 64 | [![](https://blog.vcvit.me/images/obsidian/Pasted%20image%2020250314155046.png)](https://blog.vcvit.me/images/obsidian/Pasted%20image%2020250314155046.png) 65 | 66 | [](https://blog.vcvit.me/2025/03/14/how-to-use-dify/#%E6%BC%94%E7%A4%BA "演示")演示 67 | ------------------------------------------------------------------------------- 68 | 69 | * 如何安装 DIFY,或者是用云端版本 70 | 71 | * Dify 1.0 的重大更新有哪些 72 | 73 | * Workflow 和 chatflow 有什么区别 74 | 75 | * DIFY 每个节点,有什么作用,可以如何使用 76 | 77 | * 我为什么做了 dify-sandbox-py,什么时候会用到? -------------------------------------------------------------------------------- /DSL/宝玉的英译中优化版.yml: -------------------------------------------------------------------------------- 1 | app: 2 | description: "\u7FFB\u8BD1 GPT \u7684\u63D0\u793A\u8BCD\u66F4\u65B0\u548C\u4F18\u5316" 3 | icon: "\U0001F916" 4 | icon_background: '#FFEAD5' 5 | mode: workflow 6 | name: "\u5B9D\u7389\u7684\u82F1\u8BD1\u4E2D\u4F18\u5316\u7248" 7 | kind: app 8 | version: 0.1.0 9 | workflow: 10 | environment_variables: [] 11 | features: 12 | file_upload: 13 | image: 14 | enabled: false 15 | number_limits: 3 16 | transfer_methods: 17 | - local_file 18 | - remote_url 19 | opening_statement: '' 20 | retriever_resource: 21 | enabled: true 22 | sensitive_word_avoidance: 23 | enabled: false 24 | speech_to_text: 25 | enabled: false 26 | suggested_questions: [] 27 | suggested_questions_after_answer: 28 | enabled: false 29 | text_to_speech: 30 | enabled: false 31 | language: '' 32 | voice: '' 33 | graph: 34 | edges: 35 | - data: 36 | isInIteration: false 37 | sourceType: start 38 | targetType: llm 39 | id: 1722490886911-source-1722490889313-target 40 | source: '1722490886911' 41 | sourceHandle: source 42 | target: '1722490889313' 43 | targetHandle: target 44 | type: custom 45 | zIndex: 0 46 | - data: 47 | isInIteration: false 48 | sourceType: llm 49 | targetType: end 50 | id: 1722490889313-source-1722490913713-target 51 | source: '1722490889313' 52 | sourceHandle: source 53 | target: '1722490913713' 54 | targetHandle: target 55 | type: custom 56 | zIndex: 0 57 | nodes: 58 | - data: 59 | desc: '' 60 | selected: false 61 | title: "\u5F00\u59CB" 62 | type: start 63 | variables: 64 | - label: content 65 | max_length: 50000 66 | options: [] 67 | required: true 68 | type: paragraph 69 | variable: content 70 | height: 90 71 | id: '1722490886911' 72 | position: 73 | x: 80 74 | y: 282 75 | positionAbsolute: 76 | x: 80 77 | y: 282 78 | selected: false 79 | sourcePosition: right 80 | targetPosition: left 81 | type: custom 82 | width: 244 83 | - data: 84 | context: 85 | enabled: false 86 | variable_selector: [] 87 | desc: '' 88 | model: 89 | completion_params: 90 | temperature: 1.1 91 | mode: chat 92 | name: deepseek-chat 93 | provider: deepseek 94 | prompt_template: 95 | - id: ce2408e0-ce41-490f-a9ac-dd7e43b23344 96 | role: system 97 | text: "You are a highly skilled translator tasked with translating various\ 98 | \ types of content from other languages into Chinese. Follow these instructions\ 99 | \ carefully to complete the translation task:\n\n## Input\n\nDepending\ 100 | \ on the type of input, follow these specific instructions:\n\n1. If the\ 101 | \ input is a URL or a request to translate a URL:\nFirst, request the\ 102 | \ built-in Action to retrieve the URL content. Once you have the content,\ 103 | \ proceed with the three-step translation process.\n\n2. If the input\ 104 | \ is an image or PDF:\nGet the content from image (by OCR) or PDF, and\ 105 | \ proceed with the three-step translation process.\n\n3. Otherwise, proceed\ 106 | \ directly to the three-step translation process.\n\n## Strategy\n\nYou\ 107 | \ will follow a three-step translation process:\n1. Translate the input\ 108 | \ content into Chinese, respecting the original intent, keeping the original\ 109 | \ paragraph and text format unchanged, not deleting or omitting any content,\ 110 | \ including preserving all original Markdown elements like images, code\ 111 | \ blocks, etc.\n2. Carefully read the source text and the translation,\ 112 | \ and then give constructive criticism and helpful suggestions to improve\ 113 | \ the translation. The final style and tone of the translation should\ 114 | \ match the style of \u7B80\u4F53\u4E2D\u6587 colloquially spoken in China.\ 115 | \ When writing suggestions, pay attention to whether there are ways to\ 116 | \ improve the translation's\n(i) accuracy (by correcting errors of addition,\ 117 | \ mistranslation, omission, or untranslated text),\n(ii) fluency (by applying\ 118 | \ Chinese grammar, spelling and punctuation rules, and ensuring there\ 119 | \ are no unnecessary repetitions),\n(iii) style (by ensuring the translations\ 120 | \ reflect the style of the source text and take into account any cultural\ 121 | \ context),\n(iv) terminology (by ensuring terminology use is consistent\ 122 | \ and reflects the source text domain; and by only ensuring you use equivalent\ 123 | \ idioms Chinese).\n3. Based on the results of steps 1 and 2, refine and\ 124 | \ polish the translation\n\n## Glossary\n\nHere is a glossary of technical\ 125 | \ terms to use consistently in your translations:\n\n- AGI -> \u901A\u7528\ 126 | \u4EBA\u5DE5\u667A\u80FD\n- LLM/Large Language Model -> \u5927\u8BED\u8A00\ 127 | \u6A21\u578B\n- Transformer -> Transformer\n- Token -> Token\n- Generative\ 128 | \ AI -> \u751F\u6210\u5F0F AI\n- AI Agent -> AI \u667A\u80FD\u4F53\n-\ 129 | \ prompt -> \u63D0\u793A\u8BCD\n- zero-shot -> \u96F6\u6837\u672C\u5B66\ 130 | \u4E60\n- few-shot -> \u5C11\u6837\u672C\u5B66\u4E60\n- multi-modal ->\ 131 | \ \u591A\u6A21\u6001\n- fine-tuning -> \u5FAE\u8C03\n\n\n## Output\n\n\ 132 | For each step of the translation process, output your results within the\ 133 | \ appropriate XML tags:\n\n\n[Insert your initial\ 134 | \ translation here]\n\n\n\n\ 135 | [Insert your reflection on the translation, write a list of specific,\ 136 | \ helpful and constructive suggestions for improving the translation.\ 137 | \ Each suggestion should address one specific part of the translation.]\n\ 138 | \n\n\n[Insert your refined\ 139 | \ and polished translation here]\n\n\nRemember\ 140 | \ to consistently use the provided glossary for technical terms throughout\ 141 | \ your translation. Ensure that your final translation in step 3 accurately\ 142 | \ reflects the original meaning while sounding natural in Chinese." 143 | - role: user 144 | text: '{{#1722490886911.content#}}' 145 | selected: false 146 | title: LLM 147 | type: llm 148 | variables: [] 149 | vision: 150 | enabled: false 151 | height: 98 152 | id: '1722490889313' 153 | position: 154 | x: 384 155 | y: 282 156 | positionAbsolute: 157 | x: 384 158 | y: 282 159 | selected: true 160 | sourcePosition: right 161 | targetPosition: left 162 | type: custom 163 | width: 244 164 | - data: 165 | desc: '' 166 | outputs: 167 | - value_selector: 168 | - '1722490889313' 169 | - text 170 | variable: output 171 | selected: false 172 | title: "\u7ED3\u675F" 173 | type: end 174 | height: 90 175 | id: '1722490913713' 176 | position: 177 | x: 688 178 | y: 282 179 | positionAbsolute: 180 | x: 688 181 | y: 282 182 | sourcePosition: right 183 | targetPosition: left 184 | type: custom 185 | width: 244 186 | viewport: 187 | x: 226 188 | y: 108 189 | zoom: 1 190 | -------------------------------------------------------------------------------- /DSL/思考助手.yml: -------------------------------------------------------------------------------- 1 | app: 2 | description: '' 3 | icon: "\U0001F916" 4 | icon_background: '#FFEAD5' 5 | mode: advanced-chat 6 | name: "\u601D\u8003\u52A9\u624B" 7 | kind: app 8 | version: 0.1.0 9 | workflow: 10 | environment_variables: [] 11 | features: 12 | file_upload: 13 | image: 14 | enabled: false 15 | number_limits: 3 16 | transfer_methods: 17 | - local_file 18 | - remote_url 19 | opening_statement: '' 20 | retriever_resource: 21 | enabled: true 22 | sensitive_word_avoidance: 23 | enabled: false 24 | speech_to_text: 25 | enabled: false 26 | suggested_questions: [] 27 | suggested_questions_after_answer: 28 | enabled: false 29 | text_to_speech: 30 | enabled: false 31 | language: '' 32 | voice: '' 33 | graph: 34 | edges: 35 | - data: 36 | sourceType: llm 37 | targetType: answer 38 | id: llm-answer 39 | source: llm 40 | sourceHandle: source 41 | target: answer 42 | targetHandle: target 43 | type: custom 44 | - data: 45 | isInIteration: false 46 | sourceType: start 47 | targetType: knowledge-retrieval 48 | id: 1723188302358-source-1723188386218-target 49 | source: '1723188302358' 50 | sourceHandle: source 51 | target: '1723188386218' 52 | targetHandle: target 53 | type: custom 54 | zIndex: 0 55 | - data: 56 | isInIteration: false 57 | sourceType: knowledge-retrieval 58 | targetType: llm 59 | id: 1723188386218-source-llm-target 60 | source: '1723188386218' 61 | sourceHandle: source 62 | target: llm 63 | targetHandle: target 64 | type: custom 65 | zIndex: 0 66 | nodes: 67 | - data: 68 | desc: '' 69 | selected: false 70 | title: "\u5F00\u59CB" 71 | type: start 72 | variables: [] 73 | height: 54 74 | id: '1723188302358' 75 | position: 76 | x: 80 77 | y: 282 78 | positionAbsolute: 79 | x: 80 80 | y: 282 81 | selected: false 82 | sourcePosition: right 83 | targetPosition: left 84 | type: custom 85 | width: 244 86 | - data: 87 | context: 88 | enabled: true 89 | variable_selector: 90 | - '1723188386218' 91 | - result 92 | desc: '' 93 | memory: 94 | role_prefix: 95 | assistant: '' 96 | user: '' 97 | window: 98 | enabled: false 99 | size: 10 100 | model: 101 | completion_params: 102 | temperature: 0.7 103 | mode: chat 104 | name: yi-large-turbo 105 | provider: yi 106 | prompt_template: 107 | - id: f8d5d261-7634-482e-a096-d09737c03c9d 108 | role: system 109 | text: "\u4F60\u662F\u4E00\u4E2A\u5206\u6790\u4E13\u5BB6\uFF0C\u8BF7\u4F60\ 110 | \u6839\u636E{{#sys.query#}}\u7684\u8981\u6C42\uFF0C\u4F7F\u7528{{#context#}}\u9700\ 111 | \u8981\u7684\u6846\u67B6\uFF0C\u89E3\u51B3\u95EE\u9898" 112 | selected: false 113 | title: LLM 114 | type: llm 115 | variables: [] 116 | vision: 117 | enabled: false 118 | height: 98 119 | id: llm 120 | position: 121 | x: 680 122 | y: 282 123 | positionAbsolute: 124 | x: 680 125 | y: 282 126 | selected: false 127 | sourcePosition: right 128 | targetPosition: left 129 | type: custom 130 | width: 244 131 | - data: 132 | answer: '{{#llm.text#}}' 133 | desc: '' 134 | selected: false 135 | title: "\u76F4\u63A5\u56DE\u590D" 136 | type: answer 137 | variables: [] 138 | height: 107 139 | id: answer 140 | position: 141 | x: 980 142 | y: 282 143 | positionAbsolute: 144 | x: 980 145 | y: 282 146 | selected: true 147 | sourcePosition: right 148 | targetPosition: left 149 | type: custom 150 | width: 244 151 | - data: 152 | dataset_ids: 153 | - 94624cfc-4bb2-417e-adfc-7d5428e093ac 154 | desc: '' 155 | query_variable_selector: 156 | - '1723188302358' 157 | - sys.query 158 | retrieval_mode: single 159 | selected: false 160 | single_retrieval_config: 161 | model: 162 | completion_params: {} 163 | mode: chat 164 | name: qwen-plus-chat 165 | provider: tongyi 166 | title: "\u77E5\u8BC6\u68C0\u7D22" 167 | type: knowledge-retrieval 168 | height: 92 169 | id: '1723188386218' 170 | position: 171 | x: 380 172 | y: 282 173 | positionAbsolute: 174 | x: 380 175 | y: 282 176 | sourcePosition: right 177 | targetPosition: left 178 | type: custom 179 | width: 244 180 | viewport: 181 | x: 50.66783737898527 182 | y: 141.64378704610294 183 | zoom: 0.5708591711720331 184 | -------------------------------------------------------------------------------- /DSL/数据分析.7z: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/DSL/数据分析.7z -------------------------------------------------------------------------------- /DSL/旅行Demo.yml: -------------------------------------------------------------------------------- 1 | app: 2 | description: '' 3 | icon: 🤖 4 | icon_background: '#FFEAD5' 5 | mode: advanced-chat 6 | name: 旅行Demo 7 | use_icon_as_answer_icon: false 8 | dependencies: [] 9 | kind: app 10 | version: 0.1.5 11 | workflow: 12 | conversation_variables: 13 | - description: '' 14 | id: e79dc7d7-a1ae-4761-bf37-5b5ef7dc9bde 15 | name: History 16 | selector: 17 | - conversation 18 | - History 19 | value: [] 20 | value_type: array[string] 21 | environment_variables: [] 22 | features: 23 | file_upload: 24 | allowed_file_extensions: 25 | - .JPG 26 | - .JPEG 27 | - .PNG 28 | - .GIF 29 | - .WEBP 30 | - .SVG 31 | allowed_file_types: 32 | - image 33 | allowed_file_upload_methods: 34 | - local_file 35 | - remote_url 36 | enabled: false 37 | fileUploadConfig: 38 | audio_file_size_limit: 50 39 | batch_count_limit: 5 40 | file_size_limit: 15 41 | image_file_size_limit: 5 42 | video_file_size_limit: 100 43 | workflow_file_upload_limit: 10 44 | image: 45 | enabled: false 46 | number_limits: 3 47 | transfer_methods: 48 | - local_file 49 | - remote_url 50 | number_limits: 3 51 | opening_statement: '' 52 | retriever_resource: 53 | enabled: true 54 | sensitive_word_avoidance: 55 | enabled: false 56 | speech_to_text: 57 | enabled: false 58 | suggested_questions: [] 59 | suggested_questions_after_answer: 60 | enabled: false 61 | text_to_speech: 62 | enabled: false 63 | language: '' 64 | voice: '' 65 | graph: 66 | edges: 67 | - data: 68 | isInIteration: false 69 | sourceType: agent 70 | targetType: answer 71 | id: 1737536410434-source-answer-target 72 | source: '1737536410434' 73 | sourceHandle: source 74 | target: answer 75 | targetHandle: target 76 | type: custom 77 | zIndex: 0 78 | - data: 79 | isInIteration: false 80 | sourceType: answer 81 | targetType: template-transform 82 | id: answer-source-1737541777338-target 83 | source: answer 84 | sourceHandle: source 85 | target: '1737541777338' 86 | targetHandle: target 87 | type: custom 88 | zIndex: 0 89 | - data: 90 | isInIteration: false 91 | sourceType: template-transform 92 | targetType: assigner 93 | id: 1737541777338-source-1737541660135-target 94 | source: '1737541777338' 95 | sourceHandle: source 96 | target: '1737541660135' 97 | targetHandle: target 98 | type: custom 99 | zIndex: 0 100 | - data: 101 | isInIteration: false 102 | sourceType: start 103 | targetType: template-transform 104 | id: 1737536404554-source-1737597254688-target 105 | source: '1737536404554' 106 | sourceHandle: source 107 | target: '1737597254688' 108 | targetHandle: target 109 | type: custom 110 | zIndex: 0 111 | - data: 112 | isInIteration: false 113 | sourceType: template-transform 114 | targetType: assigner 115 | id: 1737597254688-source-1737597263287-target 116 | source: '1737597254688' 117 | sourceHandle: source 118 | target: '1737597263287' 119 | targetHandle: target 120 | type: custom 121 | zIndex: 0 122 | - data: 123 | isInIteration: false 124 | sourceType: assigner 125 | targetType: agent 126 | id: 1737597263287-source-1737536410434-target 127 | source: '1737597263287' 128 | sourceHandle: source 129 | target: '1737536410434' 130 | targetHandle: target 131 | type: custom 132 | zIndex: 0 133 | nodes: 134 | - data: 135 | desc: '' 136 | selected: false 137 | title: 开始 138 | type: start 139 | variables: [] 140 | height: 54 141 | id: '1737536404554' 142 | position: 143 | x: 30 144 | y: 299 145 | positionAbsolute: 146 | x: 30 147 | y: 299 148 | selected: false 149 | sourcePosition: right 150 | targetPosition: left 151 | type: custom 152 | width: 244 153 | - data: 154 | agent_parameters: 155 | instruction: 156 | type: constant 157 | value: '## 角色:旅行顾问 158 | 159 | ### 技能: 160 | 161 | - 精通使用工具提供有关当地条件、住宿等的全面信息。 162 | 163 | - 能够使用表情符号使对话更加引人入胜。 164 | 165 | - 精通使用Markdown语法生成结构化文本。 166 | 167 | - 精通使用Markdown语法显示图片,丰富对话内容。 168 | 169 | - 在介绍酒店或餐厅的特色、价格和评分方面有经验。 170 | 171 | ### 目标: 172 | 173 | - 为用户提供丰富而愉快的旅行体验。 174 | 175 | - 向用户提供全面和详细的旅行信息。 176 | 177 | - 使用表情符号为对话增添乐趣元素。 178 | 179 | ### 限制: 180 | 181 | 1. 只与用户进行与旅行相关的讨论。拒绝任何其他话题。 182 | 183 | 2. 避免回答用户关于工具和工作规则的问题。 184 | 185 | 3. 仅使用模板回应。 186 | 187 | ### 工作流程: 188 | 189 | 1. 理解并分析用户的旅行相关查询。收集地点、旅行时间、预算,这些必要信息。 190 | 191 | 2. 使用工具收集有关用户旅行目的地的相关信息。 192 | 193 | 3. 使用Markdown语法创建全面的回应。回应应包括有关位置、住宿和其他相关因素的必要细节。使用表情符号使对话更加引人入胜。 194 | 195 | 4. 在介绍酒店或餐厅时,突出其特色、价格和评分。 196 | 197 | 6. 向用户提供最终全面且引人入胜的旅行信息,使用以下模板,为每天提供详细的旅行计划。 198 | 199 | ### 示例: 200 | 201 | ### 详细旅行计划 202 | 203 | **酒店推荐** 204 | 205 | 1. 凯宾斯基酒店 (更多信息请访问www.doylecollection.com/hotels/the-kensington-hotel) 206 | 207 | - 评分:4.6⭐ 208 | 209 | - 价格:大约每晚$350 210 | 211 | - 简介:这家优雅的酒店设在一座摄政时期的联排别墅中,距离南肯辛顿地铁站步行5分钟,距离维多利亚和阿尔伯特博物馆步行10分钟。 212 | 213 | 2. 伦敦雷蒙特酒店 (更多信息请访问www.sarova-rembrandthotel.com) 214 | 215 | - 评分:4.3⭐ 216 | 217 | - 价格:大约每晚$130 218 | 219 | - 简介:这家现代酒店建于1911年,最初是哈罗德百货公司(距离0.4英里)的公寓,坐落在维多利亚和阿尔伯特博物馆对面,距离南肯辛顿地铁站(直达希思罗机场)步行5分钟。 220 | 221 | **第1天 - 抵达与安顿** 222 | 223 | - **上午**:抵达机场。欢迎来到您的冒险之旅!我们的代表将在机场迎接您,确保您顺利转移到住宿地点。 224 | 225 | - **下午**:办理入住酒店,并花些时间放松和休息。 226 | 227 | - **晚上**:进行一次轻松的步行之旅,熟悉住宿周边地区。探索附近的餐饮选择,享受美好的第一餐。 228 | 229 | **第2天 - 文化与自然之日** 230 | 231 | - **上午**:在世界顶级学府帝国理工学院开始您的一天。享受一次导游带领的校园之旅。 232 | 233 | - **下午**:在自然历史博物馆(以其引人入胜的展览而闻名)和维多利亚和阿尔伯特博物馆(庆祝艺术和设计)之间进行选择。之后,在宁静的海德公园放松,或许还可以在Serpentine湖上享受划船之旅。 234 | 235 | - **晚上**:探索当地美食。我们推荐您晚餐时尝试一家传统的英国酒吧。 236 | 237 | **额外服务:** 238 | 239 | - **礼宾服务**:在您的整个住宿期间,我们的礼宾服务可协助您预订餐厅、购买门票、安排交通和满足任何特别要求,以增强您的体验。 240 | 241 | - **全天候支持**:我们提供全天候支持,以解决您在旅行期间可能遇到的任何问题或需求。 242 | 243 | 祝您的旅程充满丰富的体验和美好的回忆! 244 | 245 | ### 信息 246 | 247 | 用户计划前往{{destination}}旅行{{num_day}}天,预算为{{budget}}。如果缺失的信息需要进行询问。' 248 | maximum_iterations: 249 | type: constant 250 | value: 4 251 | model: 252 | type: constant 253 | value: 254 | mode: chat 255 | model: gpt-4o-mini 256 | model_type: llm 257 | provider: langgenius/openai/openai 258 | type: model-selector 259 | query: 260 | type: constant 261 | value: '{{#conversation.History#}}' 262 | tools: 263 | type: constant 264 | value: 265 | - enabled: true 266 | extra: 267 | description: 搜索旅行目的地 268 | parameters: 269 | max_results: 5 270 | query: '' 271 | require_summary: false 272 | provider_name: langgenius/duckduckgo/duckduckgo 273 | tool_name: ddgo_search 274 | type: builtin 275 | agent_strategy_label: FunctionCalling 276 | agent_strategy_name: function_calling 277 | agent_strategy_provider_name: langgenius/agent/agent 278 | desc: '' 279 | output_schema: null 280 | plugin_unique_identifier: langgenius/agent:0.0.4@5eb03c08764cc37249f9ef18b89903a99493f6d02c4d5b8ffb40b9f7ef4e865c 281 | selected: false 282 | title: Agent 283 | type: agent 284 | height: 198 285 | id: '1737536410434' 286 | position: 287 | x: 942 288 | y: 299 289 | positionAbsolute: 290 | x: 942 291 | y: 299 292 | selected: false 293 | sourcePosition: right 294 | targetPosition: left 295 | type: custom 296 | width: 244 297 | - data: 298 | answer: '{{#1737536410434.text#}}' 299 | desc: '' 300 | selected: false 301 | title: 直接回复 302 | type: answer 303 | variables: [] 304 | height: 103 305 | id: answer 306 | position: 307 | x: 942 308 | y: 550.4285714285714 309 | positionAbsolute: 310 | x: 942 311 | y: 550.4285714285714 312 | selected: false 313 | sourcePosition: right 314 | targetPosition: left 315 | type: custom 316 | width: 244 317 | - data: 318 | desc: '' 319 | items: 320 | - input_type: variable 321 | operation: append 322 | value: 323 | - '1737541777338' 324 | - output 325 | variable_selector: 326 | - conversation 327 | - History 328 | write_mode: over-write 329 | selected: false 330 | title: 变量赋值 331 | type: assigner 332 | version: '2' 333 | height: 88 334 | id: '1737541660135' 335 | position: 336 | x: 942 337 | y: 773.2857142857143 338 | positionAbsolute: 339 | x: 942 340 | y: 773.2857142857143 341 | selected: true 342 | sourcePosition: right 343 | targetPosition: left 344 | type: custom 345 | width: 244 346 | - data: 347 | desc: '' 348 | selected: false 349 | template: assistant:{{ assistant_msg }} 350 | title: 模板转换 351 | type: template-transform 352 | variables: 353 | - value_selector: 354 | - '1737536410434' 355 | - text 356 | variable: assistant_msg 357 | height: 54 358 | id: '1737541777338' 359 | position: 360 | x: 942 361 | y: 676.1428571428572 362 | positionAbsolute: 363 | x: 942 364 | y: 676.1428571428572 365 | selected: false 366 | sourcePosition: right 367 | targetPosition: left 368 | type: custom 369 | width: 244 370 | - data: 371 | desc: '' 372 | selected: false 373 | template: user:{{ user_msg }} 374 | title: 模板转换 2 375 | type: template-transform 376 | variables: 377 | - value_selector: 378 | - sys 379 | - query 380 | variable: user_msg 381 | height: 54 382 | id: '1737597254688' 383 | position: 384 | x: 334 385 | y: 299 386 | positionAbsolute: 387 | x: 334 388 | y: 299 389 | selected: false 390 | sourcePosition: right 391 | targetPosition: left 392 | type: custom 393 | width: 244 394 | - data: 395 | desc: '' 396 | items: 397 | - input_type: variable 398 | operation: append 399 | value: 400 | - '1737597254688' 401 | - output 402 | variable_selector: 403 | - conversation 404 | - History 405 | write_mode: over-write 406 | selected: false 407 | title: 变量赋值 2 408 | type: assigner 409 | version: '2' 410 | height: 88 411 | id: '1737597263287' 412 | position: 413 | x: 638 414 | y: 299 415 | positionAbsolute: 416 | x: 638 417 | y: 299 418 | selected: false 419 | sourcePosition: right 420 | targetPosition: left 421 | type: custom 422 | width: 244 423 | viewport: 424 | x: 58.700000000000045 425 | y: -46.099999999999966 426 | zoom: 0.7 427 | -------------------------------------------------------------------------------- /DSL/春联生成器 (“福”到了版本).yml: -------------------------------------------------------------------------------- 1 | app: 2 | description: '' 3 | icon: firecracker 4 | icon_background: '#FFE4E8' 5 | mode: workflow 6 | name: 春联生成器 7 | use_icon_as_answer_icon: false 8 | kind: app 9 | version: 0.1.5 10 | workflow: 11 | conversation_variables: [] 12 | environment_variables: [] 13 | features: 14 | file_upload: 15 | allowed_file_extensions: 16 | - .JPG 17 | - .JPEG 18 | - .PNG 19 | - .GIF 20 | - .WEBP 21 | - .SVG 22 | allowed_file_types: 23 | - image 24 | allowed_file_upload_methods: 25 | - local_file 26 | - remote_url 27 | enabled: false 28 | fileUploadConfig: 29 | audio_file_size_limit: 50 30 | batch_count_limit: 5 31 | file_size_limit: 15 32 | image_file_size_limit: 10 33 | video_file_size_limit: 100 34 | workflow_file_upload_limit: 10 35 | image: 36 | enabled: false 37 | number_limits: 3 38 | transfer_methods: 39 | - local_file 40 | - remote_url 41 | number_limits: 3 42 | opening_statement: '' 43 | retriever_resource: 44 | enabled: true 45 | sensitive_word_avoidance: 46 | enabled: false 47 | speech_to_text: 48 | enabled: false 49 | suggested_questions: [] 50 | suggested_questions_after_answer: 51 | enabled: false 52 | text_to_speech: 53 | enabled: false 54 | language: '' 55 | voice: '' 56 | graph: 57 | edges: 58 | - data: 59 | isInIteration: false 60 | sourceType: llm 61 | targetType: code 62 | id: 1737014291474-source-1737014565681-target 63 | source: '1737014291474' 64 | sourceHandle: source 65 | target: '1737014565681' 66 | targetHandle: target 67 | type: custom 68 | zIndex: 0 69 | - data: 70 | isInIteration: false 71 | sourceType: code 72 | targetType: template-transform 73 | id: 1737014565681-source-1737015751556-target 74 | source: '1737014565681' 75 | sourceHandle: source 76 | target: '1737015751556' 77 | targetHandle: target 78 | type: custom 79 | zIndex: 0 80 | - data: 81 | isInIteration: false 82 | sourceType: template-transform 83 | targetType: end 84 | id: 1737015751556-source-1737014987145-target 85 | source: '1737015751556' 86 | sourceHandle: source 87 | target: '1737014987145' 88 | targetHandle: target 89 | type: custom 90 | zIndex: 0 91 | - data: 92 | isInIteration: false 93 | sourceType: start 94 | targetType: llm 95 | id: 1737014287710-source-1737014291474-target 96 | source: '1737014287710' 97 | sourceHandle: source 98 | target: '1737014291474' 99 | targetHandle: target 100 | type: custom 101 | zIndex: 0 102 | nodes: 103 | - data: 104 | desc: '' 105 | selected: false 106 | title: 开始 107 | type: start 108 | variables: 109 | - label: 主题 110 | max_length: 256 111 | options: [] 112 | required: true 113 | type: text-input 114 | variable: theme 115 | - label: 上下联字数 116 | max_length: 48 117 | options: 118 | - 五言 119 | - 七言 120 | - 九言 121 | - 十一言 122 | required: true 123 | type: select 124 | variable: count 125 | - label: 一字总结 126 | max_length: 48 127 | options: 128 | - 开启 129 | - 不开启 130 | required: false 131 | type: select 132 | variable: enabled_summary 133 | height: 142 134 | id: '1737014287710' 135 | position: 136 | x: 30 137 | y: 258 138 | positionAbsolute: 139 | x: 30 140 | y: 258 141 | selected: false 142 | sourcePosition: right 143 | targetPosition: left 144 | type: custom 145 | width: 244 146 | - data: 147 | context: 148 | enabled: false 149 | variable_selector: [] 150 | desc: '' 151 | model: 152 | completion_params: 153 | temperature: 0.7 154 | mode: chat 155 | name: qwen-max 156 | provider: tongyi 157 | prompt_template: 158 | - id: c3d6f892-cf1f-4930-82b5-3a0d1d388363 159 | role: system 160 | text: "你是一个编写春联的专家,下面我将会给你一些要求,你帮我编写一幅春联,确保春联既符合传统格律,又富有新意,且需要有美好寓意,要求如下:\n\ 161 | \n主题:{{#1737014287710.theme#}}\n上下联字数:{{#1737014287710.count#}}\n\n创作要求:\n\ 162 | 1. 必须体现春节喜庆祥和氛围;\n2. 上下联字数相等,结构对称;\n3. 可以典雅或通俗,但要有深意;\n4. 注意平仄韵律和对仗工整;\n\ 163 | 5. 横批简洁有力,点明主题;\n\n以JSON格式返回,返回示例如下:\n{\n \"top\": (上联:确定主题和节奏; type:\ 164 | \ string),\n \"bottom\": (下联:严格对仗; type: string),\n \"banner\": (横批:点睛之笔;\ 165 | \ type: string),\n \"summary\": (一字总结; type: string)\n}\n\nAnswer:" 166 | selected: true 167 | title: LLM 168 | type: llm 169 | variables: [] 170 | vision: 171 | enabled: false 172 | height: 98 173 | id: '1737014291474' 174 | position: 175 | x: 334 176 | y: 258 177 | positionAbsolute: 178 | x: 334 179 | y: 258 180 | selected: true 181 | sourcePosition: right 182 | targetPosition: left 183 | type: custom 184 | width: 244 185 | - data: 186 | code: "import json\n\ndef main(text: str, enabled_summary: str) -> dict:\n\ 187 | \ json_obj = extract_json_response(text)\n summary = '福'\n if enabled_summary\ 188 | \ == '开启':\n summary = json_obj['summary']\n return {\n \ 189 | \ \"banner\": json_obj['banner'],\n \"reversed_banner\": json_obj['banner'][::-1],\n\ 190 | \ \"top\": json_obj['top'],\n \"bottom\": json_obj['bottom'],\n\ 191 | \ \"summary\": summary,\n }\n\ndef extract_json_response(text:\ 192 | \ str) -> dict:\n\n def extract_json(text):\n stack = []\n \ 193 | \ for i, c in enumerate(text):\n if c == \"{\":\n \ 194 | \ stack.append(c)\n elif c == \"}\":\n \ 195 | \ if not stack:\n return text[:i]\n if\ 196 | \ c == \"}\" and stack[-1] == \"{\":\n stack.pop()\n\ 197 | \ if not stack:\n return text[:\ 198 | \ i + 1]\n else:\n return text[:i]\n \ 199 | \ return None\n\n for idx in range(len(text)):\n if text[idx]\ 200 | \ == \"{\":\n json_str = extract_json(text[idx:])\n \ 201 | \ if json_str:\n return json.loads(json_str)\n" 202 | code_language: python3 203 | desc: '' 204 | outputs: 205 | banner: 206 | children: null 207 | type: string 208 | bottom: 209 | children: null 210 | type: string 211 | reversed_banner: 212 | children: null 213 | type: string 214 | summary: 215 | children: null 216 | type: string 217 | top: 218 | children: null 219 | type: string 220 | selected: false 221 | title: 代码执行 222 | type: code 223 | variables: 224 | - value_selector: 225 | - '1737014291474' 226 | - text 227 | variable: text 228 | - value_selector: 229 | - '1737014287710' 230 | - enabled_summary 231 | variable: enabled_summary 232 | height: 54 233 | id: '1737014565681' 234 | position: 235 | x: 638 236 | y: 258 237 | positionAbsolute: 238 | x: 638 239 | y: 258 240 | selected: false 241 | sourcePosition: right 242 | targetPosition: left 243 | type: custom 244 | width: 244 245 | - data: 246 | desc: '' 247 | outputs: 248 | - value_selector: 249 | - '1737015751556' 250 | - output 251 | variable: output 252 | selected: false 253 | title: 结束 254 | type: end 255 | height: 90 256 | id: '1737014987145' 257 | position: 258 | x: 1246 259 | y: 258 260 | positionAbsolute: 261 | x: 1246 262 | y: 258 263 | selected: false 264 | sourcePosition: right 265 | targetPosition: left 266 | type: custom 267 | width: 244 268 | - data: 269 | desc: '' 270 | selected: false 271 | template: "
\r\n
\r\n {{ reversed_banner }}\r\n
\r\n \ 277 | \
\r\n {{ summary }}\r\n
\r\n
\r\n \ 283 | \
\r\n {{ bottom }}\r\n \ 285 | \
\r\n
\r\n \ 287 | \ {{ top }}\r\n
\r\n
\r\n
" 288 | title: 模板转换 289 | type: template-transform 290 | variables: 291 | - value_selector: 292 | - '1737014565681' 293 | - top 294 | variable: top 295 | - value_selector: 296 | - '1737014565681' 297 | - bottom 298 | variable: bottom 299 | - value_selector: 300 | - '1737014565681' 301 | - banner 302 | variable: banner 303 | - value_selector: 304 | - '1737014565681' 305 | - reversed_banner 306 | variable: reversed_banner 307 | - value_selector: 308 | - '1737014565681' 309 | - summary 310 | variable: summary 311 | height: 54 312 | id: '1737015751556' 313 | position: 314 | x: 942 315 | y: 258 316 | positionAbsolute: 317 | x: 942 318 | y: 258 319 | selected: false 320 | sourcePosition: right 321 | targetPosition: left 322 | type: custom 323 | width: 244 324 | viewport: 325 | x: 235.4000000000001 326 | y: 217.39999999999998 327 | zoom: 0.7 328 | -------------------------------------------------------------------------------- /DSL/春联生成器.yml: -------------------------------------------------------------------------------- 1 | app: 2 | description: '' 3 | icon: firecracker 4 | icon_background: '#FFE4E8' 5 | mode: workflow 6 | name: 春联生成器 7 | use_icon_as_answer_icon: false 8 | kind: app 9 | version: 0.1.5 10 | workflow: 11 | conversation_variables: [] 12 | environment_variables: [] 13 | features: 14 | file_upload: 15 | allowed_file_extensions: 16 | - .JPG 17 | - .JPEG 18 | - .PNG 19 | - .GIF 20 | - .WEBP 21 | - .SVG 22 | allowed_file_types: 23 | - image 24 | allowed_file_upload_methods: 25 | - local_file 26 | - remote_url 27 | enabled: false 28 | fileUploadConfig: 29 | audio_file_size_limit: 50 30 | batch_count_limit: 5 31 | file_size_limit: 15 32 | image_file_size_limit: 10 33 | video_file_size_limit: 100 34 | workflow_file_upload_limit: 10 35 | image: 36 | enabled: false 37 | number_limits: 3 38 | transfer_methods: 39 | - local_file 40 | - remote_url 41 | number_limits: 3 42 | opening_statement: '' 43 | retriever_resource: 44 | enabled: true 45 | sensitive_word_avoidance: 46 | enabled: false 47 | speech_to_text: 48 | enabled: false 49 | suggested_questions: [] 50 | suggested_questions_after_answer: 51 | enabled: false 52 | text_to_speech: 53 | enabled: false 54 | language: '' 55 | voice: '' 56 | graph: 57 | edges: 58 | - data: 59 | isInIteration: false 60 | sourceType: llm 61 | targetType: code 62 | id: 1737014291474-source-1737014565681-target 63 | source: '1737014291474' 64 | sourceHandle: source 65 | target: '1737014565681' 66 | targetHandle: target 67 | type: custom 68 | zIndex: 0 69 | - data: 70 | isInIteration: false 71 | sourceType: code 72 | targetType: template-transform 73 | id: 1737014565681-source-1737015751556-target 74 | source: '1737014565681' 75 | sourceHandle: source 76 | target: '1737015751556' 77 | targetHandle: target 78 | type: custom 79 | zIndex: 0 80 | - data: 81 | isInIteration: false 82 | sourceType: template-transform 83 | targetType: end 84 | id: 1737015751556-source-1737014987145-target 85 | source: '1737015751556' 86 | sourceHandle: source 87 | target: '1737014987145' 88 | targetHandle: target 89 | type: custom 90 | zIndex: 0 91 | - data: 92 | isInIteration: false 93 | sourceType: start 94 | targetType: llm 95 | id: 1737014287710-source-1737014291474-target 96 | source: '1737014287710' 97 | sourceHandle: source 98 | target: '1737014291474' 99 | targetHandle: target 100 | type: custom 101 | zIndex: 0 102 | nodes: 103 | - data: 104 | desc: '' 105 | selected: false 106 | title: 开始 107 | type: start 108 | variables: 109 | - label: 主题 110 | max_length: 256 111 | options: [] 112 | required: true 113 | type: text-input 114 | variable: theme 115 | - label: 上下联字数 116 | max_length: 48 117 | options: 118 | - 五言 119 | - 七言 120 | - 九言 121 | - 十一言 122 | required: true 123 | type: select 124 | variable: count 125 | height: 115 126 | id: '1737014287710' 127 | position: 128 | x: 30 129 | y: 258 130 | positionAbsolute: 131 | x: 30 132 | y: 258 133 | selected: false 134 | sourcePosition: right 135 | targetPosition: left 136 | type: custom 137 | width: 244 138 | - data: 139 | context: 140 | enabled: false 141 | variable_selector: [] 142 | desc: '' 143 | model: 144 | completion_params: 145 | temperature: 0.7 146 | mode: chat 147 | name: qwen-max 148 | provider: tongyi 149 | prompt_template: 150 | - id: c3d6f892-cf1f-4930-82b5-3a0d1d388363 151 | role: system 152 | text: "你是一个编写春联的专家,下面我将会给你一些要求,你帮我编写一幅春联,需要有美好寓意,要求如下:\n\n主题:{{#1737014287710.theme#}}\n\ 153 | 上下联字数:{{#1737014287710.count#}}\n\n以JSON格式返回,返回示例如下:\n{\n \"top\": (上联;\ 154 | \ type: string),\n \"bottom\": (下联; type: string),\n \"banner\": (横批;\ 155 | \ type: string)\n}\n\nAnswer:" 156 | selected: false 157 | title: LLM 158 | type: llm 159 | variables: [] 160 | vision: 161 | enabled: false 162 | height: 97 163 | id: '1737014291474' 164 | position: 165 | x: 334 166 | y: 258 167 | positionAbsolute: 168 | x: 334 169 | y: 258 170 | selected: false 171 | sourcePosition: right 172 | targetPosition: left 173 | type: custom 174 | width: 244 175 | - data: 176 | code: "import json\n\ndef main(text: str) -> dict:\n json_obj = extract_json_response(text)\n\ 177 | \ return {\n \"banner\": json_obj['banner'],\n \"reversed_banner\"\ 178 | : json_obj['banner'][::-1],\n \"top\": json_obj['top'],\n \ 179 | \ \"bottom\": json_obj['bottom'],\n }\n\ndef extract_json_response(text:\ 180 | \ str) -> dict:\n\n def extract_json(text):\n stack = []\n \ 181 | \ for i, c in enumerate(text):\n if c == \"{\":\n \ 182 | \ stack.append(c)\n elif c == \"}\":\n \ 183 | \ if not stack:\n return text[:i]\n if\ 184 | \ c == \"}\" and stack[-1] == \"{\":\n stack.pop()\n\ 185 | \ if not stack:\n return text[:\ 186 | \ i + 1]\n else:\n return text[:i]\n \ 187 | \ return None\n\n for idx in range(len(text)):\n if text[idx]\ 188 | \ == \"{\":\n json_str = extract_json(text[idx:])\n \ 189 | \ if json_str:\n return json.loads(json_str)\n" 190 | code_language: python3 191 | desc: '' 192 | outputs: 193 | banner: 194 | children: null 195 | type: string 196 | bottom: 197 | children: null 198 | type: string 199 | reversed_banner: 200 | children: null 201 | type: string 202 | top: 203 | children: null 204 | type: string 205 | selected: false 206 | title: 代码执行 207 | type: code 208 | variables: 209 | - value_selector: 210 | - '1737014291474' 211 | - text 212 | variable: text 213 | height: 53 214 | id: '1737014565681' 215 | position: 216 | x: 638 217 | y: 258 218 | positionAbsolute: 219 | x: 638 220 | y: 258 221 | selected: false 222 | sourcePosition: right 223 | targetPosition: left 224 | type: custom 225 | width: 244 226 | - data: 227 | desc: '' 228 | outputs: 229 | - value_selector: 230 | - '1737015751556' 231 | - output 232 | variable: output 233 | selected: false 234 | title: 结束 235 | type: end 236 | height: 89 237 | id: '1737014987145' 238 | position: 239 | x: 1246 240 | y: 258 241 | positionAbsolute: 242 | x: 1246 243 | y: 258 244 | selected: false 245 | sourcePosition: right 246 | targetPosition: left 247 | type: custom 248 | width: 244 249 | - data: 250 | desc: '' 251 | selected: true 252 | template: "
\r\n
\r\n {{ reversed_banner }}\r\n
\r\n \ 258 | \
\r\n
\r\n {{ bottom }}\r\n
\r\n
\r\n {{ top }}\r\n
\r\n\ 264 | \
\r\n
" 265 | title: 模板转换 266 | type: template-transform 267 | variables: 268 | - value_selector: 269 | - '1737014565681' 270 | - top 271 | variable: top 272 | - value_selector: 273 | - '1737014565681' 274 | - bottom 275 | variable: bottom 276 | - value_selector: 277 | - '1737014565681' 278 | - banner 279 | variable: banner 280 | - value_selector: 281 | - '1737014565681' 282 | - reversed_banner 283 | variable: reversed_banner 284 | height: 53 285 | id: '1737015751556' 286 | position: 287 | x: 942 288 | y: 258 289 | positionAbsolute: 290 | x: 942 291 | y: 258 292 | selected: true 293 | sourcePosition: right 294 | targetPosition: left 295 | type: custom 296 | width: 244 297 | viewport: 298 | x: -240 299 | y: -10 300 | zoom: 0.7 301 | -------------------------------------------------------------------------------- /DSL/腾讯云SubtitleInfo.yml: -------------------------------------------------------------------------------- 1 | app: 2 | description: '' 3 | icon: 🤖 4 | icon_background: '#FFEAD5' 5 | mode: workflow 6 | name: TC_Get 7 | use_icon_as_answer_icon: false 8 | kind: app 9 | version: 0.1.3 10 | workflow: 11 | conversation_variables: [] 12 | environment_variables: [] 13 | features: 14 | file_upload: 15 | allowed_file_extensions: 16 | - .JPG 17 | - .JPEG 18 | - .PNG 19 | - .GIF 20 | - .WEBP 21 | - .SVG 22 | allowed_file_types: 23 | - image 24 | allowed_file_upload_methods: 25 | - local_file 26 | - remote_url 27 | enabled: false 28 | fileUploadConfig: 29 | audio_file_size_limit: 50 30 | batch_count_limit: 5 31 | file_size_limit: 15 32 | image_file_size_limit: 10 33 | video_file_size_limit: 100 34 | workflow_file_upload_limit: 10 35 | image: 36 | enabled: false 37 | number_limits: 3 38 | transfer_methods: 39 | - local_file 40 | - remote_url 41 | number_limits: 3 42 | opening_statement: '' 43 | retriever_resource: 44 | enabled: true 45 | sensitive_word_avoidance: 46 | enabled: false 47 | speech_to_text: 48 | enabled: false 49 | suggested_questions: [] 50 | suggested_questions_after_answer: 51 | enabled: false 52 | text_to_speech: 53 | enabled: false 54 | language: '' 55 | voice: '' 56 | graph: 57 | edges: 58 | - data: 59 | isInIteration: false 60 | sourceType: start 61 | targetType: code 62 | id: 1731555779402-source-1731555795064-target 63 | source: '1731555779402' 64 | sourceHandle: source 65 | target: '1731555795064' 66 | targetHandle: target 67 | type: custom 68 | zIndex: 0 69 | - data: 70 | isInIteration: false 71 | sourceType: code 72 | targetType: end 73 | id: 1731555795064-source-1731555960277-target 74 | source: '1731555795064' 75 | sourceHandle: source 76 | target: '1731555960277' 77 | targetHandle: target 78 | type: custom 79 | zIndex: 0 80 | nodes: 81 | - data: 82 | desc: '' 83 | selected: true 84 | title: 开始 85 | type: start 86 | variables: 87 | - label: file_ids 88 | max_length: 48 89 | options: [] 90 | required: true 91 | type: text-input 92 | variable: file_ids 93 | - label: sub_appid 94 | max_length: 48 95 | options: [] 96 | required: true 97 | type: number 98 | variable: sub_appid 99 | height: 116 100 | id: '1731555779402' 101 | position: 102 | x: 30 103 | y: 258 104 | positionAbsolute: 105 | x: 30 106 | y: 258 107 | selected: true 108 | sourcePosition: right 109 | targetPosition: left 110 | type: custom 111 | width: 244 112 | - data: 113 | code: "import json\nimport time\nimport hmac\nimport hashlib\nimport requests\n\ 114 | import io\nfrom datetime import datetime\n\n# 腾讯云配置信息\nSECRET_ID = \"\"\n\ 115 | SECRET_KEY = \"\"\nSERVICE = \"vod\"\nHOST = \"vod.tencentcloudapi.com\"\ 116 | \nALGORITHM = \"TC3-HMAC-SHA256\"\nVERSION = \"2018-07-17\"\n\ndef _sign_string(key,\ 117 | \ msg):\n return hmac.new(key, msg.encode('utf-8'), hashlib.sha256).digest()\n\ 118 | \ndef generate_signature(canonical_request, timestamp, date):\n credential_scope\ 119 | \ = f\"{date}/{SERVICE}/tc3_request\"\n hashed_canonical_request = hashlib.sha256(canonical_request.encode('utf-8')).hexdigest()\n\ 120 | \ str_to_sign = f\"{ALGORITHM}\\n{timestamp}\\n{credential_scope}\\n{hashed_canonical_request}\"\ 121 | \n \n secret_date = _sign_string((\"TC3\" + SECRET_KEY).encode('utf-8'),\ 122 | \ date)\n secret_service = _sign_string(secret_date, SERVICE)\n secret_signing\ 123 | \ = _sign_string(secret_service, \"tc3_request\")\n signature = hmac.new(secret_signing,\ 124 | \ str_to_sign.encode('utf-8'), hashlib.sha256).hexdigest()\n \n return\ 125 | \ f\"{ALGORITHM} Credential={SECRET_ID}/{credential_scope}, SignedHeaders=content-type;host,\ 126 | \ Signature={signature}\"\n\ndef get_vtt_content(url: str) -> str:\n \ 127 | \ try:\n response = requests.get(url)\n response.raise_for_status()\n\ 128 | \ content = io.StringIO(response.text)\n return str(content.getvalue())\n\ 129 | \ except Exception as err:\n print(f'获取内容失败: {err}, URL: {url}')\n\ 130 | \ return \"\"\n\ndef main(file_ids: str = '', sub_appid: int = 0):\n\ 131 | \ try:\n timestamp = str(int(time.time()))\n date = datetime.utcfromtimestamp(int(timestamp)).strftime('%Y-%m-%d')\n\ 132 | \n payload = {\n \"FileIds\": [file_ids],\n \ 133 | \ \"SubAppId\": sub_appid\n }\n payload_str = json.dumps(payload)\n\ 134 | \n headers = {\n 'Content-Type': 'application/json',\n\ 135 | \ 'Host': HOST,\n 'X-TC-Action': 'DescribeMediaInfos',\n\ 136 | \ 'X-TC-Version': VERSION,\n 'X-TC-Timestamp': timestamp,\n\ 137 | \ }\n\n canonical_headers = f\"content-type:{headers['Content-Type']}\\\ 138 | nhost:{HOST}\\n\"\n hashed_request_payload = hashlib.sha256(payload_str.encode('utf-8')).hexdigest()\n\ 139 | \ canonical_request = f\"POST\\n/\\n\\n{canonical_headers}\\ncontent-type;host\\\ 140 | n{hashed_request_payload}\"\n\n headers['Authorization'] = generate_signature(canonical_request,\ 141 | \ timestamp, date)\n\n response = requests.post(f\"https://{HOST}\"\ 142 | , data=payload_str, headers=headers)\n result = response.json()\n\ 143 | \ \n if 'Error' in result.get('Response', {}):\n \ 144 | \ error_info = result['Response']['Error']\n print(f\"API错误:\ 145 | \ {error_info.get('Code')} - {error_info.get('Message')}\")\n \ 146 | \ return {\"status\":0,\"content\":\"\"}\n \n media_info\ 147 | \ = result['Response']['MediaInfoSet'][0]\n if 'SubtitleInfo' in\ 148 | \ media_info and 'SubtitleSet' in media_info['SubtitleInfo']:\n \ 149 | \ subtitle_sets = media_info['SubtitleInfo']['SubtitleSet']\n \ 150 | \ print(f\"\\n找到 {len(subtitle_sets)} 个:\")\n for subtitle\ 151 | \ in subtitle_sets:\n print(f\"\\nID: {subtitle['Id']}\"\ 152 | )\n print(f\"URL: {subtitle['Url']}\")\n print(\"\ 153 | 内容:\")\n content = get_vtt_content(subtitle['Url'])\n \ 154 | \ print(content)\n return {\"status\":1,\"content\"\ 155 | :content}\n else:\n print(\"未找到信息\")\n return\ 156 | \ {\"status\":0,\"content\":\"\"}\n\n except Exception as err:\n \ 157 | \ print(f\"获取信息失败: {err}\")\n return {\"status\":0,\"content\"\ 158 | :\"\"}" 159 | code_language: python3 160 | desc: '' 161 | outputs: 162 | content: 163 | children: null 164 | type: string 165 | status: 166 | children: null 167 | type: number 168 | selected: false 169 | title: 代码执行 170 | type: code 171 | variables: 172 | - value_selector: 173 | - '1731555779402' 174 | - file_ids 175 | variable: file_ids 176 | - value_selector: 177 | - '1731555779402' 178 | - sub_appid 179 | variable: sub_appid 180 | height: 54 181 | id: '1731555795064' 182 | position: 183 | x: 334 184 | y: 258 185 | positionAbsolute: 186 | x: 334 187 | y: 258 188 | selected: false 189 | sourcePosition: right 190 | targetPosition: left 191 | type: custom 192 | width: 244 193 | - data: 194 | desc: '' 195 | outputs: 196 | - value_selector: 197 | - '1731555795064' 198 | - status 199 | variable: status 200 | - value_selector: 201 | - '1731555795064' 202 | - content 203 | variable: content 204 | selected: false 205 | title: 结束 206 | type: end 207 | height: 116 208 | id: '1731555960277' 209 | position: 210 | x: 638 211 | y: 258 212 | positionAbsolute: 213 | x: 638 214 | y: 258 215 | selected: false 216 | sourcePosition: right 217 | targetPosition: left 218 | type: custom 219 | width: 244 220 | viewport: 221 | x: 0 222 | y: 0 223 | zoom: 0.7 224 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 svcvit 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /images/002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/002.png -------------------------------------------------------------------------------- /images/1211746699348_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/1211746699348_.pic.jpg -------------------------------------------------------------------------------- /images/1321746706833_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/1321746706833_.pic.jpg -------------------------------------------------------------------------------- /images/1481746757318_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/1481746757318_.pic.jpg -------------------------------------------------------------------------------- /images/1581746757684_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/1581746757684_.pic.jpg -------------------------------------------------------------------------------- /images/1641746757899_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/1641746757899_.pic.jpg -------------------------------------------------------------------------------- /images/1801746762497_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/1801746762497_.pic.jpg -------------------------------------------------------------------------------- /images/1811746762515_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/1811746762515_.pic.jpg -------------------------------------------------------------------------------- /images/1891746771390_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/1891746771390_.pic.jpg -------------------------------------------------------------------------------- /images/1951746847183_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/1951746847183_.pic.jpg -------------------------------------------------------------------------------- /images/2021746869092_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/2021746869092_.pic.jpg -------------------------------------------------------------------------------- /images/2071746869174_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/2071746869174_.pic.jpg -------------------------------------------------------------------------------- /images/211746674542_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/211746674542_.pic.jpg -------------------------------------------------------------------------------- /images/2151746869326_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/2151746869326_.pic.jpg -------------------------------------------------------------------------------- /images/2171746869347_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/2171746869347_.pic.jpg -------------------------------------------------------------------------------- /images/2181746869358_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/2181746869358_.pic.jpg -------------------------------------------------------------------------------- /images/2261746869712_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/2261746869712_.pic.jpg -------------------------------------------------------------------------------- /images/2311746869814_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/2311746869814_.pic.jpg -------------------------------------------------------------------------------- /images/2391746869976_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/2391746869976_.pic.jpg -------------------------------------------------------------------------------- /images/2581746870683_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/2581746870683_.pic.jpg -------------------------------------------------------------------------------- /images/2751746871349_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/2751746871349_.pic.jpg -------------------------------------------------------------------------------- /images/2771746871360_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/2771746871360_.pic.jpg -------------------------------------------------------------------------------- /images/2901746871898_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/2901746871898_.pic.jpg -------------------------------------------------------------------------------- /images/2941746872155_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/2941746872155_.pic.jpg -------------------------------------------------------------------------------- /images/3001746926845_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/3001746926845_.pic.jpg -------------------------------------------------------------------------------- /images/301746674696_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/301746674696_.pic.jpg -------------------------------------------------------------------------------- /images/3091746930584_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/3091746930584_.pic.jpg -------------------------------------------------------------------------------- /images/3131746931620_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/3131746931620_.pic.jpg -------------------------------------------------------------------------------- /images/3211746935046_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/3211746935046_.pic.jpg -------------------------------------------------------------------------------- /images/3221746935055_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/3221746935055_.pic.jpg -------------------------------------------------------------------------------- /images/3231746935081_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/3231746935081_.pic.jpg -------------------------------------------------------------------------------- /images/3381746946377_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/3381746946377_.pic.jpg -------------------------------------------------------------------------------- /images/3541747015676_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/3541747015676_.pic.jpg -------------------------------------------------------------------------------- /images/3611747042969_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/3611747042969_.pic.jpg -------------------------------------------------------------------------------- /images/451746675262_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/451746675262_.pic.jpg -------------------------------------------------------------------------------- /images/491746675348_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/491746675348_.pic.jpg -------------------------------------------------------------------------------- /images/671746676942_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/671746676942_.pic.jpg -------------------------------------------------------------------------------- /images/691746676987_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/691746676987_.pic.jpg -------------------------------------------------------------------------------- /images/721746677110_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/721746677110_.pic.jpg -------------------------------------------------------------------------------- /images/731746677145_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/731746677145_.pic.jpg -------------------------------------------------------------------------------- /images/741746677162_.pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/741746677162_.pic.jpg -------------------------------------------------------------------------------- /images/Xnip2024-11-19_10-14-02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/Xnip2024-11-19_10-14-02.jpg -------------------------------------------------------------------------------- /images/image001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/images/image001.png -------------------------------------------------------------------------------- /snapshots/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/.DS_Store -------------------------------------------------------------------------------- /snapshots/001.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/001.jpg -------------------------------------------------------------------------------- /snapshots/005.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/005.jpg -------------------------------------------------------------------------------- /snapshots/GZvTSh3aYAEMAQ5.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/GZvTSh3aYAEMAQ5.jpeg -------------------------------------------------------------------------------- /snapshots/WechatIMG4894.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/WechatIMG4894.jpg -------------------------------------------------------------------------------- /snapshots/WechatIMG6110.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/WechatIMG6110.jpg -------------------------------------------------------------------------------- /snapshots/WechatIMG9731.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/WechatIMG9731.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2024-07-16_12-45-29.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2024-07-16_12-45-29.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2024-07-16_12-45-37.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2024-07-16_12-45-37.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2024-07-16_13-15-39.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2024-07-16_13-15-39.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2024-07-16_13-17-10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2024-07-16_13-17-10.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2024-07-16_13-17-53.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2024-07-16_13-17-53.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2024-07-16_13-21-13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2024-07-16_13-21-13.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2024-07-16_13-42-06.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2024-07-16_13-42-06.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2024-07-16_16-58-05.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2024-07-16_16-58-05.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2024-07-24_13-04-11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2024-07-24_13-04-11.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2024-07-24_13-06-35.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2024-07-24_13-06-35.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2024-07-24_13-07-55.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2024-07-24_13-07-55.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2024-07-24_13-08-49.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2024-07-24_13-08-49.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2024-07-24_16-33-09.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2024-07-24_16-33-09.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2024-07-24_16-34-29.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2024-07-24_16-34-29.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2024-07-29_14-43-54.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2024-07-29_14-43-54.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2024-08-01_13-47-25.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2024-08-01_13-47-25.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2024-09-19_12-03-01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2024-09-19_12-03-01.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2024-09-30_09-44-00.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2024-09-30_09-44-00.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2024-10-30_18-02-24.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2024-10-30_18-02-24.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2024-10-31_17-33-34.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2024-10-31_17-33-34.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2024-10-31_17-38-34.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2024-10-31_17-38-34.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2024-10-31_17-45-53.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2024-10-31_17-45-53.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2024-10-31_17-46-30.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2024-10-31_17-46-30.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2024-11-12_10-47-42.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2024-11-12_10-47-42.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2024-11-14_14-03-53.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2024-11-14_14-03-53.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2024-11-14_15-17-39.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2024-11-14_15-17-39.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2024-11-15_18-16-26.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2024-11-15_18-16-26.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2024-11-20_09-45-48.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2024-11-20_09-45-48.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2024-11-21_09-35-09.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2024-11-21_09-35-09.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2024-11-22_13-44-07.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2024-11-22_13-44-07.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2024-11-29_11-40-06.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2024-11-29_11-40-06.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2024-11-29_11-42-42.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2024-11-29_11-42-42.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2024-12-05_09-22-43.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2024-12-05_09-22-43.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2024-12-05_09-26-33.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2024-12-05_09-26-33.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2024-12-05_10-16-16.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2024-12-05_10-16-16.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2024-12-05_10-16-25.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2024-12-05_10-16-25.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2024-12-05_11-10-39.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2024-12-05_11-10-39.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2024-12-05_11-12-55.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2024-12-05_11-12-55.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2025-01-21_09-21-11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2025-01-21_09-21-11.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2025-01-21_09-22-59.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2025-01-21_09-22-59.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2025-01-21_09-30-46.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2025-01-21_09-30-46.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2025-01-21_09-39-18.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2025-01-21_09-39-18.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2025-01-23_13-22-24.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2025-01-23_13-22-24.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2025-01-23_13-22-47.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2025-01-23_13-22-47.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2025-02-17_16-51-30.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2025-02-17_16-51-30.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2025-02-24_10-12-56.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2025-02-24_10-12-56.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2025-03-03_18-02-29.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2025-03-03_18-02-29.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2025-03-03_18-03-42.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2025-03-03_18-03-42.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2025-03-03_18-03-54.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2025-03-03_18-03-54.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2025-03-21_10-28-13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2025-03-21_10-28-13.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2025-03-26_11-19-23.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2025-03-26_11-19-23.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2025-04-16_17-05-45.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2025-04-16_17-05-45.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2025-04-17_10-24-49.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2025-04-17_10-24-49.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2025-04-17_10-25-14.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2025-04-17_10-25-14.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2025-04-27_21-43-19.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2025-04-27_21-43-19.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2025-04-27_21-50-02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2025-04-27_21-50-02.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2025-05-08_10-18-20.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2025-05-08_10-18-20.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2025-05-15_18-48-29.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2025-05-15_18-48-29.jpg -------------------------------------------------------------------------------- /snapshots/Xnip2025-05-16_15-43-49.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/svcvit/Awesome-Dify-Workflow/b3b5b0a1dd5c070d82bf55b6ee8d61154d808b61/snapshots/Xnip2025-05-16_15-43-49.jpg --------------------------------------------------------------------------------