summaryrefslogtreecommitdiffstats
path: root/desktop/modules/assistant/AssistantPage.qml
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-10-28 09:16:00 +0100
committerDanilo M. <danix@danix.xyz>2026-10-28 09:16:00 +0100
commitad0989dda8dc6420d16aaaa6aa40c47917145342 (patch)
tree977c41f3892854bc1b6c01f3f60de72fd8e3c333 /desktop/modules/assistant/AssistantPage.qml
parent779492e8b40084032e218c89f211e60527a28b98 (diff)
downloadquickshell-ad0989dda8dc6420d16aaaa6aa40c47917145342.tar.gz
quickshell-ad0989dda8dc6420d16aaaa6aa40c47917145342.zip
assistant: unload the resident model from the settings page
The Load button reads Unload on the loaded model and posts to the router's /models/unload. An error from the router lands in modelError, the same place a failed load reports, and the list is re-read either way. The model comes back on the next request for it or when the canvas opens. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'desktop/modules/assistant/AssistantPage.qml')
-rw-r--r--desktop/modules/assistant/AssistantPage.qml10
1 files changed, 6 insertions, 4 deletions
diff --git a/desktop/modules/assistant/AssistantPage.qml b/desktop/modules/assistant/AssistantPage.qml
index bf35763..b25b33b 100644
--- a/desktop/modules/assistant/AssistantPage.qml
+++ b/desktop/modules/assistant/AssistantPage.qml
@@ -168,7 +168,8 @@ Column {
wrapMode: Text.Wrap
text: "Each chat uses the model picked in the canvas header, else the preferred one. "
+ "Opening the canvas loads that model if it is a local one and another is in. "
- + "Load swaps a model in now, for every client, without changing the preference."
+ + "Load swaps a model in now, for every client, without changing the preference; "
+ + "Unload frees the VRAM until something asks for the model again."
}
Small {
@@ -218,9 +219,10 @@ Column {
Button {
id: loadBtn
anchors { right: parent.right; rightMargin: 6; verticalCenter: parent.verticalCenter }
- text: "Load"
- enabled: page.asst.loading === "" && !modelRow.loaded
- onClicked: page.asst.loadModel(modelRow.modelData.id)
+ text: modelRow.loaded ? "Unload" : "Load"
+ enabled: page.asst.loading === ""
+ onClicked: modelRow.loaded ? page.asst.unloadModel(modelRow.modelData.id)
+ : page.asst.loadModel(modelRow.modelData.id)
}
Button {
anchors { right: loadBtn.left; rightMargin: 6; verticalCenter: parent.verticalCenter }