sharween commited on
Commit
2ae12c9
·
verified ·
1 Parent(s): 06df3d2

Update start-openclaw.sh

Browse files
Files changed (1) hide show
  1. start-openclaw.sh +61 -42
start-openclaw.sh CHANGED
@@ -2,12 +2,30 @@
2
 
3
  set -e
4
 
5
- # 1. 补全目录
 
 
 
 
6
  mkdir -p /root/.openclaw/agents/main/sessions
7
  mkdir -p /root/.openclaw/credentials
8
  mkdir -p /root/.openclaw/sessions
9
 
10
- # 4. 配置文件
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
  cat > /root/.openclaw/openclaw.json <<EOF
12
  {
13
  "models": {
@@ -22,7 +40,11 @@ cat > /root/.openclaw/openclaw.json <<EOF
22
  }
23
  }
24
  },
25
- "agents": { "defaults": { "model": { "primary": "nvidia/$MODEL" } } },
 
 
 
 
26
  "commands": {
27
  "restart": true
28
  },
@@ -37,66 +59,57 @@ cat > /root/.openclaw/openclaw.json <<EOF
37
  "allowInsecureAuth": true,
38
  "dangerouslyDisableDeviceAuth": true,
39
  "dangerouslyAllowHostHeaderOriginFallback": true
40
- },
41
  }
42
  }
43
  EOF
44
 
45
- # 2. 执行恢复
46
- python3 /app/sync.py restore
47
-
48
-
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
- # 4. 生成配置文件
99
- cat > /root/.openclaw/openclaw.json <<EOF
100
  {
101
  "models": {
102
  "providers": {
@@ -110,7 +123,11 @@ cat > /root/.openclaw/openclaw.json <<EOF
110
  }
111
  }
112
  },
113
- "agents": { "defaults": { "model": { "primary": "nvidia/$MODEL" } } },
 
 
 
 
114
  "commands": {
115
  "restart": true
116
  },
@@ -125,7 +142,7 @@ cat > /root/.openclaw/openclaw.json <<EOF
125
  "allowInsecureAuth": true,
126
  "dangerouslyDisableDeviceAuth": true,
127
  "dangerouslyAllowHostHeaderOriginFallback": true
128
- },
129
  }
130
  }
131
  EOF
@@ -135,16 +152,18 @@ EOF
135
  fi
136
 
137
  echo "✅ 微信插件激活流程完成"
138
- # ============================================================
139
-
140
-
141
-
142
-
143
-
144
- # 5. 启动定时备份 (每 1 小时)
145
- (while true; do sleep 3600; python3 /app/sync.py backup; done) &
146
-
147
- # 6. 运行
148
- #openclaw doctor --fix
149
 
 
 
 
 
 
 
 
 
 
 
 
 
 
150
  exec openclaw gateway run --port $PORT
 
2
 
3
  set -e
4
 
5
+ echo "🚀 Starting OpenClaw with WeChat ClawBot..."
6
+
7
+ # ================================================
8
+ # 1. 补全必要目录
9
+ # ================================================
10
  mkdir -p /root/.openclaw/agents/main/sessions
11
  mkdir -p /root/.openclaw/credentials
12
  mkdir -p /root/.openclaw/sessions
13
 
14
+ echo "✅ 目录创建完"
15
+
16
+ # ================================================
17
+ # 2. 执行备份恢复
18
+ # ================================================
19
+ python3 /app/sync.py restore
20
+
21
+ # ================================================
22
+ # 3. 处理 API 地址
23
+ # ================================================
24
+ CLEAN_BASE=$(echo "$OPENAI_API_BASE" | sed "s|/chat/completions||g" | sed "s|/v1/|/v1|g" | sed "s|/v1$|/v1|g")
25
+
26
+ # ================================================
27
+ # 4. 生成基础配置文件
28
+ # ================================================
29
  cat > /root/.openclaw/openclaw.json <<EOF
30
  {
31
  "models": {
 
40
  }
41
  }
42
  },
43
+ "agents": {
44
+ "defaults": {
45
+ "model": { "primary": "nvidia/$MODEL" }
46
+ }
47
+ },
48
  "commands": {
49
  "restart": true
50
  },
 
59
  "allowInsecureAuth": true,
60
  "dangerouslyDisableDeviceAuth": true,
61
  "dangerouslyAllowHostHeaderOriginFallback": true
62
+ }
63
  }
64
  }
65
  EOF
66
 
67
+ echo "✅ 基础配置文件生成完成"
 
 
 
 
 
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
+ # 轻量启用
 
102
  openclaw config set plugins.entries.openclaw-weixin.enabled true || true
103
  openclaw channels enable openclaw-weixin 2>/dev/null || true
104
 
105
  else
106
+ echo "⚠️ 个条件未全部满足 → 执行完整重新安装(可能需要扫码)..."
107
 
108
+ # 清理旧残留
109
  rm -rf "${WEIXIN_DIR}" 2>/dev/null || true
110
+
111
+ # 重新生成基础配置文件
112
+ cat > /root/.openclaw/openclaw.json <<EOF
113
  {
114
  "models": {
115
  "providers": {
 
123
  }
124
  }
125
  },
126
+ "agents": {
127
+ "defaults": {
128
+ "model": { "primary": "nvidia/$MODEL" }
129
+ }
130
+ },
131
  "commands": {
132
  "restart": true
133
  },
 
142
  "allowInsecureAuth": true,
143
  "dangerouslyDisableDeviceAuth": true,
144
  "dangerouslyAllowHostHeaderOriginFallback": true
145
+ }
146
  }
147
  }
148
  EOF
 
152
  fi
153
 
154
  echo "✅ 微信插件激活流程完成"
 
 
 
 
 
 
 
 
 
 
 
155
 
156
+ # ================================================
157
+ # 6. 启动定时备份(每1小时一次)
158
+ # ================================================
159
+ echo "⏰ 启动定时备份任务(每1小时)..."
160
+ (while true; do
161
+ sleep 3600;
162
+ python3 /app/sync.py backup;
163
+ done) &
164
+
165
+ # ================================================
166
+ # 7. 启动 OpenClaw Gateway
167
+ # ================================================
168
+ echo "🌟 启动 OpenClaw Gateway..."
169
  exec openclaw gateway run --port $PORT