feat: Import 35+ skills, merge duplicates, add openclaw installer
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
This commit is contained in:
156
skills/minimax-multimodal-toolkit/scripts/check_environment.sh
Executable file
156
skills/minimax-multimodal-toolkit/scripts/check_environment.sh
Executable file
@@ -0,0 +1,156 @@
|
||||
#!/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
|
||||
Reference in New Issue
Block a user