From 660efda7f59dcbbc619e1e1d7884cf50530cc4f4 Mon Sep 17 00:00:00 2001 From: zhsama Date: Fri, 28 Nov 2025 18:30:55 +0800 Subject: [PATCH] feat: enhance AgentTools component with expandable provider sections and improved UI interactions --- .../config/agent/agent-tools/index.tsx | 68 ++++++++++++------- 1 file changed, 43 insertions(+), 25 deletions(-) diff --git a/web/app/components/app/configuration/config/agent/agent-tools/index.tsx b/web/app/components/app/configuration/config/agent/agent-tools/index.tsx index f3f58fa9f6..1f575929c9 100644 --- a/web/app/components/app/configuration/config/agent/agent-tools/index.tsx +++ b/web/app/components/app/configuration/config/agent/agent-tools/index.tsx @@ -6,6 +6,7 @@ import { useContext } from 'use-context-selector' import copy from 'copy-to-clipboard' import { produce } from 'immer' import { + RiArrowDownSLine, RiDeleteBinLine, RiEqualizer2Line, RiInformation2Line, @@ -91,6 +92,13 @@ const AgentTools: FC = () => { } const [isDeleting, setIsDeleting] = useState(-1) + const [expandedProviders, setExpandedProviders] = useState>({}) + const toggleProviderExpand = useCallback((providerId: string) => { + setExpandedProviders(prev => ({ + ...prev, + [providerId]: !prev[providerId], + })) + }, []) const getToolValue = (tool: ToolDefaultValue) => { return { provider_id: tool.provider_id, @@ -225,34 +233,44 @@ const AgentTools: FC = () => { ).map(group => (
{ - // 调试:查看 provider 及其工具数据 - console.log('provider group', group) - }} + className='rounded-lg border border-components-panel-border-subtle bg-components-panel-on-panel-item-bg p-2 shadow-xs' > -
+
toggleProviderExpand(group.providerId)} + > + {typeof group.icon === 'string' - ?
- : } -
{group.providerName}
- {group.tools.every(t => t.notAuthor) && ( - - )} + ?
+ : } +
{group.providerName}
+
+
+ {group.tools.filter(tool => tool.enabled).length}/{group.tools.length} {t('appDebug.agent.tools.enabled')} +
+ {group.tools.every(tool => tool.notAuthor) && ( + + )} +
-
+
{group.tools.map(item => (