sharween commited on
Commit
0757bb8
·
verified ·
1 Parent(s): cb43d5c

Update start-openclaw.sh

Browse files
Files changed (1) hide show
  1. start-openclaw.sh +41 -20
start-openclaw.sh CHANGED
@@ -2,21 +2,47 @@
2
  set -e
3
 
4
  # -------------------------------------------------
5
- # 1️⃣ 目录准备
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6
  # -------------------------------------------------
7
  mkdir -p /root/.openclaw/agents/main/sessions
8
  mkdir -p /root/.openclaw/credentials
9
  mkdir -p /root/.openclaw/sessions
10
  mkdir -p /root/.openclaw/config/plugins.entries
11
- mkdir -p /root/.openclaw/openclaw-weixin/accounts # 确保 accounts 目录存在
12
-
13
- # -------------------------------------------------
14
- # 2️⃣ 恢复历史备份(如果有)
15
- # -------------------------------------------------
16
- python3 /app/sync.py restore || true # 若没有备份则不报错
17
 
18
  # -------------------------------------------------
19
- # 3️⃣ 处理 OpenAI API 地址(保持原有逻辑)
20
  # -------------------------------------------------
21
  CLEAN_BASE=$(echo "$OPENAI_API_BASE" \
22
  | sed "s|/chat/completions||g" \
@@ -24,7 +50,7 @@ CLEAN_BASE=$(echo "$OPENAI_API_BASE" \
24
  | sed "s|/v1$|/v1|g")
25
 
26
  # -------------------------------------------------
27
- # 4️⃣ 生成 OpenClaw 主配置文件
28
  # -------------------------------------------------
29
  cat > /root/.openclaw/openclaw.json <<EOF
30
  {
@@ -58,26 +84,21 @@ cat > /root/.openclaw/openclaw.json <<EOF
58
  }
59
  EOF
60
 
61
-
62
  # -------------------------------------------------
63
- # 6️⃣ 只在第一次启动时安装微信插件后续启动不再执行
64
  # -------------------------------------------------
65
- npx -y @tencent-weixin/openclaw-weixin-cli@latest install --no-restart || true
66
 
67
  # -------------------------------------------------
68
- # 7️⃣ 启动定时备份(每 1 小时一次
69
  # -------------------------------------------------
70
  ( while true; do
71
  sleep 3600
72
- python3 /app/sync.py backup
 
73
  done ) &
74
 
75
  # -------------------------------------------------
76
- # 8️⃣(建议)去掉 doctor --fix防止 token 被删除
77
- # -------------------------------------------------
78
- # openclaw doctor --fix # 如需自检请手动执行此行
79
-
80
- # -------------------------------------------------
81
- # 9️⃣ 启动网关(前台运行,确保容器不会退出)
82
  # -------------------------------------------------
83
  exec openclaw gateway run --port $PORT
 
2
  set -e
3
 
4
  # -------------------------------------------------
5
+ # 0️⃣ 环境变量(HuggingFace 数据集 ID 与 token)必须已设
6
+ # -------------------------------------------------
7
+ REPO_ID="${HF_DATASET}"
8
+ HF_TOKEN="${HF_TOKEN}"
9
+ BACKUP_FILE="latest_backup.tar.gz"
10
+
11
+ # -------------------------------------------------
12
+ # 1️⃣ 若存在备份,先恢复整个 .openclaw(包括微信 accounts)
13
+ # -------------------------------------------------
14
+ if [[ -n "$REPO_ID" && -n "$HF_TOKEN" ]]; then
15
+ echo "🔁 正在从 HuggingFace 下载并恢复备份 …"
16
+ python3 /app/restore_weixin.py restore # 运行您提供的脚本(restore)
17
+ else
18
+ echo "⚠️ HF_DATASET/HF_TOKEN 未设,跳过远端恢复"
19
+ fi
20
+
21
+ # -------------------------------------------------
22
+ # 2️⃣ 确保微信 accounts 目录已存在(恢复后会自动出现)
23
+ # -------------------------------------------------
24
+ mkdir -p /root/.openclaw/openclaw-weixin/accounts
25
+
26
+ # -------------------------------------------------
27
+ # 3️⃣ 只在第一次启动时安装微信插件(后续不再执行)
28
+ # -------------------------------------------------
29
+ if [[ ! -d /root/.openclaw/openclaw-weixin/accounts || -z "$(ls -A /root/.openclaw/openclaw-weixin/accounts)" ]]; then
30
+ echo "📦 首次安装微信插件 …"
31
+ npx -y @tencent-weixin/openclaw-weixin-cli@latest install --no-restart || true
32
+ else
33
+ echo "✅ 微信插件已存在,跳过 reinstall"
34
+ fi
35
+
36
+ # -------------------------------------------------
37
+ # 4️⃣ 目录准备(保持原有结构)
38
  # -------------------------------------------------
39
  mkdir -p /root/.openclaw/agents/main/sessions
40
  mkdir -p /root/.openclaw/credentials
41
  mkdir -p /root/.openclaw/sessions
42
  mkdir -p /root/.openclaw/config/plugins.entries
 
 
 
 
 
 
43
 
44
  # -------------------------------------------------
45
+ # 5️⃣ 处理 OpenAI API 地址(保持原有逻辑)
46
  # -------------------------------------------------
47
  CLEAN_BASE=$(echo "$OPENAI_API_BASE" \
48
  | sed "s|/chat/completions||g" \
 
50
  | sed "s|/v1$|/v1|g")
51
 
52
  # -------------------------------------------------
53
+ # 6️⃣ 生成 OpenClaw 主配置文件
54
  # -------------------------------------------------
55
  cat > /root/.openclaw/openclaw.json <<EOF
56
  {
 
84
  }
85
  EOF
86
 
 
87
  # -------------------------------------------------
88
+ # 7️⃣ (建议去掉 doctor --fix,防止 token 被删除
89
  # -------------------------------------------------
90
+ # openclaw doctor --fix # 如需自检请手动执行
91
 
92
  # -------------------------------------------------
93
+ # 8️⃣ 启动定时备份(每 1 小时)并同步到 HuggingFace
94
  # -------------------------------------------------
95
  ( while true; do
96
  sleep 3600
97
+ echo "🗄️ 执行周期备份 …"
98
+ python3 /app/restore_weixin.py backup # 运行您提供的同一脚本(backup)
99
  done ) &
100
 
101
  # -------------------------------------------------
102
+ # 9️⃣ 启动网关(前台运行确保在恢复后启动)
 
 
 
 
 
103
  # -------------------------------------------------
104
  exec openclaw gateway run --port $PORT