Simford.Dong
commited on
Commit
·
3af9e5e
1
Parent(s):
eb76166
fix: resolve doctor issues and improve MODEL env handling
Browse files- Dockerfile +13 -4
Dockerfile
CHANGED
|
@@ -19,8 +19,7 @@ RUN update-ca-certificates && \
|
|
| 19 |
|
| 20 |
# 4. 全局安装 OpenClaw
|
| 21 |
ENV HOME=/root
|
| 22 |
-
RUN npm install -g openclaw@latest --unsafe-perm
|
| 23 |
-
RUN openclaw plugins install @openclaw/feishu
|
| 24 |
|
| 25 |
# 5. 设置环境变量
|
| 26 |
ENV PORT=7860 \
|
|
@@ -81,6 +80,9 @@ set -e\n\
|
|
| 81 |
mkdir -p /root/.openclaw/sessions\n\
|
| 82 |
mkdir -p /root/.openclaw/workspace\n\
|
| 83 |
mkdir -p /root/.openclaw/plugins\n\
|
|
|
|
|
|
|
|
|
|
| 84 |
\n\
|
| 85 |
# 启动前执行数据恢复\n\
|
| 86 |
python3 /usr/local/bin/sync.py restore\n\
|
|
@@ -88,6 +90,13 @@ python3 /usr/local/bin/sync.py restore\n\
|
|
| 88 |
# 清理 API Base 地址\n\
|
| 89 |
CLEAN_BASE=\$(echo \"\$OPENAI_API_BASE\" | sed \"s|/chat/completions||g\" | sed \"s|/v1/|/v1|g\" | sed \"s|/v1\$|/v1|g\")\n\
|
| 90 |
\n\
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 91 |
# 生成 openclaw.json 配置文件\n\
|
| 92 |
cat > /root/.openclaw/openclaw.json <<EOF\n\
|
| 93 |
{\n\
|
|
@@ -97,11 +106,11 @@ cat > /root/.openclaw/openclaw.json <<EOF\n\
|
|
| 97 |
\"baseUrl\": \"\$CLEAN_BASE\",\n\
|
| 98 |
\"apiKey\": \"\$OPENAI_API_KEY\",\n\
|
| 99 |
\"api\": \"openai-completions\",\n\
|
| 100 |
-
\"models\": [{ \"id\": \"\$MODEL\", \"name\": \"
|
| 101 |
}\n\
|
| 102 |
}\n\
|
| 103 |
},\n\
|
| 104 |
-
\"agents\": { \"defaults\": { \"model\": { \"primary\": \"
|
| 105 |
\"gateway\": {\n\
|
| 106 |
\"mode\": \"local\", \"bind\": \"lan\", \"port\": \$PORT,\n\
|
| 107 |
\"trustedProxies\": [\"0.0.0.0/0\", \"10.0.0.0/8\", \"172.16.0.0/12\", \"192.168.0.0/16\"],\n\
|
|
|
|
| 19 |
|
| 20 |
# 4. 全局安装 OpenClaw
|
| 21 |
ENV HOME=/root
|
| 22 |
+
RUN npm install -g openclaw@latest zod --unsafe-perm
|
|
|
|
| 23 |
|
| 24 |
# 5. 设置环境变量
|
| 25 |
ENV PORT=7860 \
|
|
|
|
| 80 |
mkdir -p /root/.openclaw/sessions\n\
|
| 81 |
mkdir -p /root/.openclaw/workspace\n\
|
| 82 |
mkdir -p /root/.openclaw/plugins\n\
|
| 83 |
+
mkdir -p /root/.openclaw/agents/main/sessions\n\
|
| 84 |
+
mkdir -p /root/.openclaw/credentials\n\
|
| 85 |
+
chmod 700 /root/.openclaw\n\
|
| 86 |
\n\
|
| 87 |
# 启动前执行数据恢复\n\
|
| 88 |
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 变量:如果未包含 / 则默认为 siliconflow/\n\
|
| 94 |
+
if [[ \"\$MODEL\" != */* ]]; then\n\
|
| 95 |
+
export FULL_MODEL_ID=\"siliconflow/\$MODEL\"\n\
|
| 96 |
+
else\n\
|
| 97 |
+
export FULL_MODEL_ID=\"\$MODEL\"\n\
|
| 98 |
+
fi\n\
|
| 99 |
+
\n\
|
| 100 |
# 生成 openclaw.json 配置文件\n\
|
| 101 |
cat > /root/.openclaw/openclaw.json <<EOF\n\
|
| 102 |
{\n\
|
|
|
|
| 106 |
\"baseUrl\": \"\$CLEAN_BASE\",\n\
|
| 107 |
\"apiKey\": \"\$OPENAI_API_KEY\",\n\
|
| 108 |
\"api\": \"openai-completions\",\n\
|
| 109 |
+
\"models\": [{ \"id\": \"\${MODEL##*/}\", \"name\": \"Model\", \"contextWindow\": 128000 }]\n\
|
| 110 |
}\n\
|
| 111 |
}\n\
|
| 112 |
},\n\
|
| 113 |
+
\"agents\": { \"defaults\": { \"model\": { \"primary\": \"\$FULL_MODEL_ID\" } } },\n\
|
| 114 |
\"gateway\": {\n\
|
| 115 |
\"mode\": \"local\", \"bind\": \"lan\", \"port\": \$PORT,\n\
|
| 116 |
\"trustedProxies\": [\"0.0.0.0/0\", \"10.0.0.0/8\", \"172.16.0.0/12\", \"192.168.0.0/16\"],\n\
|