sharween commited on
Commit
a71898b
·
verified ·
1 Parent(s): b531f74

Update start-openclaw.sh

Browse files
Files changed (1) hide show
  1. start-openclaw.sh +20 -26
start-openclaw.sh CHANGED
@@ -67,44 +67,45 @@ echo "✅ 基础配置文件生成完成"
67
  python3 /app/sync.py restore
68
 
69
  # ================================================
70
- # 5. 微信插件激活(双重检查版 - 不检查 src
71
  # ================================================
72
  echo "🔄 微信 ClawBot 激活流程..."
73
 
74
- WEIXIN_DIR="/root/.openclaw/openclaw-weixin"
75
- ACCOUNTS_DIR="${WEIXIN_DIR}/accounts"
76
  CONFIG_FILE="/root/.openclaw/openclaw.json"
77
 
78
- # 初始化两个检查条件
79
  HAS_ACCOUNTS=false
80
  HAS_CHANNEL_CONFIG=false
81
 
82
- # 检查1:登录账户文夹是否存在且不为空
83
- [[ -d "$ACCOUNTS_DIR" && -n "$(ls -A "$ACCOUNTS_DIR" 2>/dev/null)" ]] && HAS_ACCOUNTS=true
 
 
84
 
85
- # 检查2:openclaw.json 是否有微信通道配置
86
  if [[ -f "$CONFIG_FILE" ]]; then
87
  if grep -q "openclaw-weixin" "$CONFIG_FILE"; then
88
  HAS_CHANNEL_CONFIG=true
89
  fi
90
  fi
91
 
92
- # 输出检查结果
93
  echo "检查结果:"
94
- echo " - 登录账户 (accounts) : ${HAS_ACCOUNTS}"
95
- echo " - 配置通道 (openclaw.json): ${HAS_CHANNEL_CONFIG}"
96
 
97
  # 核心判断逻辑
98
  if [[ "$HAS_ACCOUNTS" == true && "$HAS_CHANNEL_CONFIG" == true ]]; then
99
- echo "✅ 两个条件全部满足 → 执行快速激活(尽量不扫码)"
100
 
101
  openclaw config set plugins.entries.openclaw-weixin.enabled true || true
102
  openclaw channels enable openclaw-weixin 2>/dev/null || true
103
  else
104
- echo "⚠️ 两个条件未全部满足 → 执行完整重新安装(可能需要扫码)..."
105
 
106
- # 清理残留
107
- rm -rf "${WEIXIN_DIR}" 2>/dev/null || true
108
 
109
  # 重新生成基础配置文件
110
  cat > /root/.openclaw/openclaw.json <<EOF
@@ -145,33 +146,26 @@ else
145
  }
146
  EOF
147
 
148
- # 执行完整安装
149
  npx -y @tencent-weixin/openclaw-weixin-cli@latest install
150
  fi
151
 
152
  echo "✅ 微信插件激活流程完成"
153
 
154
  # ================================================
155
- # 6. 创建独立微信 Agent 并绑定(与主会话隔离)
156
  # ================================================
157
- echo "🔧 创建独立微信 Agent 并绑定通道(实现与主会话隔离)..."
158
 
159
- # 创建独立 Agent(如果不存在)
160
  openclaw agents add wechat-agent --workspace /root/.openclaw/agents/wechat-agent --non-interactive || true
161
-
162
- # 设置 Agent 使用当前模型
163
  openclaw config set agents.registered.wechat-agent.model.primary "nvidia/$MODEL" || true
164
-
165
- # 将微信通道绑定到独立 Agent(关键)
166
  openclaw agents bind --agent wechat-agent --bind openclaw-weixin || true
167
-
168
- # 设置微信通道默认使用该 Agent
169
  openclaw config set channels.openclaw-weixin.defaultAgent "wechat-agent" || true
170
 
171
- echo "✅ 微信已成功绑定到独立 Agent (wechat-agent),消息将不再进入主会话"
172
 
