aboutsummaryrefslogtreecommitdiffstats
path: root/desktop/modules/assistant/AssistantPage.qml
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-10-17 10:59:22 +0200
committerDanilo M. <danix@danix.xyz>2026-10-17 10:59:28 +0200
commit8e9d8b9ac1b593032dea9eca312fa1495c0c8858 (patch)
tree9329824bc6a1d8e4f44da39e3722b4e2ea36c9f6 /desktop/modules/assistant/AssistantPage.qml
parentca3c66d882e60874b1cf4a1c5f9ea4232a593255 (diff)
downloadquickshell-8e9d8b9ac1b593032dea9eca312fa1495c0c8858.tar.gz
quickshell-8e9d8b9ac1b593032dea9eca312fa1495c0c8858.zip
assistant: Load no longer changes the preferred model
Load set the preference as well as swapping the model in, so loading a model from the settings page for any reason made it the assistant's model too: after loading Qwen there, the canvas kept Qwen instead of bringing the preferred Gemma back. Load and Prefer are now separate buttons: Load swaps a model in now and leaves the preference alone, and Prefer only records which model the canvas loads when it opens. The canvas header also showed a stale model name after a swap; it now takes the model from the daemon's ctx event, which carries it from desktop-assistant f9d4644 on. 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.qml22
1 files changed, 15 insertions, 7 deletions
diff --git a/desktop/modules/assistant/AssistantPage.qml b/desktop/modules/assistant/AssistantPage.qml
index 2e40ed4..c6b63fc 100644
--- a/desktop/modules/assistant/AssistantPage.qml
+++ b/desktop/modules/assistant/AssistantPage.qml
@@ -165,8 +165,9 @@ Column {
Small {
width: page.width
wrapMode: Text.Wrap
- text: "The assistant answers with whichever model llama-server has loaded. Load makes one the "
- + "preferred model and loads it now, which swaps out the loaded one for every client."
+ text: "The assistant answers with whichever model llama-server has loaded. Opening it loads "
+ + "the preferred model if another one is in. Load swaps a model in now, for every client, "
+ + "without changing the preference."
}
Small {
@@ -211,13 +212,20 @@ Column {
modelRow.preferred ? "preferred" : ""].filter(s => s).join(" · ")
color: modelRow.preferred ? Theme.accent : Theme.subtext
}
+ // Two separate choices: which model the assistant prefers, kept,
+ // and which one is loaded now, a swap for every client.
Button {
+ id: loadBtn
anchors { right: parent.right; rightMargin: 6; verticalCenter: parent.verticalCenter }
- text: modelRow.loaded ? (modelRow.preferred ? "Loaded" : "Prefer") : "Load"
- enabled: page.asst.loading === "" && !(modelRow.loaded && modelRow.preferred)
- // A loaded model only becomes the preferred one: nothing to swap.
- onClicked: modelRow.loaded ? Prefs.setAssistantModel(modelRow.modelData.id)
- : page.asst.loadModel(modelRow.modelData.id)
+ text: "Load"
+ enabled: page.asst.loading === "" && !modelRow.loaded
+ onClicked: page.asst.loadModel(modelRow.modelData.id)
+ }
+ Button {
+ anchors { right: loadBtn.left; rightMargin: 6; verticalCenter: parent.verticalCenter }
+ text: modelRow.preferred ? "Preferred" : "Prefer"
+ enabled: !modelRow.preferred
+ onClicked: Prefs.setAssistantModel(modelRow.modelData.id)
}
}
}