OpenClaw 🦞

"EXFOLIATE! EXFOLIATE!" — 一只太空龙虾,大概

OpenClaw

适用于任何操作系统 + WhatsApp/Telegram/Discord/iMessage 网关的 AI 代理(Pi)。
插件添加 Mattermost 等更多支持。 发送消息,获得代理响应 — 从你的口袋里。

GitHub · 发布 · 文档 · OpenClaw 助手设置

OpenClaw 将 WhatsApp(通过 WhatsApp Web / Baileys)、Telegram(Bot API / grammY)、Discord(Bot API / channels.discord.js)和 iMessage(imsg CLI)桥接到像 Pi 这样的编码代理。插件添加 Mattermost(Bot API + WebSocket)等更多支持。OpenClaw 也为 OpenClaw 助手提供支持。

从这里开始

如果网关在同一台计算机上运行,该链接会立即打开浏览器控制界面。如果失败,首先启动网关:openclaw gateway

仪表板(浏览器控制界面)

仪表板是用于聊天、配置、节点、会话等的浏览器控制界面。本地默认:http://127.0.0.1:18789/ 远程访问:Web 界面Tailscale

工作原理

WhatsApp / Telegram / Discord / iMessage (+ 插件)
        │
        ▼
  ┌───────────────────────────┐
  │          网关             │  ws://127.0.0.1:18789 (仅 loopback)
  │     (单一源)              │
  │                           │  http://<gateway-host>:18793
  │                           │    /__openclaw__/canvas/ (Canvas 主机)
  └───────────┬───────────────┘
              │
              ├─ Pi 代理 (RPC)
              ├─ CLI (openclaw …)
              ├─ 聊天界面 (SwiftUI)
              ├─ macOS 应用 (OpenClaw.app)
              ├─ iOS 节点通过网关 WS + 配对
              └─ Android 节点通过网关 WS + 配对

大多数操作通过网关openclaw gateway)流动,这是一个拥有频道连接和 WebSocket 控制平面的长期运行进程。

网络模型

  • 每台主机一个网关(推荐):它是唯一允许拥有 WhatsApp Web 会话的进程。如果你需要救援机器人或严格隔离,使用隔离的配置文件和端口运行多个网关;参见多个网关
  • 优先 Loopback:网关 WS 默认为 ws://127.0.0.1:18789
    • 向导现在默认生成网关令牌(即使对于 loopback)。
    • 对于 Tailnet 访问,运行 openclaw gateway --bind tailnet --token ...(非 loopback 绑定需要令牌)。
  • 节点:连接到网关 WebSocket(根据需要使用 LAN/tailnet/SSH);旧版 TCP 桥接已弃用/移除。
  • Canvas 主机:HTTP 文件服务器在 canvasHost.port(默认 18793)上,为节点 WebView 提供 /__openclaw__/canvas/;参见网关配置canvasHost)。
  • 远程使用:SSH 隧道或 tailnet/VPN;参见远程访问发现

功能(高级)

  • 📱 WhatsApp 集成 — 使用 Baileys 进行 WhatsApp Web 协议
  • ✈️ Telegram Bot — 通过 grammY 的 DM + 群组
  • 🎮 Discord Bot — 通过 channels.discord.js 的 DM + 公会频道
  • 🧩 Mattermost Bot(插件) — Bot 令牌 + WebSocket 事件
  • 💬 iMessage — 本地 imsg CLI 集成(macOS)
  • 🤖 代理桥接 — Pi(RPC 模式)与工具流
  • ⏱️ 流式 + 分块 — 块流式 + Telegram 草稿流式详情(/concepts/streaming
  • 🧠 多代理路由 — 将提供商帐户/对等方路由到隔离代理(工作区 + 每代理会话)
  • 🔐 订阅认证 — 通过 OAuth 的 Anthropic(Claude Pro/Max)+ OpenAI(ChatGPT/Codex)
  • 💬 会话 — 直接聊天合并到共享的 main(默认);群组是隔离的
  • 👥 群聊支持 — 默认基于提及;所有者可以切换 /activation always|mention
  • 📎 媒体支持 — 发送和接收图像、音频、文档
  • 🎤 语音笔记 — 可选转录钩子
  • 🖥️ WebChat + macOS 应用 — 本地界面 + 用于操作和语音唤醒的菜单栏伴侣
  • 📱 iOS 节点 — 作为节点配对并暴露 Canvas 界面
  • 📱 Android 节点 — 作为节点配对并暴露 Canvas + 聊天 + 相机

注意:旧版 Claude/Codex/Gemini/Opencode 路径已被移除;Pi 是唯一的编码代理路径。

快速开始

运行时要求: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

# 网关在入职后通过服务运行;手动运行仍然可能:
openclaw gateway --port 18789

稍后在 npm 和 git 安装之间切换很容易:安装另一种风格并运行 openclaw doctor 更新网关服务入口点。

从源代码(开发):

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

发送测试消息(需要正在运行的网关):

openclaw message send --target +15555550123 --message "Hello from OpenClaw"

配置(可选)

配置位于 ~/.openclaw/openclaw.json

  • 如果你什么都不做,OpenClaw 使用 RPC 模式下的捆绑 Pi 二进制文件和每发送者会话。
  • 如果你想锁定它,从 channels.whatsapp.allowFrom 和(对于群组)提及规则开始。

示例:

{
  channels: {
    whatsapp: {
      allowFrom: ["+15555550123"],
      groups: { "*": { requireMention: true } }
    }
  },
  messages: { groupChat: { mentionPatterns: ["@openclaw"] } }
}

文档

名称

OpenClaw = CLAW + TARDIS — 因为每个太空龙虾都需要一台时空机器。


"我们都只是在玩我们自己的提示。" — 一个 AI,可能沉迷于 token

致谢

  • Peter Steinberger@steipete)— 创建者,龙虾低语者
  • Mario Zechner@badlogicc)— Pi 创建者,安全渗透测试员
  • Clawd — 要求更好名字的太空龙虾

核心贡献者

许可证

MIT — 像海洋中的龙虾一样自由 🦞


"我们都只是在玩我们自己的提示。" — 一个 AI,可能沉迷于 token