前文,分享的OpenClaw教程火了:

永久免费 OpenClaw 部署和实战,7x24在线,手把手教程

评论区,还有很多朋友,遇到了不少卡点。

今日分享,先把前文的填上,让更多朋友先上车。

其次,梳理下这段时间在OpenClaw上的实践和思考。

因此,全文略长,共 9 部分,各位按需取用:

  • 免费API申领
  • OpenClaw容器化部署
  • 消息通道接入指南
  • 技能系统接入指南
  • 两层记忆机制剖析
  • 定时任务机制剖析
  • 智能体和会话机制
  • 浏览器自动化指南
  • 节点接入指南

1. 免费API申领

前文带大家申领NVIDIA的API,虽完全免费,但有速率限制-40RPM。

白嫖的多了,架不住平台进一步限速。

反应慢,大概率是LLM请求被限速了。

因此,本文继续分享两款国内API平台,有免费额度,方便大家快速体验OpenClaw

1.1 硅基流动

注册:https://cloud.siliconflow.cn/i/DrgxdqSF,+16元免费额度。

模型广场:https://cloud.siliconflow.cn/me/models。推荐用Pro/系列

拿到 api_key 后,同时保存请求地址:

OPENAI_API_BASEhttps://api.siliconflow.cn/v1

1.2 七牛云

注册:https://s.qiniu.com/YBVZ73,+1000万Token免费额度。

模型广场:https://portal.qiniu.com/ai-inference/model

使用邀请奖励:

拿到 api_key 后,同时保存请求地址:

OPENAI_API_BASEhttps://api.qnaigc.com/v1

2. OpenClaw容器化部署

2.0 最低资源配置

笔者在一台2c2g的机器上测试过:

# free -m
               total        used        free      shared  buff/cache   available
Mem:            1966        1479         164           1         497         487
Swap:           4095         743        3352

OpenClaw gateway启动后,内存占用1500M左右,结合虚拟内存,可以无压力运行。

因此,HuggingFace上免费的2c16g实例绰绰有余。

前文,分享了如何在HuggingFace上新建SpaceDataset,以实现持久运行和状态保存。

具体步骤,参考前文,不再赘述。

这里笔者重新梳理了Space的文件,方便大家配置:

注:所有文件已打包,需要的朋友,文末自取。

下面,梳理下这些文件的具体作用。

2.1 镜像构建文件

Dockerfile,容器运行的基础环境,Space启动时先构建镜像,然后才会拉起一个容器。

在上一版镜像的基础上,这里集成了更多基础能力:

  • 浏览器自动化
  • 语音识别和语音合成
  • 视频处理

大家可按需修改:

2.2 openclaw默认配置

openclaw依靠根目录下的openclaw.json配置文件运行。

为此,独立出来编辑,填入不需要变动的默认配置。

比如,接入不同的模型供应商:

再比如,接入不同的消息通道:

我们把 api_key 等敏感参数,通过环境变量配置,在space设置中添加。

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,将space置为公开:

space的运行状态变成running,恭喜你,你的openclaw已成功启动!

打开你的 Space 地址看看吧:

https://{user}-{space}.hf.space

注:私有space,只有在登录时才能访问上述地址,所以要把space置为公开。

3. 消息通道接入指南

OpenClaw 的核心亮点:一个 Gateway 连接所有消息通道。

本文主要分享如何接入国内的三个通道:

  • 飞书
  • 企业微信
  • 微信

3.1 接入飞书

最新版openclaw已接入飞书,不需要额外安装插件。

你只需要前往飞书开发平台,创建一个应用:

https://open.feishu.cn/app

拿到 AppIDAppSecret,对应刚才配置文件中的环境变量。

然后,在事件与回调中,采用长连接订阅事件:

给应用开通权限,也可以导入其它应用配置好的权限(文末自取):

配置成功后,在飞书中给机器人发消息试试~

如果没收到回复,前往控制台,让openclaw帮你看看哪里出了问题。

踩坑记录:如果飞书无法接收图片,大概率是缺少下面这个权限:

openclaw给飞书发送图片需要两步:

  1. 上传图片到飞书服务器,获取 image_key
  2. 用 image_key 发送图片

即便是图片url,也需要先下载到内存,再上传到飞书服务器。

3.2 接入企业微信

企业微信官方,已支持通过企业微信机器人接入openclaw

参考文档:https://open.work.weixin.qq.com/help2/pc/cat?doc_id=21657

两条命令搞定:

# 安装插件
openclaw plugins install @wecom/wecom-openclaw-plugin
# 不需要重启OpenClaw
# 添加渠道-选择企业微信
openclaw channels add

OpenClaw 的插件系统支持从 npm 仓库安装包。

当你执行 openclaw plugins install xx 时:

  • 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
# 配置
openclaw china setup

4. 技能系统接入指南

Skill 本质上是将最佳实践代码化和文件化。

最早由 claude 提出:

4.1 openclaw的技能系统

openclaw的强大,很大程度上也得益于 skill。

openclaw中,skill存在于3个位置:

  • 内置skills:/usr/local/lib/node_modules/openclaw/skills
# 对应windows下的目录:
C:\Users\admin\AppData\Roaming\npm\node_modules\openclaw\skills
  • 全局skills:~/.openclaw/skills
  • Agent专属skills:~/.openclaw/workspace/skills

OpenClaw 启动时会从三个地方加载 skill:

workspace/skills (最高优先级)
    ↓
~/.openclaw/skills (共享 skills)
    ↓
node_modules/openclaw/skills (内置,最低优先级)

4.2 Skill安装方式

方式1:复制粘贴(最简单)

对于简单的skill,把skill包放到.openclaw/skills/文件夹下即可。

方式2:从技能市场安装

