#!/bin/bash # AgentCloud Installer # curl -fsSL https://get.agentcloud.md | bash set -e BOLD="\033[1m" DIM="\033[2m" GREEN="\033[32m" BLUE="\033[34m" RED="\033[31m" RESET="\033[0m" echo "" echo -e "${BOLD}🧠 AgentCloud Installer${RESET}" echo "" # ---------- Node.js ---------- if command -v node &>/dev/null; then NODE_V=$(node -v) echo -e " ${GREEN}✓${RESET} Node.js ${DIM}${NODE_V}${RESET}" else echo -e " ${BLUE}→${RESET} Installing Node.js..." if command -v brew &>/dev/null; then brew install node 2>/dev/null echo -e " ${GREEN}✓${RESET} Node.js installed via Homebrew" else echo -e " ${RED}✗${RESET} Node.js required. Install from ${BOLD}https://nodejs.org${RESET}" exit 1 fi fi # ---------- npm prefix (avoid sudo) ---------- NPM_DIR="$HOME/.npm-global" mkdir -p "$NPM_DIR" npm config set prefix "$NPM_DIR" 2>/dev/null # ---------- OpenClaw ---------- echo -e " ${BLUE}→${RESET} Installing OpenClaw..." npm install -g openclaw --silent 2>/dev/null || npm install -g openclaw 2>&1 | grep -v "^npm warn" if [ -f "$NPM_DIR/bin/openclaw" ] || command -v openclaw &>/dev/null; then echo -e " ${GREEN}✓${RESET} OpenClaw installed" else echo -e " ${RED}✗${RESET} Installation failed" exit 1 fi # ---------- PATH ---------- SHELL_RC="$HOME/.zshrc" [ -n "$BASH_VERSION" ] && SHELL_RC="$HOME/.bashrc" PATH_LINE='export PATH="$HOME/.npm-global/bin:$PATH"' if ! grep -q '.npm-global/bin' "$SHELL_RC" 2>/dev/null; then echo "" >> "$SHELL_RC" echo "# AgentCloud" >> "$SHELL_RC" echo "$PATH_LINE" >> "$SHELL_RC" echo -e " ${GREEN}✓${RESET} PATH configured" fi export PATH="$NPM_DIR/bin:$PATH" # ---------- Version ---------- VERSION=$(openclaw --version 2>/dev/null || echo "installed") echo "" echo -e "${BOLD} ✅ AgentCloud ready ${DIM}(${VERSION})${RESET}" echo -e "${DIM} Run: openclaw init${RESET}" echo ""