38 lines
1.4 KiB
Bash
Executable File
38 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
# Watch for Qwen3.5 GGUF quantizations from Bartowski
|
|
# Notifies via James dashboard + Signal when available
|
|
|
|
MODELS=(
|
|
"bartowski/Qwen3.5-27B-GGUF"
|
|
"bartowski/Qwen3.5-35B-A3B-GGUF"
|
|
"Qwen/Qwen3.5-27B-GGUF"
|
|
"Qwen/Qwen3.5-35B-A3B-GGUF"
|
|
)
|
|
|
|
FOUND=0
|
|
for model in "${MODELS[@]}"; do
|
|
result=$(curl -s "https://huggingface.co/api/models/$model" 2>/dev/null)
|
|
if echo "$result" | python3 -c "import json,sys; d=json.load(sys.stdin); files=[s.get('rfilename','') for s in d.get('siblings',[])]; has_gguf=any('.gguf' in f.lower() for f in files); print(has_gguf)" 2>/dev/null | grep -q "True"; then
|
|
model_short=$(basename "$model")
|
|
echo "FOUND: $model"
|
|
|
|
# Post to dashboard
|
|
curl -s -X POST http://localhost:9200/api/news \
|
|
-H 'Content-Type: application/json' \
|
|
-d "{\"title\":\"GGUF Available: $model_short\",\"body\":\"$model is now available for download on HuggingFace.\",\"type\":\"success\",\"source\":\"qwen-gguf-watch\"}" \
|
|
> /dev/null
|
|
|
|
# Signal Johan
|
|
curl -s -X POST "http://localhost:8080/api/v1/rpc" \
|
|
-H "Content-Type: application/json" \
|
|
-d "{\"jsonrpc\":\"2.0\",\"method\":\"send\",\"params\":{\"recipient\":[\"+17272252475\"],\"message\":\"⚡ GGUF ready: $model_short — https://huggingface.co/$model\"},\"id\":1}" \
|
|
> /dev/null
|
|
|
|
FOUND=$((FOUND + 1))
|
|
fi
|
|
done
|
|
|
|
if [ $FOUND -eq 0 ]; then
|
|
echo "No Qwen3.5 GGUFs yet."
|
|
fi
|