aboutsummaryrefslogtreecommitdiffstats
path: root/desktop/modules/ai/test-ai-state.sh
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-10-05 12:53:03 +0200
committerDanilo M. <danix@danix.xyz>2026-10-05 12:53:03 +0200
commitf0c92d6b9938bd6bb2d6e24aeb833fed175a9222 (patch)
treeb82c1cd1c079fdebe1c548991c30074ada303664 /desktop/modules/ai/test-ai-state.sh
parentc4e3406c8241ada9b9d7069149f88ab55c3b5952 (diff)
downloadquickshell-f0c92d6b9938bd6bb2d6e24aeb833fed175a9222.tar.gz
quickshell-f0c92d6b9938bd6bb2d6e24aeb833fed175a9222.zip
fix(ai): count a running sd-cli as the sd engine
fanfictioner runs sd-cli one-shot, not through sd-server, so the sd row read down while a CLI run held VRAM and generated. A running sd-cli now reads up and busy, its model marked (sd-cli), and outranks the web UI. The model is the first --diffusion-model/-m: sd-cli's prompt follows and is free text that may contain "-m". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'desktop/modules/ai/test-ai-state.sh')
-rwxr-xr-xdesktop/modules/ai/test-ai-state.sh12
1 files changed, 12 insertions, 0 deletions
diff --git a/desktop/modules/ai/test-ai-state.sh b/desktop/modules/ai/test-ai-state.sh
index bb6038d..e3e8ba0 100755
--- a/desktop/modules/ai/test-ai-state.sh
+++ b/desktop/modules/ai/test-ai-state.sh
@@ -51,6 +51,9 @@ STUB
cat > "$stub/pgrep" <<'STUB'
#!/bin/bash
case "$*" in
+ *sd-cli*)
+ [[ -n "${T_CLI:-}" ]] || exit 1
+ echo "16618 sd-cli --diffusion-model /data/SD/Krea-2-Turbo-Q6_K.gguf --vae /data/SD/vae/wan_2.1_vae.safetensors -p a prompt -m ignored" ;;
*sd-server*)
[[ -n "${T_SD:-}" ]] || exit 1
echo "4242 sd-server --listen-port 7860 --diffusion-model /data/SD/z_image_turbo-Q8_0.gguf --vae /data/SD/vae/flux1-ae.safetensors" ;;
@@ -128,6 +131,15 @@ touch -d '1 minute ago' "$log"
got="$(run T_SD=1 | sed -n 2p)"
check "sd running, log quiet" "$(l engine sd up idle z_image_turbo-Q8_0.gguf)" "$got"
+# A one-shot sd-cli (fanfictioner's) holds VRAM and is generating for as
+# long as it runs, whatever the web UI is doing. Its prompt is free text, so
+# a "-m" inside it must not be read as the model.
+got="$(run T_CLI=1 | sed -n 2p)"
+check "sd-cli running" "$(l engine sd up busy "Krea-2-Turbo-Q6_K.gguf (sd-cli)")" "$got"
+
+got="$(run T_CLI=1 T_SD=1 | sed -n 2p)"
+check "sd-cli wins over an idle web UI" "$(l engine sd up busy "Krea-2-Turbo-Q6_K.gguf (sd-cli)")" "$got"
+
want="$(l app assistant running -; l app chat running -; l app imggen running realvis; l app fanfic running 31337)"
got="$(run T_ASSIST=1 T_CHAT=1 T_IMG=1 T_FANFIC=1 | tail -n4)"
check "every app running" "$want" "$got"