Major updates: - Added 35+ new skills from awesome-opencode-skills and antigravity repos - Merged SEO skills into seo-master - Merged architecture skills into architecture - Merged security skills into security-auditor and security-coder - Merged testing skills into testing-master and testing-patterns - Merged pentesting skills into pentesting - Renamed website-creator to thai-frontend-dev - Replaced skill-creator with github version - Removed Chutes references (use MiniMax API instead) - Added install-openclaw-skills.sh for cross-platform installation - Updated .env.example with MiniMax API credentials
157 lines
3.5 KiB
Bash
Executable File
157 lines
3.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# MiniMax Multi-Modal Toolkit — Environment Check
|
|
#
|
|
# Usage:
|
|
# bash scripts/check_environment.sh
|
|
# bash scripts/check_environment.sh --test-api
|
|
set -euo pipefail
|
|
|
|
PASSED=0
|
|
FAILED=0
|
|
TOTAL=0
|
|
|
|
check() {
|
|
TOTAL=$((TOTAL + 1))
|
|
if "$@"; then
|
|
PASSED=$((PASSED + 1))
|
|
else
|
|
FAILED=$((FAILED + 1))
|
|
fi
|
|
}
|
|
|
|
check_curl() {
|
|
if command -v curl &>/dev/null; then
|
|
echo "[OK] curl installed"
|
|
return 0
|
|
fi
|
|
echo "[FAIL] curl not installed"
|
|
return 1
|
|
}
|
|
|
|
check_ffmpeg() {
|
|
if command -v ffmpeg &>/dev/null; then
|
|
echo "[OK] FFmpeg installed"
|
|
return 0
|
|
fi
|
|
echo "[FAIL] FFmpeg not installed"
|
|
return 1
|
|
}
|
|
|
|
check_ffprobe() {
|
|
if command -v ffprobe &>/dev/null; then
|
|
echo "[OK] ffprobe installed"
|
|
return 0
|
|
fi
|
|
echo "[FAIL] ffprobe not installed"
|
|
return 1
|
|
}
|
|
|
|
check_jq() {
|
|
if command -v jq &>/dev/null; then
|
|
echo "[OK] jq installed"
|
|
return 0
|
|
fi
|
|
echo "[FAIL] jq not installed (brew install jq / apt install jq)"
|
|
return 1
|
|
}
|
|
|
|
check_xxd() {
|
|
if command -v xxd &>/dev/null; then
|
|
echo "[OK] xxd installed"
|
|
return 0
|
|
fi
|
|
echo "[FAIL] xxd not installed"
|
|
return 1
|
|
}
|
|
|
|
check_api_host() {
|
|
local api_host="${MINIMAX_API_HOST:-}"
|
|
if [[ -z "$api_host" ]]; then
|
|
echo "[FAIL] MINIMAX_API_HOST not set"
|
|
echo " China Mainland: export MINIMAX_API_HOST='https://api.minimaxi.com'"
|
|
echo " Global: export MINIMAX_API_HOST='https://api.minimax.io'"
|
|
return 1
|
|
fi
|
|
if [[ "$api_host" != "https://api.minimaxi.com" && "$api_host" != "https://api.minimax.io" ]]; then
|
|
echo "[WARN] MINIMAX_API_HOST has non-standard value: $api_host"
|
|
echo " Expected: https://api.minimaxi.com (China) or https://api.minimax.io (Global)"
|
|
return 0
|
|
fi
|
|
echo "[OK] MINIMAX_API_HOST set ($api_host)"
|
|
return 0
|
|
}
|
|
|
|
check_api_key() {
|
|
local api_key="${MINIMAX_API_KEY:-}"
|
|
if [[ -z "$api_key" ]]; then
|
|
echo "[FAIL] MINIMAX_API_KEY not set"
|
|
echo " export MINIMAX_API_KEY='your-key'"
|
|
return 1
|
|
fi
|
|
if [[ "$api_key" != sk-api* && "$api_key" != sk-cp* ]]; then
|
|
echo "[FAIL] Invalid API key format"
|
|
echo " Expected: sk-api-xxx... or sk-cp-xxx..."
|
|
echo " Got: ${api_key:0:20}..."
|
|
return 1
|
|
fi
|
|
echo "[OK] MINIMAX_API_KEY set (${#api_key} chars)"
|
|
return 0
|
|
}
|
|
|
|
check_api_connectivity() {
|
|
local api_host="${MINIMAX_API_HOST:-}"
|
|
local api_key="${MINIMAX_API_KEY:-}"
|
|
if [[ -z "$api_key" ]]; then
|
|
echo "[FAIL] API connectivity skipped (MINIMAX_API_KEY not set)"
|
|
return 1
|
|
fi
|
|
if [[ -z "$api_host" ]]; then
|
|
echo "[FAIL] API connectivity skipped (MINIMAX_API_HOST not set)"
|
|
return 1
|
|
fi
|
|
local http_code
|
|
http_code=$(curl -s -o /dev/null -w "%{http_code}" \
|
|
-H "Authorization: Bearer $api_key" \
|
|
--max-time 10 \
|
|
"$api_host" 2>/dev/null) || true
|
|
if [[ -n "$http_code" && "$http_code" -lt 500 ]] 2>/dev/null; then
|
|
echo "[OK] API host reachable (HTTP $http_code)"
|
|
return 0
|
|
fi
|
|
echo "[FAIL] API host unreachable ($api_host)"
|
|
return 1
|
|
}
|
|
|
|
# --- Main ---
|
|
TEST_API=false
|
|
for arg in "$@"; do
|
|
case "$arg" in
|
|
--test-api) TEST_API=true ;;
|
|
esac
|
|
done
|
|
|
|
echo "MiniMax Multi-Modal Toolkit — Environment Check"
|
|
echo "========================================"
|
|
|
|
check check_curl
|
|
check check_ffmpeg
|
|
check check_ffprobe
|
|
check check_jq
|
|
check check_xxd
|
|
check check_api_host
|
|
check check_api_key
|
|
|
|
if $TEST_API; then
|
|
check check_api_connectivity
|
|
fi
|
|
|
|
echo ""
|
|
echo "========================================"
|
|
if [[ $FAILED -eq 0 ]]; then
|
|
echo "All $TOTAL checks passed!"
|
|
exit 0
|
|
else
|
|
echo "$FAILED check(s) failed out of $TOTAL"
|
|
exit 1
|
|
fi
|