syw1516 commited on
Commit
5a27f58
·
verified ·
1 Parent(s): 744a895

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +29 -7
Dockerfile CHANGED
@@ -1,3 +1,4 @@
 
1
  FROM docker.io/library/ubuntu:24.04
2
 
3
  ENV DEBIAN_FRONTEND=noninteractive
@@ -12,14 +13,19 @@ RUN apt-get update && apt-get install -y \
12
  RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \
13
  && apt-get install -y nodejs
14
 
15
- # 安装 openclaw + 微信插件
16
  RUN npm install -g openclaw@latest
17
- RUN npm install -g @tencent-weixin/openclaw-weixin
 
 
 
18
 
19
  RUN pip3 install --break-system-packages huggingface_hub -q
20
 
21
- # 映射 HF Secrets RAW_MODEL 到脚本期望的变量
22
  ENV OPENCLAW_LLM_MODEL=${RAW_MODEL:-z-ai/glm4.7}
 
 
23
 
24
  RUN mkdir -p /root/.openclaw /data /var/log/openclaw /scripts
25
 
@@ -59,8 +65,23 @@ backup_weixin_session() {\n\
59
  # ── 生成微信二维码 URL ──────────────────────────────\n\
60
  generate_weixin_qr() {\n\
61
  log_info "正在获取微信二维码 URL..."\n\
 
 
 
 
 
 
 
 
 
 
 
62
  openclaw channels login --channel openclaw-weixin > "${WEIXIN_QR_FILE}" 2>&1 &\n\
63
  LOGIN_PID=$!\n\
 
 
 
 
64
  for i in $(seq 1 30); do\n\
65
  if grep -q "ilinkai.weixin.qq.com" "${WEIXIN_QR_FILE}" 2>/dev/null; then\n\
66
  QR_URL=$(grep "ilinkai.weixin.qq.com" "${WEIXIN_QR_FILE}" | head -1 | tr -d "[:space:]")\n\
@@ -73,7 +94,11 @@ generate_weixin_qr() {\n\
73
  fi\n\
74
  sleep 1\n\
75
  done\n\
76
- log_info "未能自动获取二维码 URL,请查看日志获取 ilinkai.weixin.qq.com 链接"\n\
 
 
 
 
77
  }\n\
78
  \n\
79
  restore_if_exists() {\n\
@@ -179,6 +204,3 @@ EXPOSE 7860
179
  ENTRYPOINT ["/scripts/openclaw-entrypoint.sh"]
180
 
181
 
182
-
183
-
184
-
 
1
+
2
  FROM docker.io/library/ubuntu:24.04
3
 
4
  ENV DEBIAN_FRONTEND=noninteractive
 
13
  RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \
14
  && apt-get install -y nodejs
15
 
16
+ # 安装 openclaw
17
  RUN npm install -g openclaw@latest
18
+
19
+ # 🔧 关键修改:安装微信插件到 OpenClaw 期望的目录
20
+ RUN mkdir -p /data/.openclaw/npm/node_modules
21
+ RUN cd /data/.openclaw/npm && npm install @tencent-weixin/openclaw-weixin
22
 
23
  RUN pip3 install --break-system-packages huggingface_hub -q
24
 
25
+ # 映射 HF Secrets 到脚本期望的变量
26
  ENV OPENCLAW_LLM_MODEL=${RAW_MODEL:-z-ai/glm4.7}
27
+ ENV OPENCLAW_BACKUP_ENABLED=${OPENCLAW_BACKUP_ENABLED:-true}
28
+ ENV OPENCLAW_BACKUP_DATASET_REPO=${OPENCLAW_BACKUP_DATASET_REPO:-}
29
 
30
  RUN mkdir -p /root/.openclaw /data /var/log/openclaw /scripts
31
 
 
65
  # ── 生成微信二维码 URL ──────────────────────────────\n\
66
  generate_weixin_qr() {\n\
67
  log_info "正在获取微信二维码 URL..."\n\
68
+ \n\
69
+ # 检查是否已有 session\n\
70
+ if [[ -f "${OPENCLAW_STATE_DIR}/weixin_session" ]] || [[ -f "${OPENCLAW_STATE_DIR}/session_weixin" ]]; then\n\
71
+ log_info "=========================================="\n\
72
+ log_info "发现已有微信登录 session,无需扫码"\n\
73
+ log_info "如需重新登录,请删除 session 文件后重启"\n\
74
+ log_info "=========================================="\n\
75
+ return 0\n\
76
+ fi\n\
77
+ \n\
78
+ # 没有 session,生成二维码\n\
79
  openclaw channels login --channel openclaw-weixin > "${WEIXIN_QR_FILE}" 2>&1 &\n\
80
  LOGIN_PID=$!\n\
81
+ \n\
82
+ # 等待命令启动\n\
83
+ sleep 3\n\
84
+ \n\
85
  for i in $(seq 1 30); do\n\
86
  if grep -q "ilinkai.weixin.qq.com" "${WEIXIN_QR_FILE}" 2>/dev/null; then\n\
87
  QR_URL=$(grep "ilinkai.weixin.qq.com" "${WEIXIN_QR_FILE}" | head -1 | tr -d "[:space:]")\n\
 
94
  fi\n\
95
  sleep 1\n\
96
  done\n\
97
+ \n\
98
+ # 调试:显示完整输出\n\
99
+ log_info "未能自动获取二维码 URL,完整输出:"\n\
100
+ cat "${WEIXIN_QR_FILE}" >> /var/log/openclaw/gateway.stdout.log 2>/dev/null || true\n\
101
+ log_info "请查看上方日志获取 ilinkai.weixin.qq.com 链接"\n\
102
  }\n\
103
  \n\
104
  restore_if_exists() {\n\
 
204
  ENTRYPOINT ["/scripts/openclaw-entrypoint.sh"]
205
 
206