diff --git a/web/src/assets/images/model/bedrock.png b/web/src/assets/images/model/bedrock.png index 2c3b4770..a16ee6f7 100644 Binary files a/web/src/assets/images/model/bedrock.png and b/web/src/assets/images/model/bedrock.png differ diff --git a/web/src/assets/images/model/dashscope.png b/web/src/assets/images/model/dashscope.png index 2667528e..e57821f0 100644 Binary files a/web/src/assets/images/model/dashscope.png and b/web/src/assets/images/model/dashscope.png differ diff --git a/web/src/assets/images/model/gpustack.png b/web/src/assets/images/model/gpustack.png index 5c5afe1b..39d303ae 100644 Binary files a/web/src/assets/images/model/gpustack.png and b/web/src/assets/images/model/gpustack.png differ diff --git a/web/src/assets/images/model/ollama.png b/web/src/assets/images/model/ollama.png index b3f5bd44..068d066d 100644 Binary files a/web/src/assets/images/model/ollama.png and b/web/src/assets/images/model/ollama.png differ diff --git a/web/src/assets/images/model/openai.png b/web/src/assets/images/model/openai.png index bd7a119a..db9fabaa 100644 Binary files a/web/src/assets/images/model/openai.png and b/web/src/assets/images/model/openai.png differ diff --git a/web/src/assets/images/model/volcano.png b/web/src/assets/images/model/volcano.png index 9aeb3bf3..ba0dce10 100644 Binary files a/web/src/assets/images/model/volcano.png and b/web/src/assets/images/model/volcano.png differ diff --git a/web/src/assets/images/model/xinference.png b/web/src/assets/images/model/xinference.png new file mode 100644 index 00000000..71a4821b Binary files /dev/null and b/web/src/assets/images/model/xinference.png differ diff --git a/web/src/assets/images/model/xinference.svg b/web/src/assets/images/model/xinference.svg deleted file mode 100644 index f5c5f75e..00000000 --- a/web/src/assets/images/model/xinference.svg +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/web/src/assets/images/workflow/clear.svg b/web/src/assets/images/workflow/clear.svg new file mode 100644 index 00000000..10502289 --- /dev/null +++ b/web/src/assets/images/workflow/clear.svg @@ -0,0 +1,13 @@ + + + clear-outlined + + + + + + + + + + \ No newline at end of file diff --git a/web/src/assets/images/workflow/document-extractor.svg b/web/src/assets/images/workflow/document-extractor.svg new file mode 100644 index 00000000..eea39cc6 --- /dev/null +++ b/web/src/assets/images/workflow/document-extractor.svg @@ -0,0 +1,32 @@ + + + 3备份 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/src/assets/images/workflow/features.svg b/web/src/assets/images/workflow/features.svg new file mode 100644 index 00000000..2ff48584 --- /dev/null +++ b/web/src/assets/images/workflow/features.svg @@ -0,0 +1,15 @@ + + + 参与 + + + + + + + + + + + + \ No newline at end of file diff --git a/web/src/assets/images/workflow/return.svg b/web/src/assets/images/workflow/return.svg new file mode 100644 index 00000000..b7cfe153 --- /dev/null +++ b/web/src/assets/images/workflow/return.svg @@ -0,0 +1,17 @@ + + + 退出 + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/src/assets/images/workflow/run.svg b/web/src/assets/images/workflow/run.svg new file mode 100644 index 00000000..5d320106 --- /dev/null +++ b/web/src/assets/images/workflow/run.svg @@ -0,0 +1,13 @@ + + + 编组 31 + + + + + + + + + + \ No newline at end of file diff --git a/web/src/assets/images/workflow/save.svg b/web/src/assets/images/workflow/save.svg new file mode 100644 index 00000000..681c7633 --- /dev/null +++ b/web/src/assets/images/workflow/save.svg @@ -0,0 +1,17 @@ + + + 保存 + + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/src/assets/images/workflow/variable.svg b/web/src/assets/images/workflow/variable.svg new file mode 100644 index 00000000..cdb8338e --- /dev/null +++ b/web/src/assets/images/workflow/variable.svg @@ -0,0 +1,16 @@ + + + 聊天 + + + + + + + + + + + + + \ No newline at end of file diff --git a/web/src/components/SiderMenu/index.tsx b/web/src/components/SiderMenu/index.tsx index d1a4e405..3bd0cea3 100644 --- a/web/src/components/SiderMenu/index.tsx +++ b/web/src/components/SiderMenu/index.tsx @@ -2,7 +2,7 @@ * @Author: ZhaoYing * @Date: 2026-02-02 15:25:31 * @Last Modified by: ZhaoYing - * @Last Modified time: 2026-03-27 16:38:57 + * @Last Modified time: 2026-03-27 19:11:43 */ /** * SiderMenu Component @@ -136,7 +136,7 @@ const Menu: FC<{ menuList = allMenus[source] || [] } - const noAuthList = ['user', 'pricing'].filter(vo => !user.permissions.includes(vo) && !user.permissions?.includes('all')) + const noAuthList = ['user', 'pricing'].filter(vo => !user.permissions?.includes(vo) && !user.permissions?.includes('all')) if (noAuthList && !noAuthList?.includes('all')) { const filterMenus = (list: MenuItem[]): MenuItem[] =>{ diff --git a/web/src/views/ApplicationConfig/components/ConfigHeader.tsx b/web/src/views/ApplicationConfig/components/ConfigHeader.tsx index 5cbe8638..8e6fc875 100644 --- a/web/src/views/ApplicationConfig/components/ConfigHeader.tsx +++ b/web/src/views/ApplicationConfig/components/ConfigHeader.tsx @@ -2,11 +2,11 @@ * @Author: ZhaoYing * @Date: 2026-02-03 16:27:52 * @Last Modified by: ZhaoYing - * @Last Modified time: 2026-03-27 17:33:44 + * @Last Modified time: 2026-03-27 19:07:24 */ import { type FC, useRef, useMemo, useCallback } from 'react'; import { useNavigate, useParams } from 'react-router-dom'; -import { Tabs, Dropdown, Button, Flex } from 'antd'; +import { Tabs, Dropdown, Flex, Popover } from 'antd'; import type { MenuProps } from 'antd'; import { useTranslation } from 'react-i18next'; import clsx from 'clsx'; @@ -218,14 +218,36 @@ const ConfigHeader: FC = ({ refresh={handleSaveFeaturesConfig} chatVariables={(workflowRef.current?.chatVariables || []).map(v => ({ ...v, display_name: v.name }))} /> - - - - -
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
: diff --git a/web/src/views/ApplicationConfig/components/FeaturesConfig/index.tsx b/web/src/views/ApplicationConfig/components/FeaturesConfig/index.tsx index e27c2b86..dba03ab2 100644 --- a/web/src/views/ApplicationConfig/components/FeaturesConfig/index.tsx +++ b/web/src/views/ApplicationConfig/components/FeaturesConfig/index.tsx @@ -2,11 +2,11 @@ * @Author: ZhaoYing * @Date: 2026-03-13 17:20:21 * @Last Modified by: ZhaoYing - * @Last Modified time: 2026-03-24 11:00:25 + * @Last Modified time: 2026-03-27 19:07:35 */ import { type FC, useRef } from 'react'; import { useTranslation } from 'react-i18next'; -import { Button } from 'antd'; +import { Button, Popover } from 'antd'; import FeaturesConfigModal from './FeaturesConfigModal' import type { FeaturesConfigModalRef, FeaturesConfigForm } from '../../types' @@ -45,7 +45,16 @@ const FeaturesConfig: FC = ({ return ( <> {/* Button that triggers the feature configuration modal */} - + {source === 'workflow' + ? + +
+
+ : + } {/* Modal for editing feature settings; calls refresh on save */}
{String(item.provider).charAt(0).toUpperCase() + String(item.provider).slice(1)}
- {item.tags.map(tag => {t(`modelNew.${tag}`)})} + + {item.tags.map(tag => {t(`modelNew.${tag}`)})}
+ }> + + {item.tags.map(tag => {t(`modelNew.${tag}`)})} + +
} isNeedTooltip={false} footer={ diff --git a/web/src/views/ModelManagement/utils.ts b/web/src/views/ModelManagement/utils.ts index 82ff470b..8180e194 100644 --- a/web/src/views/ModelManagement/utils.ts +++ b/web/src/views/ModelManagement/utils.ts @@ -13,7 +13,7 @@ import dashscopeIcon from '@/assets/images/model/dashscope.png' import gpustackIcon from '@/assets/images/model/gpustack.png' import ollamaIcon from '@/assets/images/model/ollama.png' import openaiIcon from '@/assets/images/model/openai.png' -import xinferenceIcon from '@/assets/images/model/xinference.svg' +import xinferenceIcon from '@/assets/images/model/xinference.png' import volcanoIcon from '@/assets/images/model/volcano.png' /** diff --git a/web/src/views/Workflow/constant.ts b/web/src/views/Workflow/constant.ts index cadff647..d62ef06f 100644 --- a/web/src/views/Workflow/constant.ts +++ b/web/src/views/Workflow/constant.ts @@ -2,7 +2,7 @@ * @Author: ZhaoYing * @Date: 2026-02-03 15:06:18 * @Last Modified by: ZhaoYing - * @Last Modified time: 2026-03-24 11:11:46 + * @Last Modified time: 2026-03-27 18:30:52 */ import LoopNode from './components/Nodes/LoopNode'; import NormalNode from './components/Nodes/NormalNode'; @@ -33,6 +33,7 @@ import assignerIcon from '@/assets/images/workflow/assigner.svg' import memoryReadIcon from '@/assets/images/workflow/memory-read.svg' import memoryWriteIcon from '@/assets/images/workflow/memory-write.svg' import unknownIcon from '@/assets/images/workflow/unknown.svg' +import documentExtractorIcon from '@/assets/images/workflow/document-extractor.svg' import { memoryConfigListUrl } from '@/api/memory' import type { NodeLibrary } from './types' @@ -473,8 +474,7 @@ export const nodeLibrary: NodeLibrary[] = [ }, } }, - { - type: "document-extractor", icon: codeExecutionIcon, + { type: "document-extractor", icon: documentExtractorIcon, config: { file_selector: { type: 'variableList',