Files
opencode-skill/skills/minimax-multimodal-toolkit/scripts/check_environment.sh
Kunthawat Greethong 7edf5bc4d0 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
2026-03-26 11:37:39 +07:00

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