Initial commit: OpenClaw 龙虾AI 一键部署脚本
This commit is contained in:
115
install-macos.sh
Executable file
115
install-macos.sh
Executable file
@@ -0,0 +1,115 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# ─────────────────────────────────────────────
|
||||
# OpenClaw + MiniMax 一键安装脚本 (macOS)
|
||||
# ─────────────────────────────────────────────
|
||||
|
||||
# 颜色
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
BLUE='\033[0;34m'
|
||||
BOLD='\033[1m'
|
||||
NC='\033[0m' # 无颜色
|
||||
|
||||
info() { echo -e "${BLUE}[信息]${NC} $*"; }
|
||||
success() { echo -e "${GREEN}[完成]${NC} $*"; }
|
||||
warn() { echo -e "${YELLOW}[警告]${NC} $*"; }
|
||||
error() { echo -e "${RED}[错误]${NC} $*"; exit 1; }
|
||||
|
||||
header() {
|
||||
echo ""
|
||||
echo -e "${BOLD}========================================${NC}"
|
||||
echo -e "${BOLD} OpenClaw + MiniMax 安装器 (macOS)${NC}"
|
||||
echo -e "${BOLD}========================================${NC}"
|
||||
echo ""
|
||||
}
|
||||
|
||||
header
|
||||
|
||||
# ─────────────────────────────────────────────
|
||||
# 步骤 1: 检查 / 安装 Node 22+
|
||||
# ─────────────────────────────────────────────
|
||||
info "正在检查 Node.js 版本..."
|
||||
|
||||
install_node() {
|
||||
# 检查是否安装了 Homebrew
|
||||
if ! command -v brew &>/dev/null; then
|
||||
info "未找到 Homebrew,正在安装 Homebrew..."
|
||||
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||||
|
||||
# 为 Apple Silicon 添加 Homebrew 到 PATH
|
||||
if [[ -f /opt/homebrew/bin/brew ]]; then
|
||||
eval "$(/opt/homebrew/bin/brew shellenv)"
|
||||
elif [[ -f /usr/local/bin/brew ]]; then
|
||||
eval "$(/usr/local/bin/brew shellenv)"
|
||||
fi
|
||||
success "Homebrew 安装完成。"
|
||||
else
|
||||
success "已找到 Homebrew。"
|
||||
fi
|
||||
|
||||
info "正在通过 Homebrew 安装 Node.js 22..."
|
||||
brew install node@22
|
||||
brew link --overwrite node@22 2>/dev/null || true
|
||||
success "Node.js 22 安装完成。"
|
||||
}
|
||||
|
||||
if command -v node &>/dev/null; then
|
||||
NODE_VERSION=$(node -v | sed 's/v//' | cut -d. -f1)
|
||||
if [[ "$NODE_VERSION" -ge 22 ]]; then
|
||||
success "已找到 Node.js v$(node -v | sed 's/v//') (>= 22)。"
|
||||
else
|
||||
warn "已找到 Node.js v$(node -v | sed 's/v//'),但需要 >= 22。"
|
||||
install_node
|
||||
fi
|
||||
else
|
||||
warn "未找到 Node.js。"
|
||||
install_node
|
||||
fi
|
||||
|
||||
# ─────────────────────────────────────────────
|
||||
# 步骤 2: 安装 OpenClaw
|
||||
# ─────────────────────────────────────────────
|
||||
info "正在安装 OpenClaw..."
|
||||
|
||||
if command -v openclaw &>/dev/null; then
|
||||
success "OpenClaw 已安装。"
|
||||
else
|
||||
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --no-onboard
|
||||
success "OpenClaw 安装完成。"
|
||||
fi
|
||||
|
||||
# 确保 openclaw 在 PATH 中
|
||||
export PATH="$HOME/.openclaw/bin:$PATH"
|
||||
|
||||
if ! command -v openclaw &>/dev/null; then
|
||||
error "OpenClaw 安装失败 — 在 PATH 中找不到 'openclaw'。请尝试重启终端后再次运行此脚本。"
|
||||
fi
|
||||
|
||||
# ─────────────────────────────────────────────
|
||||
# 步骤 3: 启动交互式配置
|
||||
# ─────────────────────────────────────────────
|
||||
echo ""
|
||||
echo -e "${GREEN}${BOLD}========================================${NC}"
|
||||
echo -e "${GREEN}${BOLD} OpenClaw 安装完成!开始配置...${NC}"
|
||||
echo -e "${GREEN}${BOLD}========================================${NC}"
|
||||
echo ""
|
||||
echo -e " ${BOLD}提示:${NC}当配置向导要求选择服务商时,"
|
||||
echo -e " 选择 ${BOLD}MiniMax${NC} 可获得 ${BOLD}7天免费试用${NC} — 无需信用卡。"
|
||||
echo -e " 注册地址:${BLUE}https://platform.minimax.io${NC}"
|
||||
echo ""
|
||||
|
||||
openclaw onboard --accept-risk --flow quickstart --node-manager npm --skip-skills
|
||||
|
||||
echo ""
|
||||
echo -e "${GREEN}${BOLD}========================================${NC}"
|
||||
echo -e "${GREEN}${BOLD} 配置完成!${NC}"
|
||||
echo -e "${GREEN}${BOLD}========================================${NC}"
|
||||
echo ""
|
||||
echo -e " ${BOLD}接下来:${NC}"
|
||||
echo -e " 1. 开始使用 OpenClaw:${BLUE}openclaw${NC}"
|
||||
echo -e " 2. 添加技能(可选):${BLUE}openclaw configure --section skills${NC}"
|
||||
echo -e " 3. 浏览可用技能:${BLUE}openclaw skills${NC}"
|
||||
echo ""
|
||||
Reference in New Issue
Block a user