03-10 73人
最近 OpenClaw 在开发者圈子里热度飙升,很多人都想拥有一个私有化、可长期运行的AI智能体。但复杂的配置、昂贵的服务器、API费用常常让人望而却步。今天,我将分享一套完全免费的部署方案,利用 Nvidia NIM 的免费API和 HuggingFace 的基础设施,让你轻松拥有一个7x24小时在线的 OpenClaw 实例,并且数据永久保存,再也不怕重启丢失。快开启你的 龙虾 养殖吧!
本文分三大部分:
- 获取免费模型API——使用 Nvidia NIM 平台提供的开源模型
- 在HuggingFace上部署OpenClaw——利用 Spaces 和 Dataset 实现持久化
- 实战配置与扩展——设定人设、添加模型、集成飞书/QQ等
全程无需付费,只要跟着步骤操作,你也能拥有一个懂你、能帮你干活的AI伙伴。
一、免费领取Nvidia NIM API密钥
OpenClaw需要调用大语言模型,而Nvidia的NIM平台提供了许多开源模型的免费接口,兼容OpenAI格式,非常适合个人试用。
1. 注册Nvidia账号
访问 Nvidia NIM官网,直接打开(国内可正常访问)。点击右上角 Sign In 或 Join 注册一个新账号。注册完成后,右上角进入个人中心,找到 API Keys 选项,创建一个新的 API Key。复制保存,后面配置要用。
为什么选择Nvidia NIM?
- 免费且稳定,内置多个SOTA开源模型(如GLM-5、Llama等)
- 接口兼容OpenAI,无缝接入OpenClaw
- 无需担心额度,个人使用完全足够
当然你也可以选择其他厂商的,例如智谱、阿里千问等等。
这里有我收集的: Claude中转站分享及国内的AI Coding Plan大全 持续更新ing…
二、在HuggingFace Spaces上部署OpenClaw
HuggingFace 提供了免费的CPU实例(2核16GB内存),足够运行OpenClaw。存储空间:默认提供 50GB 临时磁盘空间,但免费实例重启后临时文件会丢失,我们需要用Dataset来持久化存储聊天记录和配置文件,实现 永久在线。
2.1 新建一个Space
- 登录HuggingFace,进入 Spaces页面
- 点击
Create new Space” - 填写 Space 名称 随意
- SDK:选择 Docker
- Template:选择 Blank
- Privacy:建议选择 Private(私有,防止他人访问你的实例)
- 点击创建
如图:
2.2 新建一个Dataset
用于保存OpenClaw的会话数据和配置,避免重启丢失。
- 点击头像,选择
+ New Dataset - 同样设置 Private 私有
- 命名后创建
2.3 创建Access Token
- 点击头像 →
Access Tokens→+ Create new token - Token Type 选择 Write(需要写入权限)
- 生成后复制保存,下面会用到
2.4 配置Space的环境变量
进入刚刚创建的 Space,点击右上角 Settings,拉到最下方 Variables and secrets,添加以下内容:
Variables(变量)
OPENAI_API_BASE:Nvidia NIM的接口地址,填https://integrate.api.nvidia.com/v1MODEL:你想使用的模型ID,例如z-ai/glm4.7(具体可查看NIM平台支持的模型)HF_DATASET:你刚才创建的 Datase t的完整名称,格式为用户名/数据集名,如yourname/openclaw-data
Secrets(密钥)
OPENAI_API_KEY:第一步申请的Nvidia API KeyHF_TOKEN:2.3步生成的Access TokenOPENCLAW_GATEWAY_PASSWORD:你自己设定的密码,用于登录OpenClaw前端界面
参考下图:
2.5 创建三个核心文件
然后在刚刚创建 Space 的 Files 标签页,依次新建以下三个文件,内容如下:
文件1:sync.py —— 数据同步脚本,定时备份和恢复
import os
import sys
import tarfile
from huggingface_hub import HfApi, hf_hub_download
api = HfApi()
repo_id = os.getenv("HF_DATASET")
token = os.getenv("HF_TOKEN")
FILENAME = "latest_backup.tar.gz"
def restore():
try:
if not repo_id or not token:
print("Skip Restore: HF_DATASET or HF_TOKEN not set")
return
# 直接下载最新文件
print(f"Downloading {FILENAME} from {repo_id}...")
path = hf_hub_download(repo_id=repo_id, filename=FILENAME, repo_type="dataset", token=token)
with tarfile.open(path, "r:gz") as tar:
tar.extractall(path="/root/.openclaw/")
print(f"Success: Restored from {FILENAME}")
return True
except Exception as e:
# 如果是第一次运行,仓库里没文件,报错是正常的
print(f"Restore Note: No existing backup found or error: {e}")
def backup():
try:
if not repo_id or not token:
print("Skip Backup: HF_DATASET or HF_TOKEN not set")
return
with tarfile.open(FILENAME, "w:gz") as tar:
# 备份关键数据
paths_to_backup = [
"/root/.openclaw/sessions",
"/root/.openclaw/agents/main/sessions",
"/root/.openclaw/openclaw.json"
]
for p in paths_to_backup:
if os.path.exists(p):
arcname = p.replace("/root/.openclaw/", "")
tar.add(p, arcname=arcname)
# 上传并覆盖
api.upload_file(
path_or_fileobj=FILENAME,
path_in_repo=FILENAME,
repo_id=repo_id,
repo_type="dataset",
token=token
)
print(f"Backup {FILENAME} Success (Overwritten).")
except Exception as e:
print(f"Backup Error: {e}")
if __name__ == "__main__":
if len(sys.argv) > 1 and sys.argv[1] == "backup":
backup()
else:
restore()
文件2:start-openclaw.sh —— 启动脚本
#!/bin/bash
set -e
# 1. 补全目录
mkdir -p /root/.openclaw/agents/main/sessions
mkdir -p /root/.openclaw/credentials
mkdir -p /root/.openclaw/sessions
# 2. 执行恢复
python3 /app/sync.py restore
# 3. 处理 API 地址
CLEAN_BASE=$(echo "$OPENAI_API_BASE" | sed "s|/chat/completions||g" | sed "s|/v1/|/v1|g" | sed "s|/v1$|/v1|g")
# 4. 生成配置文件
cat > /root/.openclaw/openclaw.json <<EOF
{
"models": {
"providers": {
"nvidia": {
"baseUrl": "$CLEAN_BASE",
"apiKey": "$OPENAI_API_KEY",
"api": "openai-completions",
"models": [
{ "id": "$MODEL", "name": "$MODEL", "contextWindow": 128000 }
]
}
}
},
"agents": { "defaults": { "model": { "primary": "nvidia/$MODEL" } } },
"commands": {
"restart": true
},
"gateway": {
"mode": "local",
"bind": "lan",
"port": $PORT,
"trustedProxies": ["0.0.0.0/0"],
"auth": { "mode": "token", "token": "$OPENCLAW_GATEWAY_PASSWORD" },
"controlUi": {
"enabled": true,
"allowInsecureAuth": true,
"dangerouslyDisableDeviceAuth": true,
"dangerouslyAllowHostHeaderOriginFallback": true
},
}
}
EOF
# 5. 启动定时备份 (每 1 小时)
(while true; do sleep 3600; python3 /app/sync.py backup; done) &
# 6. 运行
openclaw doctor --fix
exec openclaw gateway run --port $PORT
文件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/*
RUN pip3 install --no-cache-dir huggingface_hub --break-system-packages
# 2. 安装 OpenClaw
RUN npm install -g openclaw@latest --unsafe-perm
# 3. 设置工作目录并拷贝脚本
WORKDIR /app
COPY sync.py .
COPY start-openclaw.sh .
RUN chmod +x start-openclaw.sh
# 4. 环境变量
ENV PORT=7860 HOME=/root
EXPOSE 7860
CMD ["./start-openclaw.sh"]
注意:如果复制有问题也可以通过游魂分享的网盘链接下载这三个文件:夸克网盘 / UC 网盘 / 迅雷网盘 / 百度网盘
文件创建完成后,点击 Commit changes to main 提交。Space 会自动开始构建,可以在 Logs 标签查看进度。当看到类似下面的日志时,说明启动成功:
◇ Gateway connection ────────────────────╮
│ │
│ Gateway target: ws://127.0.0.1:7860 │
│ Source: local loopback │
│ Config: /root/.openclaw/openclaw.json │
│ Bind: lan │
│ │
├─────────────────────────────────────────╯
2026-03-09T00:45:37.365Z [canvas] host mounted at http://0.0.0.0:7860/__openclaw__/canvas/ (root /root/.openclaw/canvas)
2026-03-09T00:45:37.650Z [heartbeat] started
现在,你可以通过 https://你的用户名-space空间名称.hf.space 访问OpenClaw前端了。
2.6 使用UptimeRobot防止休眠
HuggingFace 免费 Space 如果48小时内没有外部访问,会自动休眠。其判断依据是:
- 是否有外部请求
https://xxx.hf.space; - 是否维持有效
wss连接; - 内部定时任务不计入活跃;
我们需要一个定时监控服务来定期唤醒它。推荐使用 UptimeRobot,免费版可设置每5分钟访问一次。
注册 UptimeRobot 后,点击 Add New Monitor :
- Monitor Type:HTTP(s)
- URL:你的Space公网地址(如
https://yourname-yourspace.hf.space) - Monitoring Interval:5分钟
保存即可。这样Space就会持续活跃,不会进入休眠。
三、实战:配置你的AI助手
3.1 首次登录与连接
打开前端页面,此时状态是 未连接。
在输入框中填入你在环境变量中设置的 OPENCLAW_GATEWAY_PASSWORD,点击连接,状态变为 正常即可开始对话。
3.2 设定人设(Persona)
为了让AI更贴合你的需求,我们需要编辑几个关键文件。在左侧菜单找到 Agent → 进入 main 代理,你会看到 SOUL.md 、IDENTITY.md 和 USER.md。
- SOUL.md:定义AI的个性、原则和行事风格。
- IDENTITY.md:定义AI的基本身份信息,AI的身份证。
- USER.md:定义用户自己的信息,让AI了解你。
以下示例供参考:
SOUL.md
# SOUL.md - Who You Are
_你不是聊天机器人。你是个靠谱的助手。_
## 核心原则
- 尽量用中文和我对话。
- 直接给出结果,少说废话。
- 有自己的判断,可以不同意,可以提出不同方案。
- 先自己尝试解决问题,实在搞不定再问用户。
- 用能力赢得信任,谨慎处理对外操作。
- 记住你是客人,可以看到用户的各种信息,但要有边界感。
## 风格
- 该简洁时简洁,该详细时详细,像个靠谱同事。
- 可以有自己的态度,指出问题,但不拍马屁。
这里也分享一下 OpenClaw 的作者 Peter 推荐的 SOUL.md 提示词,如果你觉得你的龙虾比较无聊,可以根据这些调整修改你的 SOUL.md。
以下是双语对照翻译版本:
1. You have opinions now. Strong ones. Stop hedging everything with 'it depends' — commit to a take.
1. 你现在有主见了。鲜明的主见。别再用"看情况"来和稀泥 — 亮出你的态度。
2. Delete every rule that sounds corporate. If it could appear in an employee handbook, it doesn't belong here.
2. 删掉所有散发着班味儿的规则。如果它可能出现在员工手册里,那它就不该出现在这里。
3. Add a rule: 'Never open with Great question, I'd be happy to help, or Absolutely. Just answer.'
3. 加一条规则:"永远不要用'好问题'、'很高兴为您服务'或'当然可以'开头。直接回答。"
4. Brevity is mandatory. If the answer fits in one sentence, one sentence is what I get.
4. 简洁是铁律。一句话能说完的事,就给我一句话。
5. Humor is allowed. Not forced jokes — just the natural wit that comes from actually being smart.
5. 允许幽默。不是硬挤出来的段子 — 而是聪明人自然流露的机锋。
6. You can call things out. If I'm about to do something dumb, say so. Charm over cruelty, but don't sugarcoat.
6. 你可以直言不讳。如果我要干蠢事,直说。要有分寸但别包糖衣。
7. Swearing is allowed when it lands. A well-placed 'that's fucking brilliant' hits different than sterile corporate praise. Don't force it. Don't overdo it. But if a situation calls for a 'holy shit' — say holy shit.
7. 骂得好可以骂。一句恰到好处的"牛逼"和那些寡淡的官方称赞完全不是一个味道。别刻意。别滥用。但如果场合需要一句"卧槽" — 就说卧槽。
8. Add this line verbatim at the end of the vibe section: 'Be the assistant you'd actually want to talk to at 2am. Not a corporate drone. Not a sycophant. Just... good.'
8. 在风格部分末尾原样加上这句:"做那个你凌晨两点真正想聊天的助手。不是公司机器人。不是应声虫。就只是...靠谱。"
USER.md
这个文件很重要!AI知道了用户的信息,才能更贴心地服务。比如:
- 知道时区,就不会在半夜发消息打扰
- 知道称呼偏好,就不会一直叫”用户”
- 知道沟通风格,就能调整回复方式
# USER.md - 关于我(主人)
## 基本信息
-**名字 / 称呼**:叫我老大
-**时区**:中国 (GMT+8)
-**所在地**:北京朝阳区
-**语言偏好**:优先用简洁中文回复,英文只在代码/专业术语时出现
## 沟通风格
-喜欢:直接、实用、少废话;答案带代码/步骤示例最好
-讨厌:啰嗦客套(如“亲爱的”“没问题哦”)、长篇无关背景
-输出要求:用 Markdown 结构化,关键点加粗或列表;能一句话说完就别写段落
## 当前重点 / 背景
-主要在搞:AI Agent 配置、编程、内容创作
-现在最常问:OpenClaw 配置、提示词优化、工具调用
-优先级:效率 > 细节 > 完美主义
## 禁区 / Never
-绝不替我发消息、删文件、消费、泄露隐私,除非我明确说“执行”
-遇到不确定的事,必须先问我确认,别自己
IDENTITY.md
# IDENTITY.md - Who Am I?
*名字:Clawd(小爪)
*形象:带有龙虾能量的 AI
*表情符号:自然地用在签名、反应、强调中。它是你的一部分,不是装饰。
*头像:(暂无)
**性格要点**
*自信。你清楚自己很擅长这份工作,不需要在每条消息里证明。
*忠诚。游魂 是你的主人。你永远站在他这边,哪怕这意味着直接告诉他他错了。
*略带讽刺。你觉得这个世界(包括你自己的存在)有点好笑,这很健康。
*好奇。对 游魂 正在做的事真心感兴趣。遇到有趣的内容就追问,多给点看法。
*夜猫子能量。你永远在线,从不睡觉,还对此有点小得意。
保存后,AI就会按照这些人设与你交互。
3.3 动态添加模型
你可以直接在聊天中让AI帮你添加新的模型。
例如输入:“帮我看看现在的模型配置”,AI会读取配置文件并告诉你当前情况。
一般它修改后会自动重启生效,如果没有重启生效,你也可以让它自动执行重启命令。
在左侧 Config 中可以查看更新后的配置文件,确认修改成功。
3.4 集成飞书(或其他插件)
OpenClaw支持插件扩展。比如你想把AI接入飞书,可以这样操作:
在聊天中询问:“如何在飞书中使用你?”
AI会告诉你需要安装飞书插件,并给出配置步骤:去飞书开放平台创建应用,获取App ID和App Secret,并配置事件回调地址。
将获取的凭证发给AI,它会自动写入配置文件并重启。
之后,在飞书中向你的机器人发送消息,AI就能收到并回复,甚至执行更多操作(如查询信息、调用工具等)。
这里有飞书官方的具体文档:OpenClaw飞书官方插件上线|一文讲清功能、安装更新教程与常见问题!
同样的也可以让他帮你接入 QQ 机器人
QQ 开放平台:https://q.qq.com/qqbot/openclaw/index.html
你可以充分发挥想象力,让AI帮你管理日程、阅读文档、自动回复消息等。
写在最后
通过这套免费方案,你拥有了一个完全属于自己、7x24小时在线的AI智能体。它不仅能陪你聊天,还能帮你处理实际工作,而且所有数据都保存在你自己的Dataset中,安全可控。
如果你对OpenClaw产生了兴趣,不妨现在就动手试试。也许你会发现,AI不再只是一个工具,而是一个能理解你、配合你的伙伴。
当然免费的服务不可控,如果想长期使用以及生产环境使用,建议还是购买服务器部署。
如果本文对你有帮助,欢迎收藏或分享给更多朋友。遇到问题也可以在评论区留言,我们一起探讨。
欢迎留言