sharween commited on
Commit
87feb79
·
verified ·
1 Parent(s): 81c81ae

Update start-openclaw.sh

Browse files
Files changed (1) hide show
  1. start-openclaw.sh +27 -62
start-openclaw.sh CHANGED
@@ -1,59 +1,19 @@
1
- #!/usr/bin/env bash
2
- set -e
3
-
4
- # -----------------------------
5
- # 0️⃣ 环境变量(HF_DATASET/HF_TOKEN)
6
- # -----------------------------
7
- REPO_ID="${HF_DATASET}"
8
- HF_TOKEN="${HF_TOKEN}"
9
- BACKUP_FILE="latest_backup.tar.gz"
10
-
11
- # -----------------------------
12
- # 1️⃣ 远端恢复(如果有)
13
- # -----------------------------
14
- if [[ -n "$REPO_ID" && -n "$HF_TOKEN" ]]; then
15
- echo "🔁 正在从 HuggingFace 下载并恢复备份 …"
16
- python3 /app/sync.py restore # 恢复 .openclaw 全目录,包括 accounts
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/src || -z "$(ls -A /root/.openclaw/openclaw-weixin/src)" ]]; then
30
- echo "📦 首次或重新安装微信插件 …"
31
- npx -y @tencent-weixin/openclaw-weixin-cli@latest install
32
 
33
-
34
- else
35
- echo "✅ 微信插件已存在,跳过 reinstall"
36
- fi
37
 
38
- # -----------------------------
39
- # 4️⃣ 其他目录准备
40
- # -----------------------------
41
  mkdir -p /root/.openclaw/agents/main/sessions
42
  mkdir -p /root/.openclaw/credentials
43
  mkdir -p /root/.openclaw/sessions
44
- mkdir -p /root/.openclaw/config/plugins.entries
45
 
46
- # -----------------------------
47
- # 5️⃣ 处理 OpenAI API 地址
48
- # -----------------------------
49
- CLEAN_BASE=$(echo "$OPENAI_API_BASE" \
50
- | sed "s|/chat/completions||g" \
51
- | sed "s|/v1/|/v1|g" \
52
- | sed "s|/v1$|/v1|g")
53
 
54
- # -----------------------------
55
- # 6️⃣ 生成 openclaw.json
56
- # -----------------------------
57
  cat > /root/.openclaw/openclaw.json <<EOF
58
  {
59
  "models": {
@@ -69,7 +29,9 @@ cat > /root/.openclaw/openclaw.json <<EOF
69
  }
70
  },
71
  "agents": { "defaults": { "model": { "primary": "nvidia/$MODEL" } } },
72
- "commands": { "restart": true },
 
 
73
  "gateway": {
74
  "mode": "local",
75
  "bind": "lan",
@@ -81,22 +43,25 @@ cat > /root/.openclaw/openclaw.json <<EOF
81
  "allowInsecureAuth": true,
82
  "dangerouslyDisableDeviceAuth": true,
83
  "dangerouslyAllowHostHeaderOriginFallback": true
84
- }
85
  }
86
  }
87
  EOF
 
 
 
 
 
 
 
 
 
 
88
 
 
 
89
 
90
- # -----------------------------
91
- # 9️⃣ 定时备份(每小时)并可同步到 HF
92
- # -----------------------------
93
- ( while true; do
94
- sleep 3600
95
- echo "🗄️ 执行周期备份 …"
96
- python3 /app/sync.py backup
97
- done ) &
98
 
99
- # -----------------------------
100
- # 10️⃣ 启动网关
101
- # -----------------------------
102
  exec openclaw gateway run --port $PORT
 
1
+ #!/bin/bash
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ # 2. 执行恢复
11
+ python3 /app/sync.py restore
12
+
13
+ # 3. 处理 API 地址
14
+ CLEAN_BASE=$(echo "$OPENAI_API_BASE" | sed "s|/chat/completions||g" | sed "s|/v1/|/v1|g" | sed "s|/v1$|/v1|g")
 
 
15
 
16
+ # 4. 生成配置文件
 
 
17
  cat > /root/.openclaw/openclaw.json <<EOF
18
  {
19
  "models": {
 
29
  }
30
  },
31
  "agents": { "defaults": { "model": { "primary": "nvidia/$MODEL" } } },
32
+ "commands": {
33
+ "restart": true
34
+ },
35
  "gateway": {
36
  "mode": "local",
37
  "bind": "lan",
 
43
  "allowInsecureAuth": true,
44
  "dangerouslyDisableDeviceAuth": true,
45
  "dangerouslyAllowHostHeaderOriginFallback": true
46
+ },
47
  }
48
  }
49
  EOF
50
+ #安装微信
51
+ if [[ ! -d /root/.openclaw/openclaw-weixin/src || -z "$(ls -A /root/.openclaw/openclaw-weixin/src)" ]]; then
52
+ echo "📦 首次或重新安装微信插件 …"
53
+ npx -y @tencent-weixin/openclaw-weixin-cli@latest install
54
+
55
+
56
+ else
57
+ echo "✅ 微信插件已存在,跳过 reinstall"
58
+ fi
59
+
60
 
61
+ # 5. 启动定时备份 (每 1 小时)
62
+ (while true; do sleep 3600; python3 /app/sync.py backup; done) &
63
 
64
+ # 6. 运行
65
+ #openclaw doctor --fix
 
 
 
 
 
 
66
 
 
 
 
67
  exec openclaw gateway run --port $PORT