https://clawhub.ai/

openclaw中,clawhub默认已安装。

在市场中找到需要的skill,直接命令行安装:

clawdhub install self-improving-agent

方式3:Skills CLI安装

https://skills.sh/

Vercel 出品的命令行工具,一行命令安装任意开源skills

# 格式
npx skills add vercel-labs/skills@find-skills -g
# 默认会装到 ~/.agents/skills/find-skills
# Skills CLI 自动检测 OpenClaw 存在,创建 symlink 到 ~/.openclaw/skills/
# 如果访问github失败,也可下载到本地后安装
npx skills add ./xx --skill find-skills

4.3 Skill推荐

结合笔者的使用频率,给大家推荐几个值得安装的skill:

其中,超链接都是采用Skills CLI安装的。

1. find-skills

技能发现 - 帮你找有没有现成的 skill

搜索技能:npx skills find <关键词>
安装技能:npx skills add <包名>
浏览地址:https://skills.sh/

2. self-improving-agent

自我改进 - 记录经验教训,持续优化。重要 learnings 可以升级到 SOUL.md、AGENTS.md、TOOLS.md

触发场景:

3. skill-vetter

安全审查 - 安装第三方 skill 前先检查

检查内容:

权限 scope 是否过大
是否有可疑模式(窃密、高风险操作)
来源是否可靠

4. using-superpowers

技能使用规则 - 如何正确调用技能的核心指南

核心原则:即使 1% 的可能性,也要调用 Skill 工具检查

简单说:别偷懒,觉得可能有用就读一下技能,都没用再开干。

5. agent-browser

浏览器自动化 - 基于rust实现的无头浏览器。

打开网页、填表、点击按钮、截图、提取数据
支持表单提交、登录认证、文件下载
可模拟不同设备和视口
指令:agent-browser open <url> → snapshot -i → click @e1 → ...

6. frontend-design

前端界面设计 - 生产级 UI 开发

创建独特、有设计感的界面(避免 AI 的"垃圾审美")
支持 HTML/CSS/JS、React、Vue 等
强调:字体选择、色彩搭配、动效、空间构图
必须选择一个明确的风格方向并执行到位

7. code-reader-v2-cn

源代码深度理解 - 基于认知科学的代码分析

三种模式:
Quick (5-10分钟) - 快速概览
Standard (15-20分钟) - 标准理解
Deep (30分钟+) - 深度掌握
特点:强制"为什么"思考、自我解释测试、检索练习,避免"假懂"

8. tavily-search

Tavily 搜索 - AI 优化的网络搜索

比普通搜索更适合 AI 处理
返回简洁、相关的结果
支持地区和语言过滤

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

  • openai
  • local

配置后,支持语义搜索、混合搜索

  • 混合搜索:向量语义匹配 + BM25 关键词匹配。

记忆调用有两种方式:

memory_search	语义搜索,返回片段+路径+行号
memory_get	按路径读取特定记忆文件

6. 定时任务机制剖析

openclawCron 是 Gateway 内置的任务调度器。

它有两种执行模式:

主会话模式 main:在主会话中跑

  • 适合:需要主会话上下文的简单提醒。
# 例如
openclaw cron add --name "任务名" --cron "0 8 * * *" --session main --system-event "触发时要做的事" --tz "Asia/Shanghai"

隔离模式 isolated:在独立会话中运行(会自动在session列表中创建会话),可以配置自动发送结果到指定通道。

  • 适合:后台任务、定期报告、不想污染主会话的事务。

文件位置:

任务定义: ~/.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 的会话互不影响

默认只有一个 main Agent。

如何创建更多 Agent

命令行创建:

# 假设要创建一个名为 nanny 的 Agent
openclaw agents add nanny --workspace C:\Users\admin\.openclaw\workspace-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(会话)

SessionAgent 与用户之间的对话上下文。

不同会话,以会话键(Session Key)区分,映射规则如下:

如果需要每个通道的会话隔离,需要在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 --enforc

7.4 新建 Session

OpenClaw命令行不支持新建会话。

必须新建一个通道,指定sessionKey,才能新建会话。

目前,小智Pro也是通过这种方式和OpenClaw建立通信,详情可参考:

小智Pro:让小智控制 OpenClaw,一个MCP连接海量Skills

首先,前往小智Pro控制台:https://mkwyqeoebedx.sealosbja.site

指定sessionKey

连接成功后,发送一条消息:

回到 OpenClaw 控制台,查看会话:

点击会话标题,进入聊天页面,即可看到新会话的记录:

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(节点) = 能力层

  • 解决"连接后能干什么"的问题
  • 节点是配套设备(iOS/Android/macOS/无头主机)
  • 暴露具体能力:摄像头、屏幕录制、位置、系统命令等
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
# 执行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 中会看到配对信息,批准后会移到 paird.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主机通信,底层做了这些事:

  1. OpenClaw发指令给windows节点:
openclaw nodes invoke --node win-docker --command browser.proxy 
  1. 节点收到指令后启动 Chrome:
"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=18800 --user-data-dir="C:\Users\admin\.openclaw\browser\openclaw\user-data"
  1. OpenClaw 通过 Chrome DevTools Protocol (CDP) 远程控制浏览器

  2. profile=openclaw 访问gemini

只要我登录账号,数据就会持久化在:

~/.openclaw/browser/openclaw/user-data

写在最后

本文分享了永久免费 OpenClaw 部署的续集:踩坑记录和实战指南。

希望本文,能帮你建立对OpenClaw的全面认识。

动起来,开始和OpenClaw的第一次对话,和先进生产力工具,更近一步。

另:文中提到的所有脚本已打包,供需要的朋友参考,公众号后台回复openclaw自取,免费。

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