set -euo pipefail
BASE_URL="http://127.0.0.1:8090"
MODEL="gpt-5.4-mini"
TS="$(date +%Y%m%d_%H%M%S)"
echo "node=$(hostname)"
echo "date=$(date -Is)"
echo "current=$(readlink -f /srv/sub2api-80/current 2>/dev/null || true)"
echo "service=$(systemctl is-active sub2api-80.service 2>/dev/null || true)"
echo "binary_sha256=$(sha256sum /srv/sub2api-80/current/server 2>/dev/null | awk '{print $1}' || sha256sum /srv/sub2api-80/current/backend/server 2>/dev/null | awk '{print $1}' || true)"
echo "--- system ---"
uptime || true
df -h / || true
free -h || true
ss -ltnp | grep ':8090' || true
systemctl status sub2api-80.service --no-pager -n 20 || true
journalctl -u sub2api-80.service -n 40 --no-pager || true
REQ1=$(mktemp); REQ2=$(mktemp); B1=$(mktemp); B2=$(mktemp); B3=$(mktemp)
cat > "$REQ1" <<JSON
{"model":"$MODEL","input":"release-smoke-80-$TS，请只回复 OK","max_output_tokens":16}
JSON
cat > "$REQ2" <<JSON
{"model":"$MODEL","messages":[{"role":"user","content":"release-smoke-80-$TS，请只回复 OK"}],"max_tokens":16}
JSON
code=$(curl -sS -o "$B1" -w '%{http_code}' "$BASE_URL/v1/models" -H "Authorization: Bearer $API_KEY" --max-time 60)
echo "MODELS_HTTP=$code"; cat "$B1" | head -c 1200; echo
code=$(curl -sS -o "$B2" -w '%{http_code}' "$BASE_URL/v1/responses" -H "Authorization: Bearer $API_KEY" -H 'Content-Type: application/json' --data-binary "@$REQ1" --max-time 120)
echo "RESPONSES_HTTP=$code"; cat "$B2" | head -c 2000; echo
code=$(curl -sS -o "$B3" -w '%{http_code}' "$BASE_URL/v1/chat/completions" -H "Authorization: Bearer $API_KEY" -H 'Content-Type: application/json' --data-binary "@$REQ2" --max-time 120)
echo "CHAT_HTTP=$code"; cat "$B3" | head -c 2000; echo
