OpenClaw 介绍


概述

OpenClaw 是一个开源的 AI Agent 网关与运行时,让你在自己的机器或服务器上运行一个统一的网关进程,把 WhatsApp、Telegram、Discord、iMessage 等聊天应用接到可执行任务的 AI 助手(如 Pi 等编码/对话 Agent)上。数据与逻辑都在你控制的硬件上,不依赖厂商云托管。

不是“又一个聊天界面”,而是:

  • 多通道网关:一个 Gateway 同时服务多个聊天平台;
  • Agent 原生:为“会规划、会调工具、有会话与记忆”的 Agent 设计,而不是简单的一问一答;
  • 自托管:开源(MIT)、本地或自有服务器部署,数据与配置由你掌控。

适合开发者、自动化重度用户,以及希望基于 Agent 能力做二次产品的人。

起源与演进

OpenClaw 的前身是一系列“能让 AI 真正干活”的试验:

flowchart LR
    A[Clawdbot] --> B[Moltbot]
    B --> C[OpenClaw]
    A --> A1[终端实验
自主执行与协调] B --> B1[Agent 运行时
规划/工具/持久记忆] C --> C1[模块化引擎
网关 + 多通道 + 可扩展]
  • Clawdbot:早期实验,探索 AI 能否持续运行、观察环境、触发动作、协调工具,而不只是单次问答。
  • Moltbot:引入“Agent 运行时”概念——可规划任务、选择工具、分步执行、在多次运行间保持记忆;支持 24/7 运行、Slack/Telegram/Discord、cron 等,但偏极客向。
  • OpenClaw:在 Moltbot 基础上把 Agent 核心做成可复用、可扩展的引擎,并加上多通道网关,成为“一个进程对接多端、多 Agent”的统一入口。

因此,OpenClaw 既是连接聊天应用与 Agent 的网关,也代表一套以规划、工具、长时任务为核心的 Agent 运行时设计。

核心定位:三件事

从能力上看,OpenClaw 主要做三件事:

1. Agent 运行时

运行的是会规划、会执行的 AI Agent:对目标进行推理、拆成步骤、动态选择工具并执行,而不是简单的提示链。这是一套执行循环,而不是单次调用。

2. 工具抽象层

行为不写死在代码里,而是通过工具扩展:API、系统集成、定时任务、浏览器操作、自定义脚本等。每个工具显式、可审查、可授权,在灵活和可控之间取得平衡。

3. 长时运行的工作流引擎

面向“长期在线”的场景:按计划唤醒、响应事件、保持状态,在数小时、数天甚至数周内持续工作,因此常被部署在服务器或常开机器上。

整体架构与消息流

OpenClaw 采用多阶段管道:消息从某个聊天渠道进入,经网关、会话路由、Agent 运行器、Agentic Loop,再经响应路径回到对应渠道。

flowchart LR
    subgraph 入口
        C1[WhatsApp]
        C2[Telegram]
        C3[Discord]
        C4[iMessage]
    end
    subgraph 网关与路由
        GW[Gateway Server]
        SR[Session Router]
        LQ[Lane Queue]
    end
    subgraph Agent 侧
        AR[Agent Runner]
        AL[Agentic Loop]
        LLM[LLM API]
    end
    subgraph 出口
        R[Response Path]
    end
    C1 --> GW
    C2 --> GW
    C3 --> GW
    C4 --> GW
    GW --> SR --> LQ --> AR
    AR --> LLM
    LLM --> AL
    AL -->|需继续调工具| AR
    AL -->|最终回复| R
    R --> C1
    R --> C2
    R --> C3
    R --> C4
  • Gateway Server:统一入口,负责会话、路由和通道连接,是“唯一事实来源”。
  • Session Router + Lane Queue:把消息归到对应会话,并控制并发,避免多会话互相抢占或丢上下文。
  • Agent Runner:在请求到达 LLM 前做准备——解析用哪个模型、组装系统提示(工具/技能/记忆)、加载会话历史;还有 Context Window Guard 负责在接近 token 上限时压缩上下文。
  • Agentic Loop:收到 LLM 输出后,先判断是否包含工具调用;若有则执行工具、把结果再喂回 LLM,循环直到得到最终文本;若无则把回复交给 Response Path。正是这个循环让 OpenClaw 能自动串联多步操作,而不是每步都要用户再发一条消息。
  • Response Path:把最终文本按流式拆成块,经 Channel Adapter 转成各平台格式,送回对应渠道。

关键能力

