Simford.Dong commited on
Commit
3af9e5e
·
1 Parent(s): eb76166

fix: resolve doctor issues and improve MODEL env handling

Browse files
Files changed (1) hide show
  1. 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\": \"DeepSeek\", \"contextWindow\": 128000 }]\n\
101
  }\n\
102
  }\n\
103
  },\n\
104
- \"agents\": { \"defaults\": { \"model\": { \"primary\": \"siliconflow/\$MODEL\" } } },\n\
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\