#!/bin/bash # 安装微信适配器为系统服务(需要先完成扫码登录) set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_DIR="$(dirname "$SCRIPT_DIR")" SERVICE_NAME="weixin-nanobot-adapter" SERVICE_FILE="/etc/systemd/system/${SERVICE_NAME}.service" echo "📱 安装微信适配器系统服务" echo " 项目目录: $PROJECT_DIR" echo "" # 检查权限 if [ "$EUID" -ne 0 ]; then echo "❌ 请使用 sudo 运行此脚本" exit 1 fi # 获取服务器IP SERVER_IP=$(curl -s ifconfig.me) BRIDGE_URL="http://${SERVER_IP}:5000/chat" echo "📝 创建服务文件..." cat > "$SERVICE_FILE" << EOF [Unit] Description=WeChat-Nanobot Adapter Service After=weixin-nanobot-bridge.service Wants=weixin-nanobot-bridge.service [Service] Type=simple User=ubuntu Group=ubuntu WorkingDirectory=$PROJECT_DIR Environment="HOME=/home/ubuntu" Environment="PATH=/usr/local/bin:/usr/bin:/bin" Environment="NANOBOT_BRIDGE_URL=$BRIDGE_URL" # 启动命令 ExecStart=/usr/bin/node $PROJECT_DIR/weixin-bridge.js # 重启策略 Restart=always RestartSec=30 StartLimitInterval=300s StartLimitBurst=5 # 日志 StandardOutput=append:$PROJECT_DIR/logs/weixin-adapter.log StandardError=append:$PROJECT_DIR/logs/weixin-adapter-error.log [Install] WantedBy=multi-user.target EOF echo "✅ 服务文件已创建: $SERVICE_FILE" echo " 桥接地址: $BRIDGE_URL" # 重载 systemd systemctl daemon-reload # 启用开机自启 systemctl enable "$SERVICE_NAME" echo "" echo "⚠️ 重要提示:" echo " 微信服务需要先完成一次扫码登录才能自动运行" echo " 请先手动运行一次: node weixin-bridge.js" echo " 完成扫码登录后,再启动此服务" echo "" echo "管理命令:" echo " 启动: sudo systemctl start $SERVICE_NAME" echo " 停止: sudo systemctl stop $SERVICE_NAME" echo " 重启: sudo systemctl restart $SERVICE_NAME" echo " 状态: sudo systemctl status $SERVICE_NAME"