From 048d7984b719af4cd852221d51bb40f6ebddd421 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sun, 22 Mar 2026 09:34:03 +0000
Subject: [PATCH 1/2] Initial plan
From f1d6119df8976b1aa59ba7aebacee300f3a47e73 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sun, 22 Mar 2026 09:40:45 +0000
Subject: [PATCH 2/2] Show default prompt templates as placeholders in admin
task settings
Co-authored-by: FFDVDGD <82321430+FFDVDGD@users.noreply.github.com>
Agent-Logs-Url: https://github.com/FFDVDGD/open-webui/sessions/71295bcc-5283-42f8-9127-50d44789843a
---
backend/open_webui/routers/tasks.py | 15 ++++++++
.../admin/Settings/Interface.svelte | 37 ++++++++-----------
2 files changed, 30 insertions(+), 22 deletions(-)
diff --git a/backend/open_webui/routers/tasks.py b/backend/open_webui/routers/tasks.py
index f6404da05cb..f79c545bbcd 100644
--- a/backend/open_webui/routers/tasks.py
+++ b/backend/open_webui/routers/tasks.py
@@ -34,6 +34,7 @@
DEFAULT_EMOJI_GENERATION_PROMPT_TEMPLATE,
DEFAULT_MOA_GENERATION_PROMPT_TEMPLATE,
DEFAULT_VOICE_MODE_PROMPT_TEMPLATE,
+ DEFAULT_TOOLS_FUNCTION_CALLING_PROMPT_TEMPLATE,
)
log = logging.getLogger(__name__)
@@ -69,19 +70,26 @@ async def get_task_config(request: Request, user=Depends(get_verified_user)):
"TASK_MODEL": request.app.state.config.TASK_MODEL,
"TASK_MODEL_EXTERNAL": request.app.state.config.TASK_MODEL_EXTERNAL,
"TITLE_GENERATION_PROMPT_TEMPLATE": request.app.state.config.TITLE_GENERATION_PROMPT_TEMPLATE,
+ "DEFAULT_TITLE_GENERATION_PROMPT_TEMPLATE": DEFAULT_TITLE_GENERATION_PROMPT_TEMPLATE,
"IMAGE_PROMPT_GENERATION_PROMPT_TEMPLATE": request.app.state.config.IMAGE_PROMPT_GENERATION_PROMPT_TEMPLATE,
+ "DEFAULT_IMAGE_PROMPT_GENERATION_PROMPT_TEMPLATE": DEFAULT_IMAGE_PROMPT_GENERATION_PROMPT_TEMPLATE,
"ENABLE_AUTOCOMPLETE_GENERATION": request.app.state.config.ENABLE_AUTOCOMPLETE_GENERATION,
"AUTOCOMPLETE_GENERATION_INPUT_MAX_LENGTH": request.app.state.config.AUTOCOMPLETE_GENERATION_INPUT_MAX_LENGTH,
"TAGS_GENERATION_PROMPT_TEMPLATE": request.app.state.config.TAGS_GENERATION_PROMPT_TEMPLATE,
+ "DEFAULT_TAGS_GENERATION_PROMPT_TEMPLATE": DEFAULT_TAGS_GENERATION_PROMPT_TEMPLATE,
"FOLLOW_UP_GENERATION_PROMPT_TEMPLATE": request.app.state.config.FOLLOW_UP_GENERATION_PROMPT_TEMPLATE,
+ "DEFAULT_FOLLOW_UP_GENERATION_PROMPT_TEMPLATE": DEFAULT_FOLLOW_UP_GENERATION_PROMPT_TEMPLATE,
"ENABLE_FOLLOW_UP_GENERATION": request.app.state.config.ENABLE_FOLLOW_UP_GENERATION,
"ENABLE_TAGS_GENERATION": request.app.state.config.ENABLE_TAGS_GENERATION,
"ENABLE_TITLE_GENERATION": request.app.state.config.ENABLE_TITLE_GENERATION,
"ENABLE_SEARCH_QUERY_GENERATION": request.app.state.config.ENABLE_SEARCH_QUERY_GENERATION,
"ENABLE_RETRIEVAL_QUERY_GENERATION": request.app.state.config.ENABLE_RETRIEVAL_QUERY_GENERATION,
"QUERY_GENERATION_PROMPT_TEMPLATE": request.app.state.config.QUERY_GENERATION_PROMPT_TEMPLATE,
+ "DEFAULT_QUERY_GENERATION_PROMPT_TEMPLATE": DEFAULT_QUERY_GENERATION_PROMPT_TEMPLATE,
"TOOLS_FUNCTION_CALLING_PROMPT_TEMPLATE": request.app.state.config.TOOLS_FUNCTION_CALLING_PROMPT_TEMPLATE,
+ "DEFAULT_TOOLS_FUNCTION_CALLING_PROMPT_TEMPLATE": DEFAULT_TOOLS_FUNCTION_CALLING_PROMPT_TEMPLATE,
"VOICE_MODE_PROMPT_TEMPLATE": request.app.state.config.VOICE_MODE_PROMPT_TEMPLATE,
+ "DEFAULT_VOICE_MODE_PROMPT_TEMPLATE": DEFAULT_VOICE_MODE_PROMPT_TEMPLATE,
}
@@ -160,18 +168,25 @@ async def update_task_config(
"TASK_MODEL_EXTERNAL": request.app.state.config.TASK_MODEL_EXTERNAL,
"ENABLE_TITLE_GENERATION": request.app.state.config.ENABLE_TITLE_GENERATION,
"TITLE_GENERATION_PROMPT_TEMPLATE": request.app.state.config.TITLE_GENERATION_PROMPT_TEMPLATE,
+ "DEFAULT_TITLE_GENERATION_PROMPT_TEMPLATE": DEFAULT_TITLE_GENERATION_PROMPT_TEMPLATE,
"IMAGE_PROMPT_GENERATION_PROMPT_TEMPLATE": request.app.state.config.IMAGE_PROMPT_GENERATION_PROMPT_TEMPLATE,
+ "DEFAULT_IMAGE_PROMPT_GENERATION_PROMPT_TEMPLATE": DEFAULT_IMAGE_PROMPT_GENERATION_PROMPT_TEMPLATE,
"ENABLE_AUTOCOMPLETE_GENERATION": request.app.state.config.ENABLE_AUTOCOMPLETE_GENERATION,
"AUTOCOMPLETE_GENERATION_INPUT_MAX_LENGTH": request.app.state.config.AUTOCOMPLETE_GENERATION_INPUT_MAX_LENGTH,
"TAGS_GENERATION_PROMPT_TEMPLATE": request.app.state.config.TAGS_GENERATION_PROMPT_TEMPLATE,
+ "DEFAULT_TAGS_GENERATION_PROMPT_TEMPLATE": DEFAULT_TAGS_GENERATION_PROMPT_TEMPLATE,
"ENABLE_TAGS_GENERATION": request.app.state.config.ENABLE_TAGS_GENERATION,
"ENABLE_FOLLOW_UP_GENERATION": request.app.state.config.ENABLE_FOLLOW_UP_GENERATION,
"FOLLOW_UP_GENERATION_PROMPT_TEMPLATE": request.app.state.config.FOLLOW_UP_GENERATION_PROMPT_TEMPLATE,
+ "DEFAULT_FOLLOW_UP_GENERATION_PROMPT_TEMPLATE": DEFAULT_FOLLOW_UP_GENERATION_PROMPT_TEMPLATE,
"ENABLE_SEARCH_QUERY_GENERATION": request.app.state.config.ENABLE_SEARCH_QUERY_GENERATION,
"ENABLE_RETRIEVAL_QUERY_GENERATION": request.app.state.config.ENABLE_RETRIEVAL_QUERY_GENERATION,
"QUERY_GENERATION_PROMPT_TEMPLATE": request.app.state.config.QUERY_GENERATION_PROMPT_TEMPLATE,
+ "DEFAULT_QUERY_GENERATION_PROMPT_TEMPLATE": DEFAULT_QUERY_GENERATION_PROMPT_TEMPLATE,
"TOOLS_FUNCTION_CALLING_PROMPT_TEMPLATE": request.app.state.config.TOOLS_FUNCTION_CALLING_PROMPT_TEMPLATE,
+ "DEFAULT_TOOLS_FUNCTION_CALLING_PROMPT_TEMPLATE": DEFAULT_TOOLS_FUNCTION_CALLING_PROMPT_TEMPLATE,
"VOICE_MODE_PROMPT_TEMPLATE": request.app.state.config.VOICE_MODE_PROMPT_TEMPLATE,
+ "DEFAULT_VOICE_MODE_PROMPT_TEMPLATE": DEFAULT_VOICE_MODE_PROMPT_TEMPLATE,
}
diff --git a/src/lib/components/admin/Settings/Interface.svelte b/src/lib/components/admin/Settings/Interface.svelte
index db7f1b6146f..a78ab2d2340 100644
--- a/src/lib/components/admin/Settings/Interface.svelte
+++ b/src/lib/components/admin/Settings/Interface.svelte
@@ -20,18 +20,25 @@
TASK_MODEL_EXTERNAL: '',
ENABLE_TITLE_GENERATION: true,
TITLE_GENERATION_PROMPT_TEMPLATE: '',
+ DEFAULT_TITLE_GENERATION_PROMPT_TEMPLATE: '',
ENABLE_FOLLOW_UP_GENERATION: true,
FOLLOW_UP_GENERATION_PROMPT_TEMPLATE: '',
+ DEFAULT_FOLLOW_UP_GENERATION_PROMPT_TEMPLATE: '',
IMAGE_PROMPT_GENERATION_PROMPT_TEMPLATE: '',
+ DEFAULT_IMAGE_PROMPT_GENERATION_PROMPT_TEMPLATE: '',
ENABLE_AUTOCOMPLETE_GENERATION: true,
AUTOCOMPLETE_GENERATION_INPUT_MAX_LENGTH: -1,
TAGS_GENERATION_PROMPT_TEMPLATE: '',
+ DEFAULT_TAGS_GENERATION_PROMPT_TEMPLATE: '',
ENABLE_TAGS_GENERATION: true,
ENABLE_SEARCH_QUERY_GENERATION: true,
ENABLE_RETRIEVAL_QUERY_GENERATION: true,
QUERY_GENERATION_PROMPT_TEMPLATE: '',
+ DEFAULT_QUERY_GENERATION_PROMPT_TEMPLATE: '',
TOOLS_FUNCTION_CALLING_PROMPT_TEMPLATE: '',
- VOICE_MODE_PROMPT_TEMPLATE: ''
+ DEFAULT_TOOLS_FUNCTION_CALLING_PROMPT_TEMPLATE: '',
+ VOICE_MODE_PROMPT_TEMPLATE: '',
+ DEFAULT_VOICE_MODE_PROMPT_TEMPLATE: ''
};
const updateInterfaceHandler = async () => {
@@ -226,9 +233,7 @@
>
@@ -261,9 +266,7 @@
>
@@ -287,9 +290,7 @@
>
@@ -313,9 +314,7 @@
>
@@ -346,9 +345,7 @@
>
@@ -391,9 +388,7 @@
>
@@ -407,9 +402,7 @@
>