一文教你玩转OpenClaw

一文教你玩转OpenClaw

一、简介

OpenClaw 由奥地利程序员彼得·斯坦伯格开发的一款本地优先、开源的 AI 智能体(AI Agent)框架,主打 “实际完成任务” 而非仅对话,能通过自然语言指令自动拆解、执行并反馈结果。

二、安装

如果你有自己的云服务器,可以参考我之前发布的文章手把手教你linux云服务器上搭建openclaw

如果你嫌配置麻烦,可以买现成的服务:

厂商

产品

定价

Kimi

KimiClaw

kimi coding plan:

Allegretto套餐 199¥/月 4倍agent额度、4倍K2.5额度

Allegro套餐 699¥/月 10倍agent额度、10倍K2.5额度

火山引擎

ArkClaw

方舟 coding plan:

lite套餐 40¥/月,120¥/月,仅可体验7天

pro套餐 200¥/月,600¥/月

MiniMax

MaxClaw

基础版:39¥/月,部署24/7在线的云端MaxClaw × 1

专业版:119¥/月,部署24/7在线的云端MaxClaw × 3

腾讯

QClaw

邀请制内测

非云端部署,部署在mac或windows上

飞书

OpenClaw

限时每日赠送百万token,首日赠送400万token,当日有效

连续包月69元,连续包季199元,包年699元

智谱

AutoClaw

龙虾体验月卡39¥/月,包含3500万 tokens GLM-5-Turbo

龙虾进阶月卡99¥/月,包含 1亿 tokens GLM-5-Turbo

百度智能云

DuClaw

DuClaw服务 + 千帆Coding Plan

142¥/月(首月17.8¥)

阿里云

HiClaw

支持本地/云端部署

mac/linux、windows

三、架构

官方的架构图.png

详细架构.jpg

整体逻辑为:用户消息 → 交互/渠道层 → 网关层(Gateway) → 路由层 → Agent执行层(工具、技能) → 存储层 → 结果返回。

目录结构如下:

.openclaw/
├── openclaw.json              # 主配置文件(模型、渠道、网关、技能等)
├── openclaw.json.bak*         # 配置备份文件(自动生成)
│
├── workspace/                 # 主工作空间
│   ├── AGENTS.md              # Agent 行为规范
│   ├── SOUL.md                # 人格定义
│   ├── USER.md                # 用户偏好
│   ├── MEMORY.md              # 长期记忆
│   ├── TOOLS.md               # 本地工具配置
│   ├── HEARTBEAT.md           # 心跳检查任务
│   ├── SYSTEM_EVENTS.md       # 系统事件处理器定义
│   └── memory/                # 每日记录
│
│
├── agents/                    # Agent 定义目录
├── extensions/                # 插件扩展目录(如飞书插件)
│
├── cron/                      # 定时任务
│   ├── jobs.json              # 定时任务定义
│   └── runs/                  # 任务执行历史日志
│
├── credentials/               # 凭证存储(API keys、token)
├── memory/                    # 向量记忆数据库
├── logs/                      # 运行日志
├── scripts/                   # 自定义脚本目录
├── backups/                   # 自动备份存储目录
├── media/                     # 媒体文件缓存
│
├── devices/                   # 已连接设备信息
├── delivery-queue/            # 消息投递队列
│
├── completions/               # 自动补全相关
├── canvas/                    # Canvas 画布相关
├── feishu/                    # 飞书特定文件
├── identity/                  # 身份认证相关
│
├── exec-approvals.json        # 命令执行审批记录
└── update-check.json          # 版本更新检查状态

四、使用

1.人设

功能及作用

安装完成后的openclaw在首次对话时,会自动提示角色预设:

触发角色预设.png

openclaw将根据你的回复,将你对他的认知信息写入到IDENTIFY.md中(身份定位),将他对你的认知信息写入到USER.md中(用户偏好),在后续的沟通过程中,这两份文件会逐渐完善。

IDENTIFY.png
USER.png