能力 说明
多通道网关 一个 Gateway 同时服务 WhatsApp、Telegram、Discord、iMessage 等
插件通道 通过扩展支持 Mattermost 等更多渠道
多 Agent 路由 按 Agent、工作区或发送者做会话隔离与路由
媒体支持 收发图片、音频、文档等
Web Control UI 浏览器控制台:聊天、配置、会话、节点管理
移动节点 配对 iOS/Android 节点,支持 Canvas、相机/屏幕、语音等流程

快速开始

环境:Node 22+,以及所选模型/提供方的 API Key。

1
2
3
4
5
6
7
8
9
# 安装
npm install -g openclaw@latest

# 引导配置并安装守护进程
openclaw onboard --install-daemon

# 登录通道(如 WhatsApp)并启动网关
openclaw channels login
openclaw gateway --port 18789

启动后可在浏览器打开 Control UI,默认:http://127.0.0.1:18789/。远程访问可配合 Web surfacesTailscale

配置(可选)位于 ~/.openclaw/openclaw.json,可配置允许的联系人、群组 @ 规则等;不配置时通常使用内置的 Pi 二进制(RPC 模式)及按发送者隔离的会话。

OpenClaw 命令行指令汇总

安装与快速启动

指令 说明
npm install -g openclaw@latest 全局安装最新版 OpenClaw
openclaw onboard --install-daemon 引导式配置并安装守护进程
openclaw channels login 登录通道(如 WhatsApp、Telegram 等)
openclaw gateway --port 18789 启动网关服务,指定端口(默认示例为 18789)

典型使用顺序:安装 → 引导配置并安装守护进程 → 登录通道 → 启动网关。启动后 Control UI 默认地址:http://127.0.0.1:18789/


核心指令

指令 说明
openclaw onboard 交互式引导配置(可配合 --install-daemon 安装守护进程)
openclaw gateway 管理网关进程:启动、停止、重启、状态;可指定 --port--host
openclaw chat 向 Agent 发送消息,可指定格式、模型、上下文等
openclaw status 查看网关与系统状态
openclaw logs 查看网关日志,支持过滤与实时流式输出

使用说明

  • onboard
    • 直接运行 openclaw onboard 会进入交互式向导;加上 --install-daemon 可同时安装为系统守护进程,便于开机自启或后台常驻。
  • gateway
    • 语法:openclaw gateway [start|stop|restart|status] [选项]
    • 常用选项:--port <端口>(默认 18789)、--host <地址>(默认 127.0.0.1)、--daemon(后台运行)。
    • 示例:openclaw gateway start --port 18789openclaw gateway status
  • chat
    • 在终端里直接和 Agent 对话,可指定输出格式、模型、上下文长度等,适合调试或脚本调用。
  • status
    • 查看网关是否在跑、端口、基本健康状态,排错时先跑一次。
  • logs
    • 查看网关日志,支持按时间/级别过滤和实时滚动(类似 tail -f),便于排查连接、通道或 Agent 问题。

Skills(技能)指令

指令 说明
openclaw skill list 列出已安装的技能
openclaw skill install <name|path> 安装指定技能(名称或本地路径)
openclaw skill remove <name> 卸载指定技能
openclaw skill test <name|path> 测试技能(可不安装直接测)
openclaw skill config <name> 查看或设置技能配置

使用说明

  • 安装来源:可从本地路径安装(如 openclaw skill install ./my-skill),或通过 ClawHub/市场安装(见下文 clawhub)。
  • 技能目录:默认安装到当前工作目录下的 ./skills;若配置了 OpenClaw 工作区,则安装到该工作区的 skills 目录。可用环境变量 CLAWHUB_WORKDIR--workdir 覆盖。
  • 技能结构:一个技能通常是一个目录,内含必需的 SKILL.md(描述与元数据),以及可选配置与脚本。
  • 安装后验证:安装后建议执行一次 openclaw skill test <name> 或在实际任务里做一次小范围试跑,确认权限与能力符合预期;可用 openclaw skill list 查看已安装列表。
  • configopenclaw skill config <skill-name> 可查看或交互式设置该技能所需配置项(如 API Key、目标路径等)。

手动实现一个 Skill 并接入 OpenClaw

Skill 是扩展 Agent 能力的主要方式:一个 目录 里放一份 SKILL.md(给 LLM 的说明与元数据),再加可选的脚本或配置,即可被 OpenClaw 发现并注入到 Agent 的上下文中。

1. 技能是什么

  • 必需:目录内有一个 SKILL.md(或 skill.md),用 YAML frontmatter + Markdown 正文 描述技能做什么、何时用、用哪些工具。
  • 可选scripts/ 下的脚本、配置文件、依赖说明等;若技能需要执行代码,可在正文里指导 Agent 调用系统工具(如 bash)或声明自定义工具。

