sharween commited on
Commit
f64dbae
·
verified ·
1 Parent(s): 7ca3375

Update start-openclaw.sh

Browse files
Files changed (1) hide show
  1. start-openclaw.sh +43 -13
start-openclaw.sh CHANGED
@@ -49,33 +49,63 @@ python3 /app/sync.py restore
49
  # 3. 处理 API 地址
50
  CLEAN_BASE=$(echo "$OPENAI_API_BASE" | sed "s|/chat/completions||g" | sed "s|/v1/|/v1|g" | sed "s|/v1$|/v1|g")
51
 
 
 
52
 
 
 
 
53
 
 
 
 
 
54
 
55
- echo "✅ 基础配置文生成完成"
 
56
 
57
- # ==================== 微信插激活(当前最优方案) ====================
58
- echo "🔄 微信 ClawBot 激活流程..."
 
 
 
 
 
 
 
59
 
60
- WEIXIN_DIR="/root/.openclaw/openclaw-weixin/accounts"
 
 
 
 
61
 
62
- if [[ -d "$WEIXIN_DIR" && -n "$(ls -A "$WEIXIN_DIR" 2>/dev/null)" ]]; then
63
- echo " 检测到备份的微信账户文件 执行快速重新注册(仍可能需要扫码)"
64
-
65
 
66
- # 启用插件和 channel
67
  #openclaw plugins install "@tencent-weixin/openclaw-weixin" --silent || true
68
- #openclaw config set plugins.entries.openclaw-weixin.enabled true || true
69
- #openclaw channels enable openclaw-weixin 2>/dev/null || true
 
 
 
70
 
71
- else
72
- echo "📦 首次安装微信插件(需要扫码)..."
 
 
73
  npx -y @tencent-weixin/openclaw-weixin-cli@latest install
74
  fi
75
 
76
- echo "✅ 微信插件激活完成"
77
  # ============================================================
78
 
 
 
 
 
79
  # 5. 启动定时备份 (每 1 小时)
80
  (while true; do sleep 3600; python3 /app/sync.py backup; done) &
81
 
 
49
  # 3. 处理 API 地址
50
  CLEAN_BASE=$(echo "$OPENAI_API_BASE" | sed "s|/chat/completions||g" | sed "s|/v1/|/v1|g" | sed "s|/v1$|/v1|g")
51
 
52
+ # ==================== 微信插件激活(三重严格检查版) ====================
53
+ echo "🔄 微信 ClawBot 激活流程..."
54
 
55
+ WEIXIN_DIR="/root/.openclaw/openclaw-weixin"
56
+ ACCOUNTS_DIR="${WEIXIN_DIR}/accounts"
57
+ CONFIG_FILE="/root/.openclaw/openclaw.json"
58
 
59
+ # 初始化三个检查条件
60
+ HAS_SRC=false
61
+ HAS_ACCOUNTS=false
62
+ HAS_CHANNEL_CONFIG=false
63
 
64
+ # 检查1:插源代码是否存在
65
+ [[ -d "${WEIXIN_DIR}/src" ]] && HAS_SRC=true
66
 
67
+ # 检查2:登录账户文夹是否存在且不为空
68
+ [[ -d "$ACCOUNTS_DIR" && -n "$(ls -A "$ACCOUNTS_DIR" 2>/dev/null)" ]] && HAS_ACCOUNTS=true
69
+
70
+ # 检查3:openclaw.json 中是否有微信通道配置
71
+ if [[ -f "$CONFIG_FILE" ]]; then
72
+ if grep -q "openclaw-weixin" "$CONFIG_FILE"; then
73
+ HAS_CHANNEL_CONFIG=true
74
+ fi
75
+ fi
76
 
77
+ # 输出检查结果(方便调试)
78
+ echo "检查结果:"
79
+ echo " - 插件代码 (src) : ${HAS_SRC}"
80
+ echo " - 登录账户 (accounts) : ${HAS_ACCOUNTS}"
81
+ echo " - 配置通道 (openclaw.json): ${HAS_CHANNEL_CONFIG}"
82
 
83
+ # 核心判断逻辑
84
+ if [[ "$HAS_SRC" == true && "$HAS_ACCOUNTS" == true && "$HAS_CHANNEL_CONFIG" == true ]]; then
85
+ echo "✅ 三个条件全部满足 → 执行快速激活(尽量不扫码)"
86
 
87
+ # 只做轻量启用,不重新安装
88
  #openclaw plugins install "@tencent-weixin/openclaw-weixin" --silent || true
89
+ openclaw config set plugins.entries.openclaw-weixin.enabled true || true
90
+ openclaw channels enable openclaw-weixin 2>/dev/null || true
91
+
92
+ else
93
+ echo "⚠️ 三个条件未全部满足 → 执行完整重新安装(可能需要扫码)..."
94
 
95
+ # 先清理旧残留(防止残留导致问题)
96
+ rm -rf "${WEIXIN_DIR}" 2>/dev/null || true
97
+
98
+ # 执行完整安装
99
  npx -y @tencent-weixin/openclaw-weixin-cli@latest install
100
  fi
101
 
102
+ echo "✅ 微信插件激活流程完成"
103
  # ============================================================
104
 
105
+
106
+
107
+
108
+
109
  # 5. 启动定时备份 (每 1 小时)
110
  (while true; do sleep 3600; python3 /app/sync.py backup; done) &
111