Simford.Dong
commited on
Commit
·
5aa59e4
1
Parent(s):
1a69f56
fix: Dockerfile syntax error in start-openclaw script
Browse files- Dockerfile +44 -44
Dockerfile
CHANGED
|
@@ -90,50 +90,50 @@ python3 /usr/local/bin/sync.py restore\n\
|
|
| 90 |
# 清理 API Base 地址\n\
|
| 91 |
CLEAN_BASE=\$(echo \"\$OPENAI_API_BASE\" | sed \"s|/chat/completions||g\" | sed \"s|/v1/|/v1|g\" | sed \"s|/v1\$|/v1|g\")\n\
|
| 92 |
\n\
|
| 93 |
-
# 处理 MODEL 变量:优先使用 FULL_MODEL_ID
|
| 94 |
-
if [[ \"\$MODEL\" == */* ]]; then
|
| 95 |
-
|
| 96 |
-
|
| 97 |
-
|
| 98 |
-
else
|
| 99 |
-
|
| 100 |
-
|
| 101 |
-
|
| 102 |
-
fi
|
| 103 |
-
|
| 104 |
-
# 生成 openclaw.json
|
| 105 |
-
cat > /root/.openclaw/openclaw.json <<EOF
|
| 106 |
-
{
|
| 107 |
-
"models": {
|
| 108 |
-
"providers": {
|
| 109 |
-
"\$PROVIDER_NAME": {
|
| 110 |
-
"baseUrl": "\$CLEAN_BASE"
|
| 111 |
-
"apiKey": "\$OPENAI_API_KEY"
|
| 112 |
-
"api": "openai-completions"
|
| 113 |
-
"models": [{ "id": "\$PROVIDER_MODEL_ID", "name": "Model", "contextWindow": 128000 }]
|
| 114 |
-
}
|
| 115 |
-
}
|
| 116 |
-
}
|
| 117 |
-
"agents": { "defaults": { "model": { "primary": "\$FULL_MODEL_ID" } } }
|
| 118 |
-
"gateway": {
|
| 119 |
-
"mode": "local", "bind": "lan", "port": \$PORT
|
| 120 |
-
"trustedProxies": ["0.0.0.0/0", "10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"]
|
| 121 |
-
"auth": { "mode": "token", "token": "\$OPENCLAW_GATEWAY_PASSWORD" }
|
| 122 |
-
"controlUi": { "allowInsecureAuth": true }
|
| 123 |
-
}
|
| 124 |
-
"channels": {
|
| 125 |
-
"feishu": {
|
| 126 |
-
"enabled": \${FEISHU_ENABLED:-false}
|
| 127 |
-
"appId": "\$FEISHU_APP_ID"
|
| 128 |
-
"appSecret": "\$FEISHU_APP_SECRET"
|
| 129 |
-
"domain": "\${FEISHU_DOMAIN:-feishu}"
|
| 130 |
-
"connectionMode": "\${FEISHU_CONNECTION_MODE:-websocket}"
|
| 131 |
-
"dmPolicy": "open"
|
| 132 |
-
"ignoreEvents": ["im.message.message_read_v1"]
|
| 133 |
-
}
|
| 134 |
-
}
|
| 135 |
-
}
|
| 136 |
-
EOF
|
| 137 |
\n\
|
| 138 |
# 启动定时备份进程 (每 3 小时执行一次,增强安全性)\n\
|
| 139 |
(while true; do sleep 10800; python3 /usr/local/bin/sync.py backup; done) &\n\
|
|
|
|
| 90 |
# 清理 API Base 地址\n\
|
| 91 |
CLEAN_BASE=\$(echo \"\$OPENAI_API_BASE\" | sed \"s|/chat/completions||g\" | sed \"s|/v1/|/v1|g\" | sed \"s|/v1\$|/v1|g\")\n\
|
| 92 |
\n\
|
| 93 |
+
# 处理 MODEL 变量:优先使用 FULL_MODEL_ID,保持灵活性\n\
|
| 94 |
+
if [[ \"\$MODEL\" == */* ]]; then\n\
|
| 95 |
+
FULL_MODEL_ID=\"\$MODEL\"\n\
|
| 96 |
+
PROVIDER_NAME=\"\${MODEL%%/*}\"\n\
|
| 97 |
+
PROVIDER_MODEL_ID=\"\${MODEL#*/}\"\n\
|
| 98 |
+
else\n\
|
| 99 |
+
FULL_MODEL_ID=\"\$MODEL\"\n\
|
| 100 |
+
PROVIDER_NAME=\"siliconflow\"\n\
|
| 101 |
+
PROVIDER_MODEL_ID=\"\$MODEL\"\n\
|
| 102 |
+
fi\n\
|
| 103 |
+
\n\
|
| 104 |
+
# 生成 openclaw.json 配置文件\n\
|
| 105 |
+
cat > /root/.openclaw/openclaw.json <<EOF\n\
|
| 106 |
+
{\n\
|
| 107 |
+
\"models\": {\n\
|
| 108 |
+
\"providers\": {\n\
|
| 109 |
+
\"\$PROVIDER_NAME\": {\n\
|
| 110 |
+
\"baseUrl\": \"\$CLEAN_BASE\",\n\
|
| 111 |
+
\"apiKey\": \"\$OPENAI_API_KEY\",\n\
|
| 112 |
+
\"api\": \"openai-completions\",\n\
|
| 113 |
+
\"models\": [{ \"id\": \"\$PROVIDER_MODEL_ID\", \"name\": \"Model\", \"contextWindow\": 128000 }]\n\
|
| 114 |
+
}\n\
|
| 115 |
+
}\n\
|
| 116 |
+
},\n\
|
| 117 |
+
\"agents\": { \"defaults\": { \"model\": { \"primary\": \"\$FULL_MODEL_ID\" } } },\n\
|
| 118 |
+
\"gateway\": {\n\
|
| 119 |
+
\"mode\": \"local\", \"bind\": \"lan\", \"port\": \$PORT,\n\
|
| 120 |
+
\"trustedProxies\": [\"0.0.0.0/0\", \"10.0.0.0/8\", \"172.16.0.0/12\", \"192.168.0.0/16\"],\n\
|
| 121 |
+
\"auth\": { \"mode\": \"token\", \"token\": \"\$OPENCLAW_GATEWAY_PASSWORD\" },\n\
|
| 122 |
+
\"controlUi\": { \"allowInsecureAuth\": true }\n\
|
| 123 |
+
},\n\
|
| 124 |
+
\"channels\": {\n\
|
| 125 |
+
\"feishu\": {\n\
|
| 126 |
+
\"enabled\": \${FEISHU_ENABLED:-false},\n\
|
| 127 |
+
\"appId\": \"\$FEISHU_APP_ID\",\n\
|
| 128 |
+
\"appSecret\": \"\$FEISHU_APP_SECRET\",\n\
|
| 129 |
+
\"domain\": \"\${FEISHU_DOMAIN:-feishu}\",\n\
|
| 130 |
+
\"connectionMode\": \"\${FEISHU_CONNECTION_MODE:-websocket}\",\n\
|
| 131 |
+
\"dmPolicy\": \"open\",\n\
|
| 132 |
+
\"ignoreEvents\": [\"im.message.message_read_v1\"]\n\
|
| 133 |
+
}\n\
|
| 134 |
+
}\n\
|
| 135 |
+
}\n\
|
| 136 |
+
EOF\n\
|
| 137 |
\n\
|
| 138 |
# 启动定时备份进程 (每 3 小时执行一次,增强安全性)\n\
|
| 139 |
(while true; do sleep 10800; python3 /usr/local/bin/sync.py backup; done) &\n\
|