Ctrl K
ComunidadGuías…

install-and-run.sh

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
#!/bin/bash

# 设置中文环境
export LC_ALL=zh_CN.UTF-8
export LANG=zh_CN.UTF-8

echo "========================================"
echo "  AI Client 2 API 快速安装启动脚本"
echo "========================================"
echo

# 处理参数
FORCE_PULL=0

for arg in "$@"; do
    if [ "$arg" == "--pull" ]; then
        FORCE_PULL=1
    fi
done

# 检查Git并尝试pull
if [ $FORCE_PULL -eq 1 ]; then
    echo "[更新] 正在从远程仓库拉取最新代码..."
    if command -v git > /dev/null 2>&1; then
        git pull
        if [ $? -ne 0 ]; then
            echo "[警告] Git pull 失败,请检查网络或手动处理冲突。"
        else
            echo "[成功] 代码已更新。"
        fi
    else
        echo "[警告] 未检测到 Git,跳过代码拉取。"
    fi
fi

# 检查Node.js是否已安装
echo "[检查] 正在检查Node.js是否已安装..."
node --version > /dev/null 2>&1
if [ $? -ne 0 ]; then
    echo "[错误] 未检测到Node.js,请先安装Node.js"
    echo "下载地址:https://nodejs.org/"
    echo "提示:推荐安装LTS版本"
    exit 1
fi

# 获取Node.js版本
NODE_VERSION=$(node --version 2>/dev/null)
echo "[成功] Node.js已安装,版本: $NODE_VERSION"

# 检查npm是否可用
echo "[检查] 正在检查npm是否可用..."
npm --version > /dev/null 2>&1
if [ $? -ne 0 ]; then
    echo "[错误] npm不可用,请重新安装Node.js"
    exit 1
fi

# 检查package.json是否存在
if [ ! -f "package.json" ]; then
    echo "[错误] 未找到package.json文件"
    echo "请确保在项目根目录下运行此脚本"
    exit 1
fi

echo "[成功] 找到package.json文件"

# 检查 pnpm 是否安装
if command -v pnpm > /dev/null 2>&1; then
    PKG_MANAGER=pnpm
else
    PKG_MANAGER=npm
fi

echo "[安装] 正在使用 $PKG_MANAGER 安装/更新依赖..."
echo "这可能需要几分钟时间,请耐心等待..."
echo "正在执行: $PKG_MANAGER install..."

$PKG_MANAGER install
if [ $? -ne 0 ]; then
    echo "[错误] 依赖安装失败"
    echo "请检查网络连接或手动运行 '$PKG_MANAGER install'"
    exit 1
fi
echo "[成功] 依赖安装/更新完成"

# 检查src目录和master.js是否存在
if [ ! -f "src/core/master.js" ]; then
    echo "[错误] 未找到src/core/master.js文件"
    exit 1
fi

echo "[成功] 项目文件检查完成"

# 启动应用程序
echo
echo "========================================"
echo "  启动AIClient2API服务器..."
echo "========================================"
echo
echo "服务器将在 http://localhost:3000 启动"
echo "访问 http://localhost:3000 查看管理界面"
echo "按 Ctrl+C 停止服务器"
if [ ! -s "configs/pwd" ]; then
    echo
    echo "[重要] 检测到首次部署,启动后请在下方日志中保存随机生成的管理员密码:"
    echo "       [Auth] Initial admin password: ..."
fi
echo

# 启动服务器
node src/core/master.js