Spaces:
Sleeping
Sleeping
Commit ·
1cef12e
1
Parent(s): 0d64ae6
Fix: Hard reset line endings to LF
Browse files- 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 |
-
|
| 12 |
-
python3 /usr/local/bin/sync.py restore
|
| 13 |
|
| 14 |
-
# 2. 环境变量替换
|
| 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. 权限优化
|
| 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.
|
| 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}
|