173
  # ================================================
174
- # 7. 启动定时备份(每1小时一次)
175
  # ================================================
176
  echo "⏰ 启动定时备份任务(每1小时)..."
177
  (while true; do
 
67
  python3 /app/sync.py restore
68
 
69
  # ================================================
70
+ # 5. 微信插件激活(加强检查版 - 适应已删除插件的情况
71
  # ================================================
72
  echo "🔄 微信 ClawBot 激活流程..."
73
 
74
+ WEIXIN_PLUGIN_DIR="/root/.openclaw/openclaw-weixin"
75
+ ACCOUNTS_DIR="${WEIXIN_PLUGIN_DIR}/accounts"
76
  CONFIG_FILE="/root/.openclaw/openclaw.json"
77
 
78
+ # 更严格的检查:必须同时满足以下两个条件才算“插件正常”
79
  HAS_ACCOUNTS=false
80
  HAS_CHANNEL_CONFIG=false
81
 
82
+ # 检查1:主目录 + accounts 都存在且不为空
83
+ if [[ -d "${WEIXIN_PLUGIN_DIR}" && -d "$ACCOUNTS_DIR" && -n "$(ls -A "$ACCOUNTS_DIR" 2>/dev/null)" ]]; then
84
+ HAS_ACCOUNTS=true
85
+ fi
86
 
87
+ # 检查2:配置文件中有微信通道
88
  if [[ -f "$CONFIG_FILE" ]]; then
89
  if grep -q "openclaw-weixin" "$CONFIG_FILE"; then
90
  HAS_CHANNEL_CONFIG=true
91
  fi
92
  fi
93
 
 
94
  echo "检查结果:"
95
+ echo " - 插件目录 + 登录账户 : ${HAS_ACCOUNTS}"
96
+ echo " - 配置通道 (json) : ${HAS_CHANNEL_CONFIG}"
97
 
98
  # 核心判断逻辑
99
  if [[ "$HAS_ACCOUNTS" == true && "$HAS_CHANNEL_CONFIG" == true ]]; then
100
+ echo "✅ 两个条件全部满足 → 执行快速激活"
101
 
102
  openclaw config set plugins.entries.openclaw-weixin.enabled true || true
103
  openclaw channels enable openclaw-weixin 2>/dev/null || true
104
  else
105
+ echo "⚠️ 件未正确安装或已被删除 → 执行完整重新安装(需要扫码)..."
106
 
107
+ # 彻底清理残留(防止旧文件干扰)
108
+ rm -rf "${WEIXIN_PLUGIN_DIR}" 2>/dev/null || true
109
 
110
  # 重新生成基础配置文件
111
  cat > /root/.openclaw/openclaw.json <<EOF
 
146
  }
147
  EOF
148
 
149
+ # 执行完整安装(会触发扫码)
150
  npx -y @tencent-weixin/openclaw-weixin-cli@latest install
151
  fi
152
 
153
  echo "✅ 微信插件激活流程完成"
154
 
155
  # ================================================
156
+ # 6. 创建独立微信 Agent 并绑定
157
  # ================================================
158
+ echo "🔧 创建独立微信 Agent 并绑定通道(与主会话隔离)..."
159
 
 
160
  openclaw agents add wechat-agent --workspace /root/.openclaw/agents/wechat-agent --non-interactive || true
 
 
161
  openclaw config set agents.registered.wechat-agent.model.primary "nvidia/$MODEL" || true
 
 
162
  openclaw agents bind --agent wechat-agent --bind openclaw-weixin || true
 
 
163
  openclaw config set channels.openclaw-weixin.defaultAgent "wechat-agent" || true
164
 
165
+ echo "✅ 微信已绑定到独立 Agent (wechat-agent)"
166
 
167
  # ================================================
168
+ # 7. 启动定时备份
169
  # ================================================
170
  echo "⏰ 启动定时备份任务(每1小时)..."
171
  (while true; do