Agent 运行时会把已加载技能的 SKILL.md 内容纳入提示上下文,因此技能是可读、可审、可版本管理的“能力菜单”。

2. 创建技能目录

两种常见方式:

方式 A:在工作区里直接建目录(推荐本地开发)

1
2
# 默认工作区技能目录
mkdir -p ~/.openclaw/workspace/skills/my-skill

方式 B:在任意路径建目录,用 CLI 安装

1
2
mkdir -p /path/to/my-skill
# 之后用 openclaw skill install 安装到当前工作区(见下文)

3. 编写 SKILL.md

最小示例(仅必填元数据 + 简短说明):

1
2
3
4
5
6
7
8
---
name: my_skill
description: 一句话说明这个技能做什么。
---

# My Skill

当用户需要 XXX 时,使用 YYY 工具/步骤完成。具体做法:…

常用 frontmatter 字段

字段 说明
name 技能标识,安装后以该名出现在 skill list
description 简短描述,便于 Agent 和用户理解用途
version 可选,版本号
author 可选,作者
metadata.openclaw.requires 可选,声明依赖(二进制、环境变量、配置等)
metadata.openclaw.primaryEnv 可选,主要环境变量名(如 API Key)
metadata.openclaw.install 可选,安装/依赖安装说明
permissions 可选,声明所需权限(如 filesystem:readnetwork:outbound
triggers 可选,触发方式(如关键词、cron 计划、webhook 路径)

正文部分用 Markdown 写:在什么场景下用这个技能、建议用哪些工具、步骤与注意事项等,相当于给 LLM 的“使用手册”。若需用系统已有工具(如 bashbrowser),在正文里说明即可;也可在 frontmatter 或正文中定义/引用自定义工具。

稍完整示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
---
name: daily_brief
description: 生成今日待办与天气摘要。
version: 1.0.0
metadata:
openclaw:
primaryEnv: OPENWEATHER_API_KEY
requires: network
---

# Daily Brief Skill

当用户说「今日摘要」「今天有什么」时:

1. 调用天气 API(若已配置 OPENWEATHER_API_KEY)获取当地天气。
2. 结合用户历史待办或日历(若有权访问)生成简短摘要。
3. 用自然语言回复,控制在 3 句以内。

4. 安装并让 OpenClaw 加载

从本地路径安装到当前工作区

1
2
3
openclaw skill install ./my-skill
# 或绝对路径
openclaw skill install /path/to/my-skill

安装后技能会出现在工作区的 skills 目录(受 CLAWHUB_WORKDIR--workdir 影响),并纳入下次加载。

不安装、仅从额外目录加载:在 ~/.openclaw/openclaw.jsonskills.load.extraDirs 里加上你的技能目录,例如:

1
2
3
4
5
6
7
8
{
"skills": {
"load": {
"extraDirs": ["/path/to/my-skill-parent-dir"],
"watch": true
}
}
}

使新技能生效:若开启了 load.watch,保存 SKILL.md 后下一轮 Agent 请求会自动发现;否则可重启网关或让 Agent “刷新 skills”。

5. 验证与配置

  • 列出已安装技能openclaw skill list
  • 测试(可不安装直接测)openclaw skill test ./my-skillopenclaw skill test my_skill
  • 配置项/环境变量openclaw skill config my_skill 查看或交互设置(如 API Key)
  • 和 Agent 对话验证openclaw agent --message "用一下我的 XXX 技能" 或通过 Control UI 发消息

若技能声明了 metadata.openclaw.primaryEnv 或配置项,可在 openclaw.jsonskills.entries["my_skill"] 下配置 apiKeyenvenabled 等(参见 Skills Config)。

6. 小结

步骤 操作
1 建目录,如 ~/.openclaw/workspace/skills/my-skill 或任意路径
2 在目录内新建 SKILL.md,写 YAML frontmatter(至少 namedescription)+ Markdown 使用说明
3 openclaw skill install <path> 安装,或在 skills.load.extraDirs 中配置目录
4 依赖 watch 或重启网关使新技能被加载
5 openclaw skill list / openclaw skill test / 与 Agent 对话验证

更多格式与发布方式可参考官方文档 Creating SkillsClawHub


Channels(通道)指令

指令 说明
openclaw channels login 链接通道设备(如 WhatsApp 扫码登录)
openclaw channels list 列出已配置的通道
openclaw channel add 添加通道
openclaw channel remove 移除通道
openclaw channel status 查看通道状态
openclaw channel reconnect 重连通道

使用说明

  • 登录通道(如 WhatsApp)
    • 基本:openclaw channels login --channel whatsapp
    • 多账号时指定账号:openclaw channels login --channel whatsapp --account work
    • 执行后会生成二维码,用手机 WhatsApp(类似“链接设备”)扫码即可完成配对,无需 Meta Business 账号,适合个人或测试。
  • 配置策略:通道的允许联系人、群组规则等可在配置文件 ~/.openclaw/openclaw.jsonchannels 下设置(如 dmPolicyallowFromgroupPolicygroupAllowFrom 等)。
  • 配对审批(若启用 pairing 模式)
    • 查看待审批:openclaw pairing list whatsapp
    • 批准:openclaw pairing approve whatsapp <CODE>
    • 配对请求通常 1 小时内有效,单通道待处理数一般有上限(如 3 个)。
  • 建议:生产或长期使用建议用专用号码,避免与个人号混用导致路由混乱。

其他常用指令

指令 说明
openclaw agent 向 Agent 发消息,可指定思考级别等
openclaw message send 通过通道发送消息
openclaw config 查看或修改配置
openclaw clawhub 与技能市场交互:搜索、安装、发布、浏览
openclaw security 安全审计与技能扫描

使用说明

  • agent
    • chat 类似,面向“Agent”的入口,可指定思考深度、模型等,适合需要多步推理或工具调用的对话。
  • message send
    • 从命令行通过已配置的通道发消息,可配合脚本做通知或自动化。
  • config
    • 查看或修改当前使用的配置;配置文件默认路径为 ~/.openclaw/openclaw.json。修改后一般需重启网关或重新加载才生效。
  • clawhub
    • 子命令示例:openclaw clawhub search "关键词" 搜索技能、openclaw clawhub install <skill-name> 从市场安装、openclaw clawhub publish / browse 发布或浏览。也可在浏览器打开 clawhub.ai 搜索后按页面说明用 CLI 安装。
  • security
    • 对已安装技能做安全扫描与审计,建议在安装第三方技能后定期执行。

排错与健康检查

排查时可按顺序使用:

  1. openclaw status — 看网关与整体状态
  2. openclaw health — 健康检查
  3. openclaw doctor — 诊断常见环境与配置问题

再根据报错类型检查 openclaw gatewayopenclaw node / openclaw nodes 等。


全局常用参数

参数 说明
--version 打印版本号
--help 显示帮助(可接在任意子命令后,如 openclaw gateway --help
--config <文件> 使用指定配置文件
--verbose 详细输出
--quiet 减少非必要输出
--json 以 JSON 格式输出,便于脚本解析
--profile <名称> 使用隔离环境,状态目录为 ~/.openclaw-<名称>
--dev 开发模式,状态目录为 ~/.openclaw-dev,默认端口会偏移
--no-color 关闭彩色输出

具体子命令的选项以 openclaw <command> --help 为准。

适用人群

  • 开发者 / 工程师:需要完全掌控 Agent、自托管、可扩展与执行过程透明。
  • 自动化重度用户:需要长期在线的 AI 助手、定时/事件驱动的工作流和真实任务执行,而不只是对话。
  • 产品与平台构建者:希望基于“Agent 引擎”做上层应用(如自己的 UI、看板或服务),而不从零实现 Agent 核心。

机器人等扩展方向

OpenClaw 本身是“任意 OS 上的 Agent 网关与运行时”,并非专为机器人设计;但社区已有人将其与具身 AI / 机器人结合:

  • 通过自然语言发指令(如“把红色方块放进盒子”),由具身模型(如 Gemini Robotics-ER、Qwen VLM 等)理解并转为机器人动作。
  • ClawBody 等桥接层把 OpenClaw 与实体硬件、MuJoCo 仿真连接,支持先在仿真里训练再部署到真机,形成“零代码/低代码机器人”的探索方向。

这类应用体现的是:OpenClaw 作为可扩展的 Agent 运行时,可以在网关与编码 Agent 之外,被接到更多“执行层”(包括机器人)上。

小结

  • OpenClaw = 自托管 多通道网关 + Agent 运行时(规划、工具、长时任务、会话与记忆)。
  • 消息流:聊天渠道 → Gateway → Session Router → Lane Queue → Agent Runner → LLM → Agentic Loop(可选多轮工具调用)→ Response Path → 渠道
  • Agentic Loop 是它与“普通聊天机器人”的关键区别:能自动串联多步工具调用,直到任务结束再回复用户。
  • 适合自托管、多通道、多 Agent 场景;机器人等是社区在引擎之上的扩展方向。

如需最新安装步骤与配置项,建议以官方文档为准:docs.openclaw.ai


文章作者: djaigo
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 djaigo !
评论
  目录