Spaces:
Runtime error
Runtime error
sevenopenclaw
deploy: full HF Space update with probe targets, outfit rules, and relationship settings
645618b | set -e | |
| # 强制使用北京时间(解决 HF Spaces 默认 UTC 导致汇报时间错误) | |
| export TZ="Asia/Shanghai" | |
| CONFIG="/root/.openclaw/openclaw.json" | |
| IP_RECORD="/root/.openclaw/.last_outbound_ip" | |
| # Replace placeholders with secrets from environment | |
| sed -i "s|__CLIPROXY_BASE_URL__|${CLIPROXY_BASE_URL}|g" "$CONFIG" | |
| sed -i "s|__CLIPROXY_API_KEY__|${CLIPROXY_API_KEY}|g" "$CONFIG" | |
| sed -i "s|__WECOM_TOKEN__|${WECOM_TOKEN}|g" "$CONFIG" | |
| sed -i "s|__WECOM_AES_KEY__|${WECOM_AES_KEY}|g" "$CONFIG" | |
| sed -i "s|__WECOM_CORP_ID__|${WECOM_CORP_ID}|g" "$CONFIG" | |
| sed -i "s|__WECOM_APP_TOKEN__|${WECOM_APP_TOKEN}|g" "$CONFIG" | |
| sed -i "s|__WECOM_APP_AES_KEY__|${WECOM_APP_AES_KEY}|g" "$CONFIG" | |
| sed -i "s|__WECOM_APP_SECRET__|${WECOM_APP_SECRET}|g" "$CONFIG" | |
| sed -i "s|__WECOM_APP_ASR_APP_ID__|${WECOM_APP_ASR_APP_ID}|g" "$CONFIG" | |
| sed -i "s|__WECOM_APP_ASR_SECRET_ID__|${WECOM_APP_ASR_SECRET_ID}|g" "$CONFIG" | |
| sed -i "s|__WECOM_APP_ASR_SECRET_KEY__|${WECOM_APP_ASR_SECRET_KEY}|g" "$CONFIG" | |
| sed -i "s|__QQBOT_APP_ID__|${QQBOT_APP_ID}|g" "$CONFIG" | |
| sed -i "s|__QQBOT_CLIENT_SECRET__|${QQBOT_CLIENT_SECRET}|g" "$CONFIG" | |
| sed -i "s|__QQBOT_ASR_APP_ID__|${QQBOT_ASR_APP_ID}|g" "$CONFIG" | |
| sed -i "s|__QQBOT_ASR_SECRET_ID__|${QQBOT_ASR_SECRET_ID}|g" "$CONFIG" | |
| sed -i "s|__QQBOT_ASR_SECRET_KEY__|${QQBOT_ASR_SECRET_KEY}|g" "$CONFIG" | |
| sed -i "s|__FEISHU_APP_ID__|${FEISHU_APP_ID}|g" "$CONFIG" | |
| sed -i "s|__FEISHU_APP_SECRET__|${FEISHU_APP_SECRET}|g" "$CONFIG" | |
| sed -i "s|__FEISHU_VERIFICATION_TOKEN__|${FEISHU_VERIFICATION_TOKEN}|g" "$CONFIG" | |
| sed -i "s|__FEISHU_ENCRYPT_KEY__|${FEISHU_ENCRYPT_KEY}|g" "$CONFIG" | |
| sed -i "s|__VOLCENGINE_ARK_API_KEY__|${VOLCENGINE_ARK_API_KEY}|g" "$CONFIG" | |
| sed -i "s|__VOLCENGINE_PROXY_TOKEN__|${VOLCENGINE_PROXY_TOKEN}|g" "$CONFIG" | |
| sed -i "s|__VOLCENGINE_PROXY_URL__|${VOLCENGINE_PROXY_URL}|g" "$CONFIG" | |
| sed -i "s|__GROK2API_KEY__|${GROK2API_KEY}|g" "$CONFIG" | |
| sed -i "s|__GROK2API_BASE_URL__|${GROK2API_BASE_URL}|g" "$CONFIG" | |
| sed -i "s|__GEMINI_API_KEY__|${GEMINI_API_KEY}|g" "$CONFIG" | |
| sed -i "s|__GEMINI_BASE_URL__|${GEMINI_BASE_URL}|g" "$CONFIG" | |
| # Fix config file permission (suppress security audit warning) | |
| chmod 600 "$CONFIG" | |
| # 从 Supabase 下载参考图(保护隐私,图片不进代码仓库) | |
| if [ -n "$MAGGIE_REFERENCE_IMAGE_URL" ]; then | |
| MAGGIE_IMG_DIR="/root/.openclaw/extensions/clawmate-companion/skills/clawmate-companion/assets/characters/maggie/images" | |
| mkdir -p "$MAGGIE_IMG_DIR" | |
| curl -fsSL "$MAGGIE_REFERENCE_IMAGE_URL" -o "$MAGGIE_IMG_DIR/reference.png" | |
| echo "=== Maggie reference image downloaded ===" | |
| fi | |
| # Check outbound IP and notify if changed | |
| CURRENT_IP=$(curl -s --max-time 10 https://ifconfig.me || curl -s --max-time 10 https://api.ipify.org || echo "unknown") | |
| echo "=== HF Space outbound IP: ${CURRENT_IP} ===" | |
| LAST_IP="" | |
| if [ -f "$IP_RECORD" ]; then | |
| LAST_IP=$(cat "$IP_RECORD") | |
| fi | |
| if [ "$CURRENT_IP" != "unknown" ] && [ "$CURRENT_IP" != "$LAST_IP" ]; then | |
| echo "$CURRENT_IP" > "$IP_RECORD" | |
| if [ -n "$WECOM_WEBHOOK_KEY" ]; then | |
| WEBHOOK_URL="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=${WECOM_WEBHOOK_KEY}" | |
| if [ -z "$LAST_IP" ]; then | |
| MSG="🦞 OpenClaw HF Space 首次启动\n\n出口IP: ${CURRENT_IP}\n\n请确认该IP已添加到企业微信可信IP白名单中。" | |
| else | |
| MSG="⚠️ OpenClaw HF Space 出口IP已变更\n\n旧IP: ${LAST_IP}\n新IP: ${CURRENT_IP}\n\n请立即到企业微信后台更新可信IP白名单,否则 wecom-app 将无法主动发送消息。" | |
| fi | |
| curl -s -X POST "$WEBHOOK_URL" \ | |
| -H "Content-Type: application/json" \ | |
| -d "{\"msgtype\":\"text\",\"text\":{\"content\":\"${MSG}\"}}" \ | |
| || echo "Failed to send webhook notification" | |
| fi | |
| fi | |
| # Start gateway | |
| exec node openclaw.mjs gateway --port 7860 --bind lan --allow-unconfigured | |