luoluoluo22 commited on
Commit
1cef12e
·
1 Parent(s): 0d64ae6

Fix: Hard reset line endings to LF

Browse files
Files changed (1) hide show
  1. start-openclaw +9 -17
start-openclaw CHANGED
@@ -4,20 +4,19 @@ set -e
4
  # 确保基础目录结构存在 (Top level)
5
  mkdir -p /root/.openclaw/sessions
6
  mkdir -p /root/.openclaw/workspace
7
- # 关键修复:确保默认 agent 的 session 目录存在,否则网关启动会报错或重置连接
8
  mkdir -p /root/.openclaw/agents/main/sessions
9
 
10
  # 1. 启动前执行数据恢复
11
- # 如果 HF_DATASET 配置了,它会尝试下载最近的备份并解压到 /root/.openclaw/
12
- python3 /usr/local/bin/sync.py restore
13
 
14
- # 2. 环境变量替换 (关键修复:在恢复之后执行,确保 HF 界面配置的环境变量具有最高优先级)
15
  if [ -f "/root/.openclaw/openclaw.json.template" ]; then
16
  echo "--- [CONFIG] 正在执行环境变量替换 (openclaw.json) ---"
17
  envsubst < /root/.openclaw/openclaw.json.template > /root/.openclaw/openclaw.json
18
  fi
19
 
20
- # 3. 权限优化 (解决 Doctor 的警告)
21
  chmod 700 /root/.openclaw
22
  if [ -f "/root/.openclaw/openclaw.json" ]; then
23
  chmod 600 /root/.openclaw/openclaw.json
@@ -29,34 +28,27 @@ CLEAN_BASE=$(echo "$OPENAI_API_BASE" | sed "s|/chat/completions||g" | sed "s|/v1
29
  # 5. 启动定时备份进程 (后台运行)
30
  (while true; do sleep 10800; python3 /usr/local/bin/sync.py backup; done) &
31
 
32
- # 6. 运行 Doctor 检查并尝试修复
33
- echo "--- [DOCTOR] 正在运行环境健康检查 ---"
34
- openclaw doctor --fix || true
35
-
36
- # 7. 调试:列出并尝试自动批准设备 (循环执行一段时间以捕获新请求)
37
  echo "--- [DEVICES] 开启自动配对批准监视器 ---"
38
  (
39
  while true; do
40
- echo "--- [DEVICES] 检查待配对请求 (后台监控中...) ---"
41
  DEVICES_OUT=$(openclaw devices list 2>/dev/null || true)
42
-
43
- # 提取 Request UUID (形如 8-4-4-4-12 的格式)
44
  REQUEST_IDS=$(echo "$DEVICES_OUT" | grep -oE '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}' || true)
45
-
46
  if [ ! -z "$REQUEST_IDS" ]; then
47
  for req_id in $REQUEST_IDS; do
48
  echo "--- [DEVICES] 尝试批准 Request ID: $req_id ---"
49
  openclaw devices approve "$req_id" || true
50
  done
51
- # 批准后立刻触发一次备份,把新的配置和授权信息保存到云端
52
  python3 /usr/local/bin/sync.py backup || true
53
  fi
54
-
55
  sleep 20
56
  done
57
  ) &
58
 
 
 
 
 
59
  # 8. 启动 OpenClaw 网关
60
- # 显式使用 --port 确保与 HF Space 分配的端口一致
61
  echo "--- [GATEWAY] 启动网关服务 ---"
62
  exec openclaw gateway run --port ${PORT:-7860}
 
4
  # 确保基础目录结构存在 (Top level)
5
  mkdir -p /root/.openclaw/sessions
6
  mkdir -p /root/.openclaw/workspace
7
+ # 关键修复:确保默认 agent 的 session 目录存在
8
  mkdir -p /root/.openclaw/agents/main/sessions
9
 
10
  # 1. 启动前执行数据恢复
11
+ python3 /usr/local/bin/sync.py restore || true
 
12
 
13
+ # 2. 环境变量替换
14
  if [ -f "/root/.openclaw/openclaw.json.template" ]; then
15
  echo "--- [CONFIG] 正在执行环境变量替换 (openclaw.json) ---"
16
  envsubst < /root/.openclaw/openclaw.json.template > /root/.openclaw/openclaw.json
17
  fi
18
 
19
+ # 3. 权限优化
20
  chmod 700 /root/.openclaw
21
  if [ -f "/root/.openclaw/openclaw.json" ]; then
22
  chmod 600 /root/.openclaw/openclaw.json
 
28
  # 5. 启动定时备份进程 (后台运行)
29
  (while true; do sleep 10800; python3 /usr/local/bin/sync.py backup; done) &
30
 
31
+ # 6. 自动配对批准监视器 (后台循)
 
 
 
 
32
  echo "--- [DEVICES] 开启自动配对批准监视器 ---"
33
  (
34
  while true; do
 
35
  DEVICES_OUT=$(openclaw devices list 2>/dev/null || true)
 
 
36
  REQUEST_IDS=$(echo "$DEVICES_OUT" | grep -oE '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}' || true)
 
37
  if [ ! -z "$REQUEST_IDS" ]; then
38
  for req_id in $REQUEST_IDS; do
39
  echo "--- [DEVICES] 尝试批准 Request ID: $req_id ---"
40
  openclaw devices approve "$req_id" || true
41
  done
 
42
  python3 /usr/local/bin/sync.py backup || true
43
  fi
 
44
  sleep 20
45
  done
46
  ) &
47
 
48
+ # 7. 运行 Doctor 检查并尝试修复环境
49
+ echo "--- [DOCTOR] 正在运行环境健康检查 ---"
50
+ openclaw doctor --fix || true
51
+
52
  # 8. 启动 OpenClaw 网关
 
53
  echo "--- [GATEWAY] 启动网关服务 ---"
54
  exec openclaw gateway run --port ${PORT:-7860}