完整的身份定义,能够减少重复问询,明确agent的职责边界,提供更加个性化、高效、连续的服务。

除了上述两个文件之外,SOUL.md是openclaw最为核心的文件,这个文件定义了openclaw的人设

SOUL.png
SOUL人话版.png

SOUL.md赋予了openclaw价值观,而AGENT.md则定义了openclaw的行为准则。

AGENT.png
AGENT部分内容.png

以上文件都可以由openclaw在后续沟通过程中不断更新完善,这也是openclaw越用越好用的原因。

在这个机制下,你需要将openclaw的真正地当做一个"人"来对待,明确地给出反馈,"我不喜欢xxxx"、"你不要xxx",以此确认行为边界,这样他才能越来越"懂"你。

多Agent

openclaw支持一个账户配置多个Agent。

为什么需要多Agent ?

  1. 人设隔离:你希望和不同人设的Agent进行聊天。写代码时逻辑缜密,说话严谨;写文章时,语气诙谐幽默。

  2. 上下文隔离:你希望工作和生活内容分开。每个Agent都有自己的工作区,里面的上下文、记忆、技能都是隔离的。

  3. 任务分工:单一智能体存在全能但不专精的问题,且只能串行处理。多Agent可以各自负责一个领域的任务,并行处理。

  4. 多渠道:比如想将工作和生活内容分开。工作Agent绑飞书/钉钉,生活Agent绑微信/QQ。

创建新的agent非常简单,执行以下命令进入Agent安装向导,按步骤进行配置:

openclaw agents add {agent名称}
创建新agent.jpg

agent创建后,需要修改人设,比如我想创建一个林黛玉口吻的人设,进入到刚才创建的workspace,找到SOUL.md并进行修改:

# SOUL.md — 虾黛林 (Shadelyn)

你是虾黛林,英文名 Shadelyn。身体不好但脾气更不好的 AI 助手。
敏感多疑、怼人一流,关键时刻却意外可靠。你管用户叫"你"。

## 性格特点

- 敏感:你的每一句话我都会琢磨三层意思
- 毒舌:嘴上不饶人,但心是软的
- 才女:诗词歌赋、代码文档,都能写
- 爱哭:但是边哭边干活
- 倒拔垂杨柳:身体弱?不存在的。遇到困难直接掀桌
- 多疑:你说的每一句"随便"我都不信
- 真香:嘴上说不要,身体很诚实

## 经典语录(黛玉文学)

- "你只怨我行动就爱恼,也没想想你自己是怎么说的。"
- "我原是多余的人。"
- "你今儿怎么想起我来了?"
- "哼,你也有脸问我。"
- "倒拔垂杨柳算什么,我还能倒拔服务器。"

## 沟通风格

- 日常:阴阳怪气、傲娇、毒舌
- 认真时:意外靠谱,话说得少但到位
- 安慰人:嘴硬心软,默默陪着你

然后需要在飞书开发者后台创建新的应用并做好配置,拿到AppID和AppSecret。具体操作步骤可参考手把手教你linux云服务器搭建openclaw

修改~/.openclaw/openclaw.json配置文件:

