From 3c6de0bf3ec7f0cdd5d434367e3d19e93812d3d1 Mon Sep 17 00:00:00 2001 From: Joel Date: Thu, 14 Mar 2024 11:41:59 +0800 Subject: [PATCH] feat: tool default value --- .../components/workflow/nodes/tool/use-config.ts | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/web/app/components/workflow/nodes/tool/use-config.ts b/web/app/components/workflow/nodes/tool/use-config.ts index ac1ff41896..5c1c44e7eb 100644 --- a/web/app/components/workflow/nodes/tool/use-config.ts +++ b/web/app/components/workflow/nodes/tool/use-config.ts @@ -23,8 +23,11 @@ const useConfig = (id: string, payload: ToolNodeType) => { const setToolsMap = useStore(s => s.setToolsMap) const { inputs, setInputs } = useNodeCrud(id, payload) - const toolInputs = inputs.tool_parameters - const { provider_id, provider_name, provider_type, tool_name, tool_configurations: tool_parameters } = inputs + /* + * tool_configurations: tool setting, not dynamic setting + * tool_parameters: tool dynamic setting(by user) + */ + const { provider_id, provider_name, provider_type, tool_name, tool_configurations, tool_parameters: toolInputs } = inputs const isBuiltIn = provider_type === CollectionType.builtIn const [currCollection, setCurrCollection] = useState(null) const fetchCurrCollection = useCallback(async () => { @@ -67,7 +70,7 @@ const useConfig = (id: string, payload: ToolNodeType) => { // use setting const toolSettingSchema = formSchemas.filter((item: any) => item.form !== 'llm') const toolSettingValue = (() => { - return addDefaultValue(tool_parameters, toolSettingSchema) + return addDefaultValue(tool_configurations, toolSettingSchema) })() const setToolSettingValue = useCallback((value: Record) => { setInputs({ @@ -76,6 +79,12 @@ const useConfig = (id: string, payload: ToolNodeType) => { }) }, [inputs, setInputs]) + useEffect(() => { + if (!currTool) + return + setToolSettingValue(addDefaultValue(tool_configurations, toolSettingSchema)) + }, [currTool]) + // setting when call const toolInputVarSchema = formSchemas.filter((item: any) => item.form === 'llm') const setInputVar = useCallback((value: ToolVarInput[]) => {