OpenClaw 是一款运行在您自己的设备上的个人 AI 助手。
它可以通过您常用的渠道(WhatsApp、Telegram、Slack、Discord、Google Chat、Signal、iMessage、BlueBubbles、IRC、Microsoft Teams、Matrix、飞书、LINE、Mattermost、Nextcloud Talk、Nostr、Synology Chat、Tlon、Twitch、Zalo、Zalo Personal、WebChat)回复您。它支持 macOS/iOS/Android 系统,并可渲染由您控制的实时 Canvas 界面。网关只是控制平台,产品本身才是真正的助手。
如果您想要一款感觉像本地助手一样、快速响应且始终在线的单用户个人助手,那么 OpenClaw 就是您的理想之选。
推荐设置:在终端中运行引导程序(openclaw onboard)。
该引导程序会逐步指导您完成网关、工作区、通道和技能的设置。推荐使用命令行引导程序,它可在**macOS、Linux 和 Windows(通过 WSL2;强烈推荐)**上运行。
支持 npm、pnpm 或 bun。
全新安装?请从这里开始:入门指南
运行时环境:Node ≥22。
npm install -g openclaw@latest
# 或:pnpm add -g openclaw@latest
openclaw onboard --install-daemon
该向导会安装网关守护进程(launchd/systemd 用户服务),以确保其持续运行。
运行时环境:Node ≥22。
完整入门指南(身份验证、配对、频道):入门指南
openclaw onboard --install-daemon
openclaw gateway --port 18789 --verbose
# 发送消息
openclaw message send --to +1234567890 --message "Hello from OpenClaw"
# 与助手对话(可选择将消息转发至任何已连接的频道:WhatsApp/Telegram/Slack/Discord/Google Chat/Signal/iMessage/BlueBubbles/IRC/Microsoft Teams/Matrix/Feishu/LINE/Mattermost/Nextcloud Talk/Nostr/Synology Chat/Tlon/Twitch/Zalo/Zalo Personal/WebChat)
openclaw agent --message "Ship checklist" --thinking high
升级? 更新指南(并运行openclaw doctor)。
稳定版:已标记的正式版(vYYYY.M.D 或 vYYYY.M.D-<补丁>),npm dist-tag latest。
测试版:已标记的预发布版(vYYYY.M.D-beta.N),npm dist-tag beta(macOS 应用可能缺失)。
开发版:main 分支的最新版本,npm dist-tag dev(发布时)。
切换渠道(git + npm):openclaw update --channel stable|beta|dev。
详情:开发渠道。
推荐使用 pnpm 从源代码构建。bun 用于直接运行 TypeScript,是可选的。
git clone https://github.com/openclaw/openclaw.git
cd openclaw
pnpm install
pnpm ui:build # 首次运行时自动安装 UI 依赖项
pnpm build
pnpm openclaw onboard --install-daemon
# 开发循环(TypeScript 更改时自动重新加载)
pnpm gateway:watch
注意:pnpm openclaw ... 直接运行 TypeScript(通过 tsx)。pnpm build 生成 dist/ 目录,用于通过 Node 运行打包的 openclaw 二进制文件。
OpenClaw 连接到真实的私信界面。将收到的私信视为不受信任的输入。
完整安全指南:安全
Telegram/WhatsApp/Signal/iMessage/Microsoft Teams/Discord/Google Chat/Slack 的默认行为:
私信配对(dmPolicy="pairing" / channels.discord.dmPolicy="pairing" / channels.slack.dmPolicy="pairing";旧版:channels.discord.dm.policy, channels.slack.dm.policy):未知发件人会收到一个简短的配对码,机器人不会处理他们的消息。
使用以下命令批准:openclaw pairing approve <频道> <代码>(然后将发件人添加到本地允许列表存储中)。
公开接收私信需要明确选择加入:设置 dmPolicy="open" 并将 "*" 添加到频道允许列表(allowFrom / channels.discord.allowFrom / channels.slack.allowFrom;旧版:channels.discord.dm.allowFrom, channels.slack.dm.allowFrom)。
运行 openclaw doctor 以查找存在风险/配置错误的私信策略。
本地优先网关 — 为会话、频道、工具和事件提供统一的控制平台。
多渠道收件箱 — 支持 WhatsApp、Telegram、Slack、Discord、Google Chat、Signal、BlueBubbles (iMessage)、iMessage (旧版)、IRC、Microsoft Teams、Matrix、飞书、LINE、Mattermost、Nextcloud Talk、Nostr、Synology Chat、Tlon、Twitch、Zalo、Zalo Personal、WebChat、macOS 和 iOS/Android。
多代理路由 — 将入站频道/帐户/对等节点路由到独立的代理(工作区 + 每个代理的会话)。
语音唤醒 + 对话模式 — macOS/iOS 上的唤醒词和 Android 上的连续语音(ElevenLabs + 系统 TTS 回退)。
一流的工具 — 浏览器、画布、节点、定时任务、会话以及 Discord/Slack 操作。
Gateway WS 控制平面,包含会话、状态、配置、定时任务、Webhooks、控制界面 和 Canvas 主机。
Pi 代理运行时,采用 RPC 模式,支持工具流和块流。
通讯渠道: WhatsApp (Baileys), Telegram (grammY), Slack (Bolt), Discord (discord.js), Google Chat (Chat API), Signal (signal-cli), BlueBubbles (iMessage,推荐) iMessage(旧版 imsg)、IRC、Microsoft Teams、Matrix、Feishu、LINE、Mattermost、Nextcloud Talk、Nostr、Synology Chat Tlon、Twitch、Zalo、Zalo Personal、WebChat。
Android 节点:连接选项卡(设置代码/手动)、聊天会话、语音选项卡、Canvas、摄像头/屏幕录制以及 Android 设备命令(通知/位置/短信/照片/联系人/日历/动态/应用更新)。
macOS 节点模式: system.run/notify + canvas/相机曝光。
浏览器控制: 专用 OpenClaw Chrome/Chromium,快照、操作、上传、配置文件。
节点: 相机快照/剪辑、屏幕录制、location.get、通知。
技能平台:捆绑式、托管式和工作区技能,支持安装限制和用户界面。
Tailscale Serve/Funnel或SSH隧道,支持令牌/密码认证。
WhatsApp / Telegram / Slack / Discord / Google Chat / Signal / iMessage / BlueBubbles / IRC / Microsoft Teams / Matrix / Feishu / LINE / Mattermost / Nextcloud Talk / Nostr / Synology Chat / Tlon / Twitch / Zalo / Zalo Personal / WebChat
│
▼
┌───────────────────────────────┐
│ Gateway │
│ (control plane) │
│ ws://127.0.0.1:18789 │
└──────────────┬────────────────┘
│
├─ Pi agent (RPC)
├─ CLI (openclaw …)
├─ WebChat UI
├─ macOS app
└─ iOS / Android nodes
网关 WebSocket 网络 — 用于客户端、工具和事件的单一 WebSocket 控制平面(以及运维:网关运行手册)。
Tailscale 接口 — 用于网关控制面板和 WebSocket 的服务器/漏斗(远程访问:远程)。
浏览器控制 — 由 OpenClaw 管理的 Chrome/Chromium 浏览器,支持 CDP 控制。
Canvas + A2UI — 智能体驱动的可视化工作区(A2UI 主机:Canvas/A2UI)。
节点 — Canvas、相机快照/剪辑、屏幕录制、location.get、通知,以及仅限 macOS 的 system.run/system.notify。
OpenClaw 可以自动配置 Tailscale 的 Serve(仅限 Tailscale 内部网络)或 Funnel(公共网络),同时保持网关绑定到回环地址。配置 gateway.tailscale.mode:
off:禁用 Tailscale 自动化(默认)。
serve:通过 tailscale serve 实现仅限 Tailscale 内部网络的 HTTPS 连接(默认使用 Tailscale 身份标头)。
funnel:通过 tailscale funnel 实现公共 HTTPS 连接(需要共享密码认证)。
注意:
启用 Serve/Funnel 时,gateway.bind 必须保持为 loopback(OpenClaw 强制执行)。
可以通过设置 gateway.auth.mode: "password" 或 gateway.auth.allowTailscale: false 来强制 Serve 需要密码。
除非设置了 gateway.auth.mode: "password",否则 Funnel 将无法启动。
可选:gateway.tailscale.resetOnExit 用于在关闭时撤销 Serve/Funnel 的操作。
详情:Tailscale 指南 · Web 界面
在小型 Linux 实例上运行网关完全没问题。客户端(macOS 应用、命令行界面、WebChat)可以通过 Tailscale Serve/Funnel 或 SSH 隧道 连接,并且您仍然可以根据需要将设备节点(macOS/iOS/Android)配对以执行设备本地操作。
网关主机 默认运行 exec 工具并建立通道连接。
设备节点 通过 node.invoke 运行设备本地操作(system.run、摄像头、屏幕录制、通知)。
简而言之:exec 工具在网关所在的位置运行;设备操作在设备所在的位置运行。
macOS 应用可以以节点模式运行,并通过 Gateway WebSocket(node.list / node.describe)发布其功能和权限映射。客户端随后可以通过 node.invoke 执行本地操作:
system.run 运行本地命令并返回标准输出/标准错误/退出代码;设置 needsScreenRecording: true 以要求屏幕录制权限(否则会收到 PERMISSION_MISSING 错误)。
system.notify 发送用户通知,如果通知被拒绝则发送失败。
canvas.*、camera.*、screen.record 和 location.get 也通过 node.invoke 进行路由,并遵循 TCC 权限状态。
提升权限的 bash(主机权限)与 macOS TCC 无关:
使用 /elevated on|off 可在启用并添加到允许列表后切换每个会话的提升权限。
网关通过 sessions.patch(WS 方法)以及 thinkingLevel、verboseLevel、model、sendPolicy 和 groupActivation 来持久化每个会话的切换设置。
使用这些工具可以跨会话协调工作,无需在不同的聊天界面之间切换。
sessions_list — 查找活跃会话(代理)及其元数据。
sessions_history — 获取会话的记录日志。
sessions_send — 向其他会话发送消息;可选的回复-ping-pong 循环 + 通知步骤(REPLY_SKIP,ANNOUNCE_SKIP)。
详情:会话工具
ClawHub 是一个精简的技能注册表。启用 ClawHub 后,代理可以自动搜索技能,并根据需要添加新技能。
在 WhatsApp/Telegram/Slack/Google Chat/Microsoft Teams/WebChat 中发送这些命令(群组命令仅限所有者使用):
/status — 精简会话状态(模型 + 令牌,以及可用时的费用)
/new 或 /reset — 重置会话
/compact — 精简会话上下文(摘要)
/think <level> — 关闭|最小|低|中|高|超高(仅限 GPT-5.2 和 Codex 模型)
/verbose on|off
/usage off|tokens|full — 每个响应的页脚使用情况
/restart — 重启网关(群组中仅限所有者使用)
/activation mention|always — 群组激活开关(仅限群组)
仅使用网关即可获得绝佳体验。所有应用均为可选,并添加额外功能。
如果您计划构建/运行配套应用,请遵循以下平台运行手册。
用于网关和健康状况的菜单栏控制。
语音唤醒 + 一键通叠加功能。
WebChat + 调试工具。
通过 SSH 远程控制网关。
注意:macOS 权限需要在重新构建后保留,因此需要使用已签名的构建版本(请参阅 docs/mac/permissions.md)。
通过网关 WebSocket 连接(设备配对)。
支持语音触发转发和 Canvas 界面。
通过 openclaw nodes … 控制。
运行手册:iOS connect。
通过设备配对(openclaw devices …)连接(作为 WebSocket 节点)。
提供 Connect/Chat/Voice 选项卡以及 Canvas、Camera、Screen capture 和 Android 设备命令系列。
运行手册:Android connect。
工作区根目录:~/.openclaw/workspace(可通过 agents.defaults.workspace 配置)。
已注入提示文件:AGENTS.md、SOUL.md、TOOLS.md。
技能:~/.openclaw/workspace/skills/<技能>/SKILL.md。
Minimal ~/.openclaw/openclaw.json (model + defaults):
{
agent: {
model: "anthropic/claude-opus-4-6",
},
}
默认设置: 工具在主会话期间运行于主机上,因此当只有您一个人时,代理拥有完全访问权限。
群组/频道安全: 设置 agents.defaults.sandbox.mode: "non-main" 以在每个会话的 Docker 沙箱中运行非主会话(群组/频道);然后,bash 将在这些会话的 Docker 环境中运行。
沙箱默认设置: 允许 bash、process、read、write、edit、sessions_list、sessions_history、sessions_send、sessions_spawn;禁止 browser、canvas、nodes、cron、discord、gateway。
详情:安全指南 · Docker + 沙箱 · 沙箱配置
连接设备:pnpm openclaw channels login(凭据存储在 ~/.openclaw/credentials 中)。
通过 channels.whatsapp.allowFrom 设置允许与助手通信的用户列表。
如果设置了 channels.whatsapp.groups,则它将成为群组允许列表;包含 "*" 以允许所有群组。
设置 TELEGRAM_BOT_TOKEN 或 channels.telegram.botToken(环境变量优先)。
可选:设置 channels.telegram.groups(需配合 channels.telegram.groups."*".requireMention);设置后,它将成为一个群组允许列表(包含 "*" 表示允许所有群组)。此外,根据需要设置 channels.telegram.allowFrom 或 channels.telegram.webhookUrl + channels.telegram.webhookSecret。
{
channels: {
telegram: {
botToken: "123456:ABCDEF",
},
},
}
SLACK_BOT_TOKEN + SLACK_APP_TOKEN(或 channels.slack.botToken + channels.slack.appToken)。设置 DISCORD_BOT_TOKEN 或 channels.discord.token(环境变量优先)。
可选:根据需要设置 commands.native、commands.text 或 commands.useAccessGroups,以及 channels.discord.allowFrom、channels.discord.guilds 或 channels.discord.mediaMaxMb。
{
channels: {
discord: {
token: "1234abcd",
},
},
}
signal-cli 和 channels.signal 配置部分。推荐 集成 iMessage。
配置 channels.bluebubbles.serverUrl + channels.bluebubbles.password 和 webhook (channels.bluebubbles.webhookPath)。
BlueBubbles 服务器运行在 macOS 上;网关可以运行在 macOS 或其他系统上。
仅支持 macOS 旧版 iMessage,通过 imsg 集成(必须登录 iMessage)。
如果设置了 channels.imessage.groups,则会将其设置为群组允许列表;包含 "*" 可允许所有用户访问。
配置 Teams 应用和 Bot Framework,然后添加 msteams 配置部分。
通过 msteams.allowFrom 设置允许哪些用户发言;通过 msteams.groupAllowFrom 或 msteams.groupPolicy: "open" 设置群组访问权限。
浏览器控制(可选):
{
browser: {
enabled: true,
color: "#FF4500",
},
}