diff --git a/backend/open_webui/utils/models.py b/backend/open_webui/utils/models.py index 9823cb09b..952786691 100644 --- a/backend/open_webui/utils/models.py +++ b/backend/open_webui/utils/models.py @@ -203,8 +203,11 @@ async def get_all_models(request, user: UserModel = None): "id": f"{function.id}.{action['id']}", "name": action.get("name", f"{function.name} ({action['id']})"), "description": function.meta.description, - "icon_url": action.get( - "icon_url", function.meta.manifest.get("icon_url", None) + "icon": action.get( + "icon_url", + function.meta.manifest.get("icon_url", None) + or getattr(module, "icon_url", None) + or getattr(module, "icon", None), ), } for action in actions @@ -215,7 +218,9 @@ async def get_all_models(request, user: UserModel = None): "id": function.id, "name": function.name, "description": function.meta.description, - "icon_url": function.meta.manifest.get("icon_url", None), + "icon": function.meta.manifest.get("icon_url", None) + or getattr(module, "icon_url", None) + or getattr(module, "icon", None), } ] @@ -226,7 +231,9 @@ async def get_all_models(request, user: UserModel = None): "id": function.id, "name": function.name, "description": function.meta.description, - "icon_url": function.meta.manifest.get("icon_url", None), + "icon": function.meta.manifest.get("icon_url", None) + or getattr(module, "icon_url", None) + or getattr(module, "icon", None), } ] diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte index b46b21cbe..f245d8892 100644 --- a/src/lib/components/chat/MessageInput.svelte +++ b/src/lib/components/chat/MessageInput.svelte @@ -1167,17 +1167,17 @@ filter.id ) ? 'bg-gray-50 dark:bg-gray-400/10 border-gray-100 dark:border-gray-700 text-gray-600 dark:text-gray-400' - : 'bg-transparent border-transparent text-gray-600 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800 '} capitalize" + : 'bg-transparent border-transparent text-gray-600 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-800 '} capitalize" > - {#if filter?.icon_url} -
+ {#if filter?.icon} +
{filter?.name}
{:else} @@ -1199,7 +1199,7 @@ class="px-1.5 @xl:px-2.5 py-1.5 flex gap-1.5 items-center text-sm rounded-full font-medium transition-colors duration-300 focus:outline-hidden max-w-full overflow-hidden border {webSearchEnabled || ($settings?.webSearch ?? false) === 'always' ? 'bg-blue-100 dark:bg-blue-500/20 border-blue-400/20 text-blue-500 dark:text-blue-400' - : 'bg-transparent border-transparent text-gray-600 dark:text-gray-300 border-gray-200 hover:bg-gray-100 dark:hover:bg-gray-800'}" + : 'bg-transparent border-transparent text-gray-600 dark:text-gray-300 border-gray-200 hover:bg-gray-50 dark:hover:bg-gray-800'}" > - {#if action.icon_url} + {#if action?.icon}