OpenClaw 🦞
“EXFOLIATE! EXFOLIATE!” — 一只太空龙虾,大概
跨平台 + WhatsApp/Telegram/Discord/iMessage Gateway,连接 AI Agent(Pi)。
Plugin 支持 Mattermost 等更多平台。
发条消息,就能从口袋里获得 Agent 响应。
GitHub · 发布版本 · 文档 · OpenClaw 助手设置
OpenClaw 把 WhatsApp(通过 WhatsApp Web / Baileys)、Telegram(Bot API / grammY)、Discord(Bot API / channels.discord.js)和 iMessage(imsg CLI)连接到编程 Agent,比如 Pi。Plugin 还支持 Mattermost(Bot API + WebSocket)等更多平台。 OpenClaw 也为 OpenClaw 助手提供支持。
从这里开始
- 全新安装:快速入门
- 引导式设置(推荐):向导(
openclaw onboard) - 打开控制面板(本地 Gateway): http://127.0.0.1:18789/(或 http://localhost:18789/)
如果 Gateway 在同一台电脑上运行,点击链接就能立即打开浏览器控制界面。如果打不开,先启动 Gateway:openclaw gateway。
Dashboard(浏览器控制界面)
Dashboard 是浏览器控制界面,用于聊天、配置、节点、Session 等管理。 本地默认地址:http://127.0.0.1:18789/ 远程访问:Web 界面 和 Tailscale
工作原理
WhatsApp / Telegram / Discord / iMessage (+ plugins)
│
▼
┌───────────────────────────┐
│ Gateway │ ws://127.0.0.1:18789 (loopback-only)
│ (single source) │
│ │ http://<gateway-host>:18793
│ │ /__openclaw__/canvas/ (Canvas host)
└───────────┬───────────────┘
│
├─ Pi agent (RPC)
├─ CLI (openclaw …)
├─ Chat UI (SwiftUI)
├─ macOS app (OpenClaw.app)
├─ iOS node via Gateway WS + pairing
└─ Android node via Gateway WS + pairing
大部分操作都通过 Gateway(openclaw gateway)流转,这是一个长期运行的单一进程,负责管理 Channel 连接和 WebSocket 控制平面。
网络模型
- 每台主机一个 Gateway(推荐):它是唯一允许持有 WhatsApp Web Session 的进程。如果你需要备用机器人或严格隔离,可以用独立的配置文件和端口运行多个 Gateway;参见多 Gateway。
- 本地回环优先:Gateway WS 默认为
ws://127.0.0.1:18789。- 向导现在默认生成 Gateway Token(即使是本地回环)。
- 要通过 Tailnet 访问,运行
openclaw gateway --bind tailnet --token ...(非本地回环绑定需要 Token)。
- 节点:连接到 Gateway WebSocket(根据需要通过 LAN/tailnet/SSH);旧的 TCP 桥接已弃用/移除。
- Canvas host:HTTP 文件服务器,运行在
canvasHost.port(默认18793),为节点 WebView 提供/__openclaw__/canvas/;参见 Gateway 配置(canvasHost)。 - 远程使用:SSH 隧道或 tailnet/VPN;参见远程访问和发现机制。
功能特性(概览)
- 📱 WhatsApp 集成 — 使用 Baileys 实现 WhatsApp Web 协议
- ✈️ Telegram Bot — 通过 grammY 支持私信 + 群组
- 🎮 Discord Bot — 通过 channels.discord.js 支持私信 + 服务器频道
- 🧩 Mattermost Bot(Plugin) — Bot Token + WebSocket 事件
- 💬 iMessage — 本地 imsg CLI 集成(macOS)
- 🤖 Agent 桥接 — Pi(RPC 模式)+ 工具流式传输
- ⏱️ Streaming + 分块 — 块流式传输 + Telegram 草稿流式传输详情(/concepts/streaming)
- 🧠 多 Agent Routing — 将 Provider 账号/对等方路由到隔离的 Agent(Workspace + 每个 Agent 的 Session)
- 🔐 订阅认证 — Anthropic(Claude Pro/Max)+ OpenAI(ChatGPT/Codex)通过 OAuth
- 💬 Session — 私聊会合并到共享的
main(默认);群组是隔离的 - 👥 群聊支持 — 默认基于提及;所有者可以切换
/activation always|mention - 📎 媒体支持 — 发送和接收图片、音频、文档
- 🎤 语音消息 — 可选的转录钩子
- 🖥️ WebChat + macOS 应用 — 本地界面 + 菜单栏伴侣,用于操作和语音唤醒
- 📱 iOS 节点 — 作为节点配对并提供 Canvas 界面
- 📱 Android 节点 — 作为节点配对并提供 Canvas + 聊天 + 相机
注意:旧的 Claude/Codex/Gemini/Opencode 路径已移除;Pi 是唯一的编程 Agent 路径。
快速开始
运行环境要求:Node ≥ 22。
# 推荐:全局安装(npm/pnpm)
npm install -g openclaw@latest
# 或:pnpm add -g openclaw@latest
# 引导 + 安装服务(launchd/systemd 用户服务)
openclaw onboard --install-daemon
# 配对 WhatsApp Web(显示二维码)
openclaw channels login
# 引导后 Gateway 通过服务运行;也可以手动运行:
openclaw gateway --port 18789
在 npm 和 git 安装之间切换很简单:安装另一种方式,然后运行 openclaw doctor 更新 Gateway 服务入口点。
从源码安装(开发):
git clone https://github.com/openclaw/openclaw.git
cd openclaw
pnpm install
pnpm ui:build # 首次运行时自动安装 UI 依赖
pnpm build
openclaw onboard --install-daemon
如果你还没有全局安装,可以在仓库中通过 pnpm openclaw ... 运行引导步骤。
多实例快速开始(可选):
OPENCLAW_CONFIG_PATH=~/.openclaw/a.json \
OPENCLAW_STATE_DIR=~/.openclaw-a \
openclaw gateway --port 19001
发送测试消息(需要运行中的 Gateway):
openclaw message send --target +15555550123 --message "Hello from OpenClaw"
配置(可选)
配置文件位于 ~/.openclaw/openclaw.json。
- 如果你什么都不做,OpenClaw 会使用内置的 Pi 二进制文件,以 RPC 模式运行,每个发送者一个 Session。
- 如果你想锁定权限,从
channels.whatsapp.allowFrom和(群组的)提及规则开始。
示例:
{
channels: {
whatsapp: {
allowFrom: ["+15555550123"],
groups: { "*": { requireMention: true } },
},
},
messages: { groupChat: { mentionPatterns: ["@openclaw"] } },
}
文档
- 从这里开始:
- Provider 和用户体验:
- 配套应用:
- 运维和安全:
名字的由来
OpenClaw = CLAW + TARDIS — 因为每只太空龙虾都需要一台时空机器。
“我们都只是在玩自己的 Prompt。” — 一个 AI,可能嗑多了 Token
致谢
- Peter Steinberger(@steipete)— 创建者,龙虾语者
- Mario Zechner(@badlogicc)— Pi 创建者,安全渗透测试员
- Clawd — 要求更好名字的太空龙虾
核心贡献者
- Maxim Vovshin(@Hyaxia, [email protected])— Blogwatcher Skill
- Nacho Iacovino(@nachoiacovino, [email protected])— 位置解析(Telegram + WhatsApp)
许可证
MIT — 像海洋中的龙虾一样自由 🦞
“我们都只是在玩自己的 Prompt。” — 一个 AI,可能嗑多了 Token