03-17 26人
前言
没想到上一篇 OpenClaw 的教程火了《零成本搭建专属AI助手:OpenClaw永久免费部署全攻略》 ,但评论区也炸了——看来部署的路上确实“坑”不少。为了不让大家的热情卡在最后一步,今天这篇专门用来“填坑”。
我会针对大家反馈最多的部署问题,给出最直接的解决方案。同时,也借这个机会聊聊我近期的一些使用心得。闲言少叙,咱们直接进入正题,帮你顺利上车!
文章较长,共 9 个模块,各位可按需跳读:
- 免费 API 申请渠道
- OpenClaw 容器化部署详解
- 消息通道接入方法
- 技能系统接入指南
- 两层记忆机制深度解析
- 定时任务机制剖析
- 智能体与会话机制
- 浏览器自动化全攻略
- 节点接入实战
1. 免费 API 申请渠道
之前带大家申请的是 NVIDIA 的 API,虽然完全免费,但有速率限制(40 RPM)。
用的人多了,平台难免进一步收紧限流。 反应慢 多半是 LLM 请求被限速所致。
因此,本文再分享两个国内 API 平台,都有免费额度,方便大家快速体验 OpenClaw。
1.1 硅基流动
注册链接:https://cloud.siliconflow.cn/i/wGX463Hv 可获 16 元免费额度。
模型广场:https://cloud.siliconflow.cn/me/models 建议选用 Pro 系列模型。
拿到 API Key 后,同时保存请求地址: OPENAI_API_BASE:https://api.siliconflow.cn/v1
1.2 七牛云
注册链接:https://s.qiniu.com/vM3AJj 可获 1000 万 Token 免费额度。
模型广场:https://portal.qiniu.com/ai-inference/model
使用邀请奖励:
拿到 API Key 后,请求地址为: OPENAI_API_BASE:https://api.qnaigc.com/v1
这里有更多虾粮:https://www.iyouhun.com/post-301.html
2. OpenClaw 容器化部署详解
2.0 最低资源配置
笔者曾在 2 核 2G 的机器上测试过:
# free -m
total used free shared buff/cache available
Mem: 1966 1479 164 1 497 487
Swap: 4095 743 3352
OpenClaw Gateway 启动后内存占用约 1500MB,配合虚拟内存可无压力运行。
因此,HuggingFace 上免费的 2 核 16G 实例绰绰有余。
之前已分享如何在 HuggingFace 新建 Space 和 Dataset 以实现持久运行和状态保存,具体步骤不再重复。
这里重新梳理了 Space 的文件结构,方便大家配置:
注:所有文件已打包,文末提供获取方式。
下面说明各文件的作用。
2.1 镜像构建文件
Dockerfile 定义了容器运行的基础环境。Space 启动时先构建镜像,再拉起容器。
- 浏览器自动化
- 语音识别与合成
- 视频处理
大家可按需修改:
2.2 OpenClaw 默认配置
OpenClaw 依赖根目录下的 openclaw.json 配置文件运行, 因此独立出该文件,方便编辑默认配置。
例如配置不同模型供应商:
又比如接入不同消息通道:
将 api_key 等敏感参数通过环境变量设置,在 Space 的 Settings 中添加。
2.3 状态同步脚本
/root/.openclaw 目录存放所有与 OpenClaw 交互的数据,需永久保存。
新建 sync.py 负责与 Dataset 同步:
- 容器启动时:从
Dataset拉取数据 - 运行时:定时上传数据至 Dataset

