diff --git a/api/controllers/console/app/app.py b/api/controllers/console/app/app.py
index bf29ea85b7..3e908b76a7 100644
--- a/api/controllers/console/app/app.py
+++ b/api/controllers/console/app/app.py
@@ -50,7 +50,15 @@ class AppListApi(Resource):
parser.add_argument(
"mode",
type=str,
- choices=["chat", "workflow", "agent-chat", "channel", "all"],
+ choices=[
+ "completion",
+ "chat",
+ "advanced-chat",
+ "workflow",
+ "agent-chat",
+ "channel",
+ "all",
+ ],
default="all",
location="args",
required=False,
diff --git a/api/services/app_service.py b/api/services/app_service.py
index effe1298ee..e87a1c7931 100644
--- a/api/services/app_service.py
+++ b/api/services/app_service.py
@@ -36,9 +36,13 @@ class AppService:
filters = [App.tenant_id == tenant_id, App.is_universal == False]
if args["mode"] == "workflow":
- filters.append(App.mode.in_([AppMode.WORKFLOW.value, AppMode.COMPLETION.value]))
+ filters.append(App.mode == AppMode.WORKFLOW.value)
+ elif args["mode"] == "completion":
+ filters.append(App.mode == AppMode.COMPLETION.value)
elif args["mode"] == "chat":
- filters.append(App.mode.in_([AppMode.CHAT.value, AppMode.ADVANCED_CHAT.value]))
+ filters.append(App.mode == AppMode.CHAT.value)
+ elif args["mode"] == "advanced-chat":
+ filters.append(App.mode == AppMode.ADVANCED_CHAT.value)
elif args["mode"] == "agent-chat":
filters.append(App.mode == AppMode.AGENT_CHAT.value)
elif args["mode"] == "channel":
diff --git a/web/app/(commonLayout)/apps/Apps.tsx b/web/app/(commonLayout)/apps/Apps.tsx
index 4eca5012a1..be5031ab43 100644
--- a/web/app/(commonLayout)/apps/Apps.tsx
+++ b/web/app/(commonLayout)/apps/Apps.tsx
@@ -8,6 +8,7 @@ import { useDebounceFn } from 'ahooks'
import {
RiApps2Line,
RiExchange2Line,
+ RiFile4Line,
RiMessage3Line,
RiRobot3Line,
} from '@remixicon/react'
@@ -81,6 +82,8 @@ const Apps = () => {
{ value: 'all', text: t('app.types.all'), icon: },
{ value: 'chat', text: t('app.types.chatbot'), icon: },
{ value: 'agent-chat', text: t('app.types.agent'), icon: },
+ { value: 'completion', text: t('app.types.completion'), icon: },
+ { value: 'advanced-chat', text: t('app.types.advanced'), icon: },
{ value: 'workflow', text: t('app.types.workflow'), icon: },
]