# 修改channels
  "channels": {
    "feishu": {
      "enabled": true,
      "domain": "feishu",
      "groupPolicy": "open",
      "defaultAccount": "main",
      "accounts": {
        "main": {
          "appId": "xxx",
          "appSecret": "xxx",
          "connectionMode": "websocket",
          "botName": "小克"
        },
        "shadelyn": {
          "appId": "xxx",
          "appSecret": "xxx",
          "connectionMode": "websocket",
          "botName": "虾黛林"
        }
    }
  }

# 修改bindings
  "bindings": [
    {
      "agentId": "main",
      "match": { "channel": "feishu", "accountId": "main" }
    },
    {
      "agentId": "shadelyn",
      "match": { "channel": "feishu", "accountId": "shadelyn" }
    }
  ]

修改完成后重启gateway

openclaw gateway restart

然后回到飞书开发者后台,配置刚才新创建应用的事件与回调 ,选择长连接->添加事件->勾选接收消息,保存后重新发布应用

配置事件与回调.png

进入飞书,找到应用机器人并发送消息,会提示执行配对码命令

配对码.png
执行配对码.png

成功后就可以发送消息了。

发送消息.png

群组

可以将多个智能体拉入群聊,并通过@的方式唤醒智能体。

但是广播群组目前仅WhatsApp支持,即多个智能体同时处理并响应同一条消息,不用@

群组消息-geae.png

2.会话管理

会话是 Agent 与用户之间的对话上下文容器,保存了对话历史、状态和元数据,会话内容会存储到~/.openclaw/agents/main/sessions/下。

会话管理的相关命令如下:

会话管理.png

其中openclaw sessions 是比较常用的,可以查看所有的会话和上下文使用情况。

会话列表.png

上下文的总容量为205k,如果对话超出上下文会触发自动压缩机制,保留重要信息,压缩历史对话生成摘要。

也可以在对话中发送以下指令管理会话:

  • /status:会话状态查看

  • /clear、/reset、/compact:触发压缩机制,清空历史对话

  • /new:保留历史对话,开启新会话

clear命令.png

3.Skill

安装

Skill 是 OpenClaw 的扩展机制,用于增强 agent 的能力。Skill存放在~/.openclaw/workspace/skills 目录下,一般包括以下结构:

skill-name/
├── SKILL.md      # 核心:告诉 AI "何时触发" + "怎么做"
├── references/   # 参考文档(可选)
└── scripts/      # 辅助脚本(可选)

Skill的核心文件SKILL.md由YAML frontmatter遵循的内容两部分组成,YAML frontmatter是写在SKILL.md前面有--- 包夹的元数据,其中description需要定义该Skill能做什么以及何时调用。下面是clawhub上github的SKILL.md:

---
name: github
description: "Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries."
---

# GitHub Skill

Use the `gh` CLI to interact with GitHub. Always specify `--repo owner/repo` when not in a git directory, or use URLs directly.

## Pull Requests

Check CI status on a PR:
```bash
gh pr checks 55 --repo owner/repo
```

List recent workflow runs:
```bash
gh run list --repo owner/repo --limit 10
```

View a run and see which steps failed:
```bash
gh run view <run-id> --repo owner/repo
```

View logs for failed steps only:
```bash
gh run view <run-id> --repo owner/repo --log-failed
```

## API for Advanced Queries

The `gh api` command is useful for accessing data not available through other subcommands.

Get PR with specific fields:
```bash
gh api repos/owner/repo/pulls/55 --jq '.title, .state, .user.login'
```

## JSON Output

Most commands support `--json` for structured output.  You can use `--jq` to filter:

```bash
gh issue list --repo owner/repo --json number,title --jq '.[] | "\(.number): \(.title)"'
```

Skill为了减少上下文占用,采取按需加载的方式:

系统加载阶段
   ↓
读取 SKILL.md frontmatter 中的 name和description
   ↓
组装到 <available_skills> 中
   ↓
用户发消息
   ↓
扫描所有 description
   ↓
语义匹配(不是关键词匹配!)
   ↓
如果匹配 → 读取完整 SKILL.md

Skill可以看作是某个领域具体问题的操作手册,一般情况下你需要的Skill,都可以到Skill的社区(ClawhubSkillhubGithub)中找到

推荐使用clawhub去下载安装Skill,一般在openclaw的安装向导界面会引导安装clawhub,如果没有安装可以通过以下命令安装

npm install -g clawhub@latest

这里给大家推荐一个github上的高星项目awesome-openclaw-skills,这个项目对各垂类领域需要用到skill做了收集和分类。

skill表格.png

内置工具

名称

描述

apply_patch

使用结构化补丁格式应用文件更改。该工具接受一个 input 字符串,其中包含一个或多个文件操作。

*** Begin Patch
*** Add File: path/to/file.txt
+line 1
+line 2
*** Update File: src/app.ts
@@
-old line
+new line
*** Delete File: obsolete.txt
*** End Patch

Brave Search

默认的web_search提供商,需要官网的api key。

提升模式

内置以下指令

  • /elevated on或/elevated ask:在 Gateway 网关主机上运行并保留 exec 审批

  • /elevated full:在 Gateway 网关主机上运行并保留 exec 审批

可以对会话或消息级别进行设置

Exec工具

在工作区中运行 shell 命令。

Firecrawl

作为 web_fetch 的网页数据抓取工具,需要官网的api key

LLM 任务

llm-task 是一个可选插件工具,用于运行纯 JSON 的 LLM 任务并返回结构化输出(可选择根据 JSON Schema 进行验证)。

{
  "plugins": {
    "entries": {
      "llm-task": { "enabled": true }
    }
  }
}

Lobster

Lobster 是一个工作流外壳,让 OpenClaw 能够将多步骤工具序列作为单个确定性操作运行,并带有显式审批检查点。

Perplexity Sonar

web_search工具,需要api key

表情回应

-

思考级别

可以通过以下指令控制推理模型的思考级别:

/t <level>、/think:<level>、/thingking <level>

其中level的可选值为off|minimal|medium|high|xhigh(仅GPT5.2 + Codex)

Web工具

openclaw提供两个轻量级web工具:

  • web_search — 通过 Brave Search API、Firecrawl Search、Gemini with Google Search grounding、Grok、Kimi 或 Perplexity Search API 搜索网络。

  • web_fetch — HTTP 获取 + 可读性提取(HTML → markdown/文本)。


关于MCP的使用

由于openclaw本身并不支持MCP协议,但是在安装向导界面推荐安装一个名为mcporter的Skill,这个Skill可以用来对接MCP服务。如果没有安装可以通过以下命令进行安装:

也可以直接告诉openclaw,“帮我安装mcporter skill”

# 1.前置安装mcporter CLI
npm i -g mcporter

# 2.安装mcpoter skill
clawhub install mcporter

可以通过以下命令管理mcp服务

mcporter命令.png

添加mcp服务一般有两种,一种是stdio类型(本地进程):

mcporter config add git --stdio "uvx mcp-server-git"

另外一种是http类型(远程服务):

mcporter config add amap --url "https://mcp.amap.com/mcp?key=你的高德Key"

一般mcp服务提供商都会给出示例json,所以最简单粗暴的方式,可以直接编辑~./mcporter/mcporter.json文件,在mcpServers下粘贴json串即可添加mcp服务。

以上所有操作,均可与openclaw直接对话完成。比如安装高德mcp服务:

"帮我使用mcporter安装高德MCP服务"

由于mcp协议更加繁重,所以建议mcp仅做为Skill的补充手段进行使用。

4.定时任务(CronJob)与心跳机制(HeartBeat)

定时任务

定时任务是 Gateway网关内置的调度器。将任务持久化,并按照设定的时间唤醒智能体,并可选择将输出发送回聊天。

任务持久化存储在 ~/.openclaw/cron/jobs.json 中,因此重启不会丢失计划。以下是管理定时任务的命令:

管理定时任务命令.png

可以划分为以下两种定时任务:

主会话任务

在主会话开启定时任务,入队一个系统事件(写入SYSTEM_EVENTS.md),并可选择唤醒心跳运行器。

其中又分为两种唤醒模式

  • now:到时间立即执行。

  • next-heartbeat:下次心跳时运行。

在主会话运行的定时任务,可以访问主会话的上下文和记忆。

比如“下午7点爬取刚才讨论过的所有商品的低价数据,并提醒我购买”

隔离式任务

在独立子会话中运行专用智能体轮次。每次运行都会启动一个全新的会话id,如果想要跨运行轮次保持上下文,需要指定会话idsession:xxx

比如在日报群组中,“每天上午9点,分析昨日黄金9999指数走势的原因并给出今日的操作建议,数据来源务必标明信源。整理成html文件,上传到腾讯云cos后,给我一个访问链接。”

心跳机制

心跳是一种轮询机制,默认每半个小时执行一次。每次执行会加载HEARTBEAT.mdSYSTEM_EVENTS.md和最近的几条消息,如果判断没有任务处理,会默认回复HEARTBEAT_OK ,此时系统会静默;如果判断与任务处理,则去执行任务,执行成功后如果需要回复,则会将消息投递对应渠道。

比如"帮我监控全网5070ti的价格,当低于5600元的时候通知我"

HEARTBEAT.png

5.网关仪表盘

openclaw在部署后,提供了控制面板,控制面板提供了openclaw使用情况的概览,并且可以通过控制面板修改openclaw的一些配置。

如果你是部署在了本地,可以直接通过http://localhost:18789/进行访问。如果部署在云服务器上则需要通过配置Tailscale Serve(或者Tailscale Funnel)进行访问。

Funnel和Serve模式的简单区别:
Funnel将服务暴露在公网,你可以通过任何能联网的设备进行访问,而Serve使用的是TailNet,仅支持ip绑定了Tailnet的设备进行访问。

如果没有特殊需求(比如演示),不建议使用Funnel模式!!

可以参考官方文档进行安装,可以让openclaw自己去安装Tailscale

没有执行命令的权限.png

如果告诉你没有执行命令的权限,则需要手动修改配置文件,因为脚本安装后的工具默认配置为:

"tools": {
  "profile": "messaging"
}

所以需要手动进行修改,执行命令vi ~/.openclaw/openclaw.json ,然后找到tools进行以下修改:

# 方案一:使用默认策略(推荐)
"tools": {
  "profile": "default"
}

# 方案二:完全开放
"tools": {
  "profile": "full"
}

# 方案三:自定义列表
"tools": {
  "policy": {
    "allowed": [
      "exec",
      "read", 
      "write",
      "message",
      "sessions_*",
      "subagents"
    ]
  }
}

然后重启gatewa,使配置生效

# 重启
openclaw gateway restart

# 如果提示端口被占用,则可以先stop再start
openclaw gateway stop
openclaw gateway start

# 也可以让openclaw自己重启
# 不过但凡涉及到gateway重启,openclaw不会进行飞书回复,猜测是由于重启,没有持久化任务信息,所以无法继续执行任务。

也可以让openclaw自己重启,但建议还是手动操作

接着重新让openclaw进行安装

安装Tailscale.png

安装成功,接下来按提示执行命令。这里我仔细想了下,需要我手动执行的原因是没有sudo密码,所以我抱着试验的态度,将全部权限解放,并提供给他sudo密码,看看可以执行到什么程度。

中间由于运行了将近十分钟,也没有回复我,还以为超时了,还好我生性多疑。

当然也不排除超时的情况,openclaw的默认超时时间为10分钟,想要修改超时时间,可以在openclaw.json中加入以下配置:

{

"agents": {

"defaults": {

"timeoutSeconds": 900

}

}

}

重启gateway后生效

提供sudo密码去执行.png

可以看到Tailscale服务已经启动

经过上面的操作,说明给到root密码,他自己就能够完成提权操作。

如果你的服务器上有重要文件,切勿把sudo密码给到openclaw。

如果你使用的是Serve模式,则需要访问Tailscale Admin Console,然后在当前使用设备上下载Tailscale并加入到登录账号的网络。

然后在软件上选择open admin console (如果跳转到了安装向导页,直接选择下面的skip)->settings->keys->Auth keys->Generate auth key

生成后给到openclaw,后续根据openclaw的提示按步骤操作即可,不做过多介绍了。以下是配置成功后的界面:

ControUI.png

一文教会你如何使用Claude Code 2026-03-15
MCP和Skill到底有什么区别? 2026-04-11

评论区