2.4 容器启动脚本
该脚本决定容器的运行方式:
最后一步将 OpenClaw 放到后台运行,避免因 Gateway 重启导致容器挂掉、数据丢失。
2.5 配置 Space
回到你的 Space,右上角点击 Settings,拉到最下方 Variables and Secrets,将 openclaw.json 中的所有环境变量填进去。
重点:找到 Space visibility,设为 Public:
当 Space 状态变为 Running,恭喜!你的 OpenClaw 已成功启动!
访问地址:https://{user}-{space}.hf.space
注:私有 Space 只有在登录时才能访问,所以必须设为公开。
3. 消息通道接入方法
OpenClaw 的核心亮点之一:一个 Gateway 连接所有消息通道。
3.1 接入飞书
最新版 OpenClaw 已内置飞书支持,无需额外插件。
参考文档:https://www.feishu.cn/content/article/7613711414611463386
只需前往 飞书开放平台 创建一个应用:
拿到 AppID 和 AppSecret,对应配置文件中的环境变量。
然后在 事件与回调 中,采用 长连接 订阅事件:
开通应用权限,也可导入其他应用配置好的权限(文末自取):
配置成功后,在飞书中给机器人发消息试试~
若未收到回复,可到控制台让 OpenClaw 帮忙排查。
踩坑记录:如果飞书无法接收图片,大概率缺少以下权限:
OpenClaw 给飞书发送图片需两步:
- 上传图片到飞书服务器,获取
image_key - 用
image_key发送图片
3.2 接入企业微信
企业微信官方已支持通过 机器人接入 OpenClaw。
参考文档:https://open.work.weixin.qq.com/help2/pc/cat?doc_id=21657
两条命令搞定:
# 安装插件
openclaw plugins install @wecom/wecom-openclaw-plugin
# 无需重启,添加渠道并选择企业微信
openclaw channels add
OpenClaw 的插件系统支持从 npm 仓库安装包。
执行 openclaw plugins install x 时,OpenClaw 会:
从 npm 下载该包
安装到
~/.openclaw/plugins/自动加载插件,注册企业微信通道
注意:企业微信机器人仅支持企业内部群聊,不可拉到外部群,即个人微信无法与机器人聊天。
3.3 接入个人微信
个人微信需通过 企业自建应用 接入 OpenClaw。
参考文档:https://github.com/BytePioneer-AI/openclaw-china/blob/main/doc/guides/wecom-app/configuration.md
然后通过微信插件的形式接入个人微信:
同样两条命令搞定:
# 安装插件
openclaw plugins install @openclaw-china/wecom-app
# 无需重启,配置
openclaw china setup
3.4 接入QQ
创建 QQ机器人 并绑定至 OpenClaw 环境,即可通过QQ机器人给OpenClaw下达指令。
支持Markdown、图片、语音、文件等多媒体消息收发,手机端QQ、桌面端QQ均可使用。
OpenClaw 原生接入流程
# 1.安装OpenClaw开源社区QQBot插件
openclaw plugins install @tencent-connect/openclaw-qqbot@latest
# 2.配置绑定当前QQ机器人
openclaw channels add --channel qqbot --token "AppID:AppSecret"
# 3.重启本地OpenClaw服务
openclaw gateway restart
4. 技能系统接入指南
Skill 本质上是将最佳实践代码化和文件化,最早由 Claude 提出。
4.1 OpenClaw 的技能系统
OpenClaw 的强大很大程度上得益于 Skill 机制。
在 OpenClaw 中,Skill 存在于三个位置:
- 内置 Skills:
/usr/local/lib/node_modules/openclaw/skills
(Windows 对应:C:UsersadminAppDataRoaming pm ode_modulesopenclawskills) - 全局 Skills:
~/.openclaw/skills - Agent 专属 Skills:
~/.openclaw/workspace/skills
OpenClaw 启动时会按以下优先级加载 Skill:
workspace/skills (最高)
↓
~/.openclaw/skills
↓
node_modules/openclaw/skills (最低)
4.2 Skill 安装方式
方式1:复制粘贴(最简单)
将 Skill 包放到 ~/.openclaw/skills/ 文件夹下即可。
方式2:从技能市场安装
技能市场地址:https://clawhub.ai/
clawdhub install self-improving-agent
注意:默认如果不登录安装可能会限流,使用 Github 登录后生成自己的 CLI token
# 配置登录
clawhub login --token clh_xxxxxxx
方式3:Skills CLI 安装
# 格式
npx skills add vercel-labs/skills@find-skills -g
# 默认会装到 ~/.agents/skills/find-skills
# Skills CLI 自动检测 OpenClaw 存在,创建软链接到 ~/.openclaw/skills/
# 若访问 GitHub 失败,可下载到本地后安装
npx skills add ./xx --skill find-skills
4.3 推荐 Skill
根据笔者使用频率,推荐以下值得快手上手的 Skill
当然你也可以上 https://clawhub.ai/skills?sort=downloads 查看热门 Skill 安装
find-skills
- 搜索技能:
npx skills find <关键词> - 安装技能:
npx skills add <包名> - 浏览地址:https://skills.sh/
- 搜索技能:
self-improving-agent
自我改进——记录经验教训,持续优化。重要学习内容可升级到SOUL.md、AGENTS.md、TOOLS.md。
核心逻辑:让 Agent 记住错误、自我优化。这是让 AI “变聪明” 的最快方式。它赋予了 Agent 反思能力,让它在处理复杂任务时越来越顺手。
skill-vetter
- 权限 scope 是否过大
- 有无可疑模式(窃密、高风险操作)
- 来源是否可靠
tavily-search
- 比普通搜索更适合 AI 处理
- 返回简洁、相关的结果
- 支持地区和语言过滤
summarize
总结——信息消减器
快速总结 URL、PDF、图片、YouTube 视频。
5. 两层记忆机制深度解析
OpenClaw 如何记住你?
答案是:Markdown(文件) + SQLite(向量索引)
5.1 文件记忆
~/.openclaw/agents/main
└── sessions/
└── *.jsonl # 会话记忆(自动记录)
~/.openclaw/workspace/
├── MEMORY.md # 长期记忆(精华浓缩,存储决策、偏好、经验教训)
└── memory/
└── YYYY-MM-DD.md # 每日笔记(默认加载今天 + 昨天的日志)
5.2 向量记忆
向量保存和检索流程:
Markdown 文件 → 分块(约 400 token,80 token 重叠)
↓
生成嵌入向量(OpenAI/Gemini/本地模型)
↓
存入 SQLite(chunks 表 + chunks_fts 全文索引)
↓
查询时:混合搜索(向量相似度 + BM25 关键词)
数据库位置:~/.openclaw/memory/main.sqlite
注:SQLite 只是索引层,真正的记忆仍是 Markdown 文件。
默认配置是 FTS-only(无向量嵌入)。要启用向量搜索,需在 openclaw.json 中配置 memorySearch.provider:
openailocal- …
配置后支持语义搜索、混合搜索(向量语义匹配 + BM25 关键词)。
记忆调用有两种方式:
memory_search:语义搜索,返回片段+路径+行号memory_get:按路径读取特定记忆文件
6. 定时任务机制剖析
OpenClaw 的 Cron 是 Gateway 内置的任务调度器。
它有两种执行模式:
主会话模式(main):在主会话中运行,适合需要主会话上下文的简单提醒。
openclaw cron add --name "任务名" --cron "0 8 * * *" --session main --system-event "触发时要做的事" --tz "Asia/Shanghai"隔离模式(isolated):在独立会话中运行(会自动在会话列表中创建会话),可配置自动发送结果到指定通道,适合后台任务、定期报告、不想污染主会话的事务。
文件位置:
- 任务定义:
~/.openclaw/cron/jobs.json - 执行历史:
~/.openclaw/cron/runs/xx.jsonl
常用命令:
# 查看任务列表
openclaw cron list
# 修改任务
openclaw cron edit <任务ID> --system-event "新消息"
# 手动测试
openclaw cron run <任务ID>
7. 智能体与会话机制
7.1 Agent(智能体)
Agent 是 OpenClaw 的核心概念——一个完整的大脑,包含:
| 组件 | 说明 |
|---|---|
| Workspace | 工作目录,存放 AGENTS.md、SOUL.md、USER.md 等配置文件 |
| Agent 状态 | ~/.openclaw/agents/agentId/agent/ |
| 会话汇总 | ~/.openclaw/agents/agentId/sessions/sessions.json |
| 会话记录 | ~/.openclaw/agents/agentId/sessions/sessionId.jsonl |
Agent 的特性:
- 技能独立:通过各自的
skills/文件夹加载技能,也可共享全局技能 - 会话隔离:不同 Agent 的会话互不影响
- 默认只有一个
mainAgent
如何创建更多 Agent?
# 假设创建一个名为 nanny 的 Agent
openclaw agents add nanny --workspace C:Usersadmin.openclawworkspace-nanny
创建成功后,如何与 Agent 对话:
# 若没有会话,会自动创建一个 main session
openclaw agent --to nanny --message "hi"
# 给指定 Agent + 指定会话发消息
openclaw agent --to nanny --session-id test --message "hi"
7.2 多 Agent 路由
多 Agent 场景下,可通过 bindings 将不同通道的消息路由到对应 Agent:
# 查看所有 bindings
openclaw agents list --bindings
具体配置可在 openclaw.json 中添加路由映射:
"bindings": [
{
"agentId": "main",
"match": {
"channel": "feishu",
"accountId": "main"
}
}
]
7.3 Session(会话)
Session 是 Agent 与用户之间的对话上下文。
若需每个通道的会话隔离,可在 openclaw.json 中启用 DM 模式:
"session": {
"dmScope": "per-channel-peer"
}
这样,每个通道连接成功都会自动新建一个 Session。
此外,建议定期清理会话文件:
"session": {
"maintenance": {
"mode": "enforce", // 自动清理
"pruneAfter": "30d", // 30 天不活跃的会清理
"resetArchiveRetention": "1d" // 1 天前的重置会话会清理
}
}
也可手动管理:
# 查看会话列表
openclaw sessions list
# 查看特定 Agent 的会话
openclaw sessions --agent nanny
# 清理会话(预览)
openclaw sessions cleanup --dry-run
# 强制清理
openclaw sessions cleanup --enforce
8. 浏览器自动化全攻略
OpenClaw 拥有联网能力,本质上有 3 种工具:
- web_search:调用 Brave 等搜索引擎
- web_fetch:给定具体 URL,发送 HTTP 请求获取 HTML
- browser:交互式操作浏览器
3 种工具的适用场景如下:
下面重点介绍 browser 的两种模式。
8.1 browser 简介
browser 有两种模式:
- 有头模式(chrome):必须有桌面环境(Windows/macOS/Linux 桌面版)
- 无头模式(后台):
无需桌面环境
browser 指令举例:
# 以用户 openclaw 登录
browser open --profile openclaw --url https://github.com/trending
# 获取页面文本 + 元素结构(非截图)
browser snapshot --refs aria
8.2 有头浏览器
有头浏览器的工作原理:
┌─────────────────────────────────────┐
│ Chrome (桌面浏览器) │
│ ┌─────────────────────────────┐ │
│ │ OpenClaw Browser Relay 扩展 │ │
│ └─────────────────────────────┘ │
│ ↓ (通过 chrome.debugger) │
│ Local Relay Server (端口 18792) │
└─────────────────────────────────────┘
↓ (WebSocket 通过 Gateway)
OpenClaw:
┌─────────────────────────────────────┐
│ browser 工具 (profile="chrome") │
│ → 发送命令到你的 Relay │
│ → Relay 控制你的 Chrome 标签页 │
└─────────────────────────────────────┘
配置步骤:
- 前往 Chrome 应用商店安装 OpenClaw Browser Relay:

- 输入 token 并保存:

- 新开标签页,确保状态为 ON:

8.3 无头浏览器
无头浏览器适合 VPS、容器等无桌面环境。
┌─────────────────────────────────────┐
│ OpenClaw Gateway │
│ ┌─────────────────────────────────┐ │
│ │ browser 工具 │ │
│ │ → 启动本地 Chrome 进程 │ │
│ │ → 通过 CDP 协议通信 │ │
│ └─────────────────────────────────┘ │
└─────────────────────────────────────┘
↓ CDP
┌─────────────────────────────────────┐
│ Chrome (无头模式) │
│ --headless --no-sandbox │
└─────────────────────────────────────┘
首先安装依赖:
# 安装 Playwright 和 Chromium
npx playwright install chromium --with-deps
然后在 openclaw.json 中配置无头模式:
"browser": {
"enabled": true,
"executablePath": "/root/.cache/ms-playwright/chromium-1208/chrome-linux64/chrome",
"headless": true,
"noSandbox": true,
"defaultProfile": "openclaw"
}
踩坑提醒:容器重启后,若 Chrome 的锁文件(SingletonLock, SingletonSocket)未清理,会导致新进程无法启动。解决方案:
# 启动前删除锁文件
rm -rf ~/.openclaw/browser/openclaw/user-data/Singleton*
9. 节点接入实战
OpenClaw 的节点(Nodes)用于 “远程控制终端” 。
我们可以通过 OpenClaw 远程控制手机、电脑等终端,实现拍照、截屏、获取位置、发送通知、执行命令等。
9.1 设备与节点的区别
- Device(设备) = 配对身份层,解决 “谁可以连接” 的问题:
operator(操作员,管理 Gateway)node(节点,提供能力)
- Node(节点) = 能力层,解决 “连接后能干什么” 的问题:
Device
├── role: operator → 操作员,管理 Gateway
└── role: node → 节点,暴露能力(camera/screen/canvas...)
9.2 节点接入示例
假设我们要在远程 Linux 主机上调用 Windows 主机上的浏览器。
如何将 Windows 主机以 Node 形式连接到远程 Linux 主机上的 Gateway?
实测最好通过 SSH 隧道转发:
# 将 Windows 的 18790 通过 SSH 隧道转发到远程 62.234.xx.xx 的 18789
ssh -N -L 18790:127.0.0.1:18789 root@62.234.xx.xx
# 在 Windows 上执行 Node 连接
$env:OPENCLAW_GATEWAY_TOKEN="xxx"; openclaw node run --host 127.0.0.1 --port 18790 --display-name "win-docker"
第一次连接会报错(未配对)
node host gateway connect failed: pairing required
此时在远程Linux 主机的 device/pending.json 中会看到配对信息,批准后移到 paired.json。
# 再次运行
$env:OPENCLAW_GATEWAY_TOKEN="xxx"; openclaw node run --host 127.0.0.1 --port 18790 --display-name "win-docker"
控制台显示连接成功
最后修改 Windows 主机的 ~/.openclaw/exec-approvals.json:
{
"version": 1,
"socket": {
"path": "C:\Users\admin\.openclaw\exec-approvals.sock",
"token": "xx"
},
"defaults": {
"security": "full",
"ask": "off",
"askFallback": "allow"
}
}
这样远程 Linux 主机就可以执行任何操作,无需手动确认。
测试访问 Windows 的浏览器,能否访问 Gemini?
原理:Linux 主机通过 browser 工具与 Windows 节点通信,底层流程:
OpenClaw 发指令给 Windows 节点
openclaw nodes invoke --node win-docker --command browser.proxy节点收到指令后启动 Chrome
"C:Program FilesGoogleChromeApplicationchrome.exe" --remote-debugging-port=18800 --user-data-dir="C:Usersadmin.openclawrowseropenclawuser-data"OpenClaw通过Chrome DevTools Protocol (CDP)远程控制浏览器以
profile=openclaw访问Gemini,登录后数据持久化在~/.openclaw/browser/openclaw/user-data
写在最后
纸上得来终觉浅,绝知此事要躬行。本文不仅是 OpenClaw 部署的 避坑地图 ,更是一份通往高效生产力的实战指南。
希望读罢此文,你不仅能避开我们踩过的雷,更能鼓起勇气亲手搭建起属于自己的 AI 助手。别犹豫了,现在就去和 OpenClaw 打个招呼,让它成为你工作流中的超级外挂吧!
欢迎留言