由 wangjb 于 22 小时前 发布

先看效果:


使用huggingface和英伟达白嫖OpenClaw
1.打开 https://build.nvidia.com/ 申请API密钥,复制API密钥,调用地址,模型ID到txt文稿。
2.打开huggingface,新建 Docker space。
3.添加文件,文件名为Dockerfile。

# 核心镜像选择 FROM node:22-slim # 1. 基础依赖补全 RUN apt-get update && apt-get install -y --no-install-recommends \ git openssh-client build-essential python3 python3-pip \ g++ make ca-certificates \ && rm -rf /var/lib/apt/lists/* # 2. 安装 HF 数据交互工具 RUN pip3 install --no-cache-dir huggingface_hub --break-system-packages # 3. 构建环境与 Git 协议优化 RUN update-ca-certificates && \ git config --global http.sslVerify false && \ git config --global url."https://github.com/".insteadOf ssh://git@github.com/ # 4. OpenClaw 核心安装 RUN npm install -g openclaw@latest --unsafe-perm # 5. 环境变量预设 ENV PORT=7860 \ OPENCLAW_GATEWAY_MODE=local \ HOME=/root # 6. Python 同步引擎 (sync.py) RUN echo 'import os, sys, tarfile\n\ from huggingface_hub import HfApi, hf_hub_download\n\ from datetime import datetime, timedelta\n\ api = HfApi()\n\ repo_id = os.getenv("HF_DATASET")\n\ token = os.getenv("HF_TOKEN")\n\ def restore():\n\ try:\n\ files = api.list_repo_files(repo_id=repo_id, repo_type="dataset", token=token)\n\ now = datetime.now()\n\ for i in range(5):\n\ day = (now - timedelta(days=i)).strftime("%Y-%m-%d")\n\ name = f"backup_{day}.tar.gz"\n\ if name in files:\n\ path = hf_hub_download(repo_id=repo_id, filename=name, repo_type="dataset", token=token)\n\ with tarfile.open(path, "r:gz") as tar: tar.extractall(path="/root/.openclaw/")\n\ print(f"Success: Restored from {name}")\n\ return True\n\ except Exception as e: print(f"Restore Error: {e}")\n\ def backup():\n\ try:\n\ day = datetime.now().strftime("%Y-%m-%d")\n\ name = f"backup_{day}.tar.gz"\n\ with tarfile.open(name, "w:gz") as tar:\n\ if os.path.exists("/root/.openclaw/sessions"): tar.add("/root/.openclaw/sessions", arcname="sessions")\n\ tar.add("/root/.openclaw/openclaw.json", arcname="openclaw.json")\n\ api.upload_file(path_or_fileobj=name, path_in_repo=name, repo_id=repo_id, repo_type="dataset", token=token)\n\ print(f"Backup {name} Success.")\n\ except Exception as e: print(f"Backup Error: {e}")\n\ if __name__ == "__main__":\n\ if len(sys.argv) > 1 and sys.argv[1] == "backup": backup()\n\ else: restore()' > /usr/local/bin/sync.py # 7. 启动控制逻辑(NVIDIA 配置版) RUN echo "#!/bin/bash\n\ set -e\n\ mkdir -p /root/.openclaw/sessions\n\ \n\ # 阶段 3: 执行启动前恢复\n\ python3 /usr/local/bin/sync.py restore\n\ \n\ # 处理地址逻辑\n\ CLEAN_BASE=\$(echo \"\$OPENAI_API_BASE\" | sed \"s|/chat/completions||g\" | sed \"s|/v1/|/v1|g\" | sed \"s|/v1\$|/v1|g\")\n\ \n\ # 阶段 2: 生成网关与模型配置(NVIDIA 版)\n\ cat > /root/.openclaw/openclaw.json <<EOF\n\ {\n\ \"models\": {\n\ \"providers\": {\n\ \"nvidia\": {\n\ \"baseUrl\": \"\$CLEAN_BASE\", \n\ \"apiKey\": \"\$OPENAI_API_KEY\", \n\ \"api\": \"openai-completions\",\n\ \"models\": [{ \n\ \"id\": \"\$MODEL\", \n\ \"name\": \"Kimi K2.5\", \n\ \"contextWindow\": 256000 \n\ }]\n\ }\n\ }\n\ },\n\ \"agents\": { \n\ \"defaults\": { \n\ \"model\": { \n\ \"primary\": \"nvidia/\$MODEL\" \n\ } \n\ } \n\ },\n\ \"gateway\": {\n\ \"mode\": \"local\", \n\ \"bind\": \"lan\", \n\ \"port\": \$PORT,\n\ \"trustedProxies\": [\"0.0.0.0/0\", \"10.0.0.0/8\", \"172.16.0.0/12\", \"192.168.0.0/16\"],\n\ \"auth\": { \n\ \"mode\": \"token\", \n\ \"token\": \"\$OPENCLAW_GATEWAY_TOKEN\" \n\ },\n\ \"remote\": { \n\ \"token\": \"\$OPENCLAW_GATEWAY_TOKEN\" \n\ },\n\ \"controlUi\": { \n\ \"allowInsecureAuth\": true,\n\ \"dangerouslyAllowHostHeaderOriginFallback\": true,\n\ \"dangerouslyDisableDeviceAuth\": true \n\ }\n\ }\n\ }\n\ EOF\n\ \n\ # 增量备份循环 (每 6 小时)\n\ (while true; do sleep 21600; python3 /usr/local/bin/sync.py backup; done) &\n\ \n\ openclaw doctor --fix\n\ exec openclaw gateway run --port \$PORT\n\ " > /usr/local/bin/start-openclaw && chmod +x /usr/local/bin/start-openclaw EXPOSE 7860 CMD ["/usr/local/bin/start-openclaw"]

添加环境变量:OPENAI_API_BASE(调用地址)( https://integrate.api.nvidia.com/v1/chat/completions

MODEL(模型ID)(我的是moonshotai/kimi-k2.5)

HF_TOKEN(你的hf token,没有就创建,权限为写 一定是私密变量)

OPENAI_API_KEY(你的英伟达token 一定是私密变量)

OPENCLAW_GATEWAY_TOKEN(你的OpenClaw访问密码)

创建datasets,名字是openclaw-data。

再添加一个环境变量: HF_DATASET(你的用户名/openclaw-data)

部署完访问链接:你的用户名-你的space名.hf.space

重要:打开 cron-job.org 定时每六小时自动访问一次访问链接,避免休眠!

由 wangjb 于 22 小时前 发布

顺便提一句,我爸的Kimiclaw连个无头浏览器都装不了,还在忽悠说下载了百分之17一直下载失败,骗鬼呢!我这儿几秒钟装完

由 wangjb 于 22 小时前 发布

由 kmoui 于 22 小时前 发布

由 Qingwa 于 4 小时前 发布

由 wangjb 于 2 小时前 发布


由 Discourse 提供技术支持