From b88f829dbb76842604b0c898be8023b0f40daeab Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Fri, 21 Nov 2025 05:28:55 -0500 Subject: [PATCH] enh: clone system models Co-Authored-By: G30 <50341825+silentoplayz@users.noreply.github.com> --- src/lib/components/admin/Settings/Models.svelte | 14 ++++++++++++++ .../admin/Settings/Models/ModelMenu.svelte | 12 ++++++++++++ 2 files changed, 26 insertions(+) diff --git a/src/lib/components/admin/Settings/Models.svelte b/src/lib/components/admin/Settings/Models.svelte index 500788c4e8..1c1fc6512b 100644 --- a/src/lib/components/admin/Settings/Models.svelte +++ b/src/lib/components/admin/Settings/Models.svelte @@ -38,6 +38,7 @@ import EyeSlash from '$lib/components/icons/EyeSlash.svelte'; import Eye from '$lib/components/icons/Eye.svelte'; import { WEBUI_API_BASE_URL, WEBUI_BASE_URL } from '$lib/constants'; + import { goto } from '$app/navigation'; let shiftKey = false; @@ -200,6 +201,16 @@ } }; + const cloneHandler = async (model) => { + sessionStorage.model = JSON.stringify({ + ...model, + base_model_id: model.id, + id: `${model.id}-clone`, + name: `${model.name} (Clone)` + }); + goto('/workspace/models/create'); + }; + const exportModelHandler = async (model) => { let blob = new Blob([JSON.stringify([model])], { type: 'application/json' @@ -419,6 +430,9 @@ copyLinkHandler={() => { copyLinkHandler(model); }} + cloneHandler={() => { + cloneHandler(model); + }} onClose={() => {}} >