2026-07-04 23:13:33 +08:00
|
|
|
|
#!/bin/bash
|
|
|
|
|
|
# 一键安装脚本
|
|
|
|
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
|
|
|
|
|
|
|
echo "🚀 Web Capture API 安装脚本"
|
|
|
|
|
|
echo "================================"
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
|
|
|
|
# 检测系统
|
|
|
|
|
|
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
|
|
|
|
|
|
OS="linux"
|
|
|
|
|
|
elif [[ "$OSTYPE" == "darwin"* ]]; then
|
|
|
|
|
|
OS="macos"
|
|
|
|
|
|
else
|
|
|
|
|
|
echo "❌ 不支持的操作系统: $OSTYPE"
|
|
|
|
|
|
exit 1
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
echo "📋 系统检测: $OS"
|
|
|
|
|
|
|
|
|
|
|
|
# 检查 Python
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
echo "📦 检查 Python..."
|
|
|
|
|
|
if command -v python3.12 &> /dev/null; then
|
|
|
|
|
|
PYTHON=python3.12
|
|
|
|
|
|
elif command -v python3 &> /dev/null; then
|
|
|
|
|
|
PYTHON=python3
|
|
|
|
|
|
else
|
|
|
|
|
|
echo "❌ 未找到 Python 3,请先安装 Python 3.10+"
|
|
|
|
|
|
exit 1
|
|
|
|
|
|
fi
|
|
|
|
|
|
echo "✅ 找到 Python: $($PYTHON --version)"
|
|
|
|
|
|
|
|
|
|
|
|
# 检查 pip
|
|
|
|
|
|
if ! $PYTHON -m pip --version &> /dev/null; then
|
|
|
|
|
|
echo "❌ 未找到 pip,请先安装 pip"
|
|
|
|
|
|
exit 1
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
# 检查 Node.js (用于 agent-browser)
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
echo "📦 检查 Node.js..."
|
|
|
|
|
|
if command -v node &> /dev/null; then
|
|
|
|
|
|
NODE_VERSION=$(node --version)
|
|
|
|
|
|
echo "✅ 找到 Node.js: $NODE_VERSION"
|
|
|
|
|
|
HAS_NODE=true
|
|
|
|
|
|
else
|
|
|
|
|
|
echo "⚠️ 未找到 Node.js,将跳过 agent-browser 安装"
|
|
|
|
|
|
HAS_NODE=false
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
# 安装 Python 依赖
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
echo "📥 安装 Python 依赖..."
|
|
|
|
|
|
$PYTHON -m pip install --user playwright flask flask-cors gunicorn
|
|
|
|
|
|
|
|
|
|
|
|
# 询问使用哪个后端
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
echo "🔧 选择浏览器后端:"
|
|
|
|
|
|
echo " 1) Playwright (推荐,自动安装浏览器)"
|
|
|
|
|
|
echo " 2) agent-browser (高性能,需要手动安装浏览器依赖)"
|
|
|
|
|
|
read -p "请选择 [1/2]: " choice
|
|
|
|
|
|
|
|
|
|
|
|
case $choice in
|
|
|
|
|
|
1)
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
echo "🌐 安装 Playwright 浏览器..."
|
|
|
|
|
|
$PYTHON -m playwright install chromium
|
|
|
|
|
|
|
|
|
|
|
|
if [ "$OS" == "linux" ]; then
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
echo "⚠️ 如果浏览器启动失败,可能需要安装系统依赖:"
|
|
|
|
|
|
echo " $PYTHON -m playwright install-deps chromium"
|
|
|
|
|
|
fi
|
|
|
|
|
|
;;
|
|
|
|
|
|
2)
|
|
|
|
|
|
if [ "$HAS_NODE" = false ]; then
|
|
|
|
|
|
echo "❌ 安装 agent-browser 需要 Node.js"
|
|
|
|
|
|
exit 1
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
echo "🌐 安装 agent-browser..."
|
|
|
|
|
|
npm install -g agent-browser
|
|
|
|
|
|
|
|
|
|
|
|
if [ "$OS" == "linux" ]; then
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
echo "⚠️ agent-browser 需要浏览器依赖,请运行:"
|
|
|
|
|
|
echo " agent-browser install --with-deps"
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
echo "如果需要 sudo 权限,请运行:"
|
|
|
|
|
|
echo " sudo agent-browser install --with-deps"
|
|
|
|
|
|
else
|
|
|
|
|
|
agent-browser install
|
|
|
|
|
|
fi
|
|
|
|
|
|
;;
|
|
|
|
|
|
*)
|
|
|
|
|
|
echo "❌ 无效选择"
|
|
|
|
|
|
exit 1
|
|
|
|
|
|
;;
|
|
|
|
|
|
esac
|
|
|
|
|
|
|
|
|
|
|
|
# 完成
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
echo "✅ 安装完成!"
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
echo "🚀 启动服务:"
|
|
|
|
|
|
echo " cd $(pwd)"
|
|
|
|
|
|
echo " $PYTHON app.py"
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
echo "📖 访问地址:"
|
2026-07-07 13:23:36 +08:00
|
|
|
|
echo " http://localhost:16025"
|
2026-07-04 23:13:33 +08:00
|
|
|
|
echo ""
|
|
|
|
|
|
echo "📚 API 文档:"
|
2026-07-07 13:23:36 +08:00
|
|
|
|
echo " http://localhost:16025/api"
|