File size: 1,338 Bytes
14e310e
 
3b5a323
14e310e
3b5a323
 
14e310e
3b5a323
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14e310e
 
3b5a323
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#!/bin/bash
set -e
mkdir -p /root/.openclaw/sessions

# 阶段 3: 执行启动前恢复
python3 /usr/local/bin/sync.py restore 2>/dev/null || true

# 处理地址逻辑
CLEAN_BASE=$(echo "$OPENAI_API_BASE" | sed "s|/chat/completions||g" | sed "s|/v1/|/v1|g" | sed "s|/v1$|/v1|g")

# 阶段 2: 生成网关与模型配置(NVIDIA 版)
cat > /root/.openclaw/openclaw.json <<EOF
{
  "models": {
    "providers": {
      "nvidia": {
        "baseUrl": "$CLEAN_BASE", 
        "apiKey": "$OPENAI_API_KEY", 
        "api": "openai-completions",
        "models": [{ 
          "id": "$MODEL", 
          "name": "Kimi K2.5", 
          "contextWindow": 256000 
        }]
      }
    }
  },
  "agents": { 
    "defaults": { 
      "model": { 
        "primary": "nvidia/$MODEL" 
      } 
    } 
  },
  "gateway": {
    "mode": "local", 
    "bind": "lan", 
    "port": $PORT,
    "trustedProxies": ["0.0.0.0/0", "10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"],
    "auth": { 
      "mode": "token", 
      "token": "$OPENCLAW_GATEWAY_TOKEN" 
    },
    "remote": { 
      "token": "$OPENCLAW_GATEWAY_TOKEN" 
    },
    "controlUi": { 
      "allowInsecureAuth": true,
      "dangerouslyAllowHostHeaderOriginFallback": true,
      "dangerouslyDisableDeviceAuth": true 
    }
  }
}
EOF

# 启动OpenClaw
exec openclaw gateway run --port $PORT