OpenClaw 您的专属个人AI助手

🦞 OpenClaw — 个人人工智能助手


OpenClaw


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。

全新安装?请从这里开始:入门指南

模型(选择 + 身份验证)

  • 模型配置 + CLI:模型

  • 身份验证配置文件轮换(OAuth 与 API 密钥)+ 备用方案:模型故障转移

安装(推荐)

运行时环境:Node ≥22

bash 复制代码
npm install -g openclaw@latest

# 或:pnpm add -g openclaw@latest

openclaw onboard --install-daemon

该向导会安装网关守护进程(launchd/systemd 用户服务),以确保其持续运行。

快速入门(TL;DR)

运行时环境:Node ≥22

完整入门指南(身份验证、配对、频道):入门指南

bash 复制代码
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.DvYYYY.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,是可选的。

bash 复制代码
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 回退)。

  • 实时画布 — 基于代理的可视化工作空间,配备 A2UI

  • 一流的工具 — 浏览器、画布、节点、定时任务、会话以及 Discord/Slack 操作。

  • 配套应用 — macOS 菜单栏应用 + iOS/Android 节点

  • 入门指南 + 技能 — 向导式设置,包含捆绑/托管/工作区技能。

目前为止我们构建的所有内容

核心平台

通讯渠道

应用 + 节点

工具 + 自动化

运行时 + 安全性

运维 + 打包

工作原理(简述)

复制代码
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)。

  • 语音唤醒 + 对话模式 — macOS/iOS 上的唤醒词,以及 Android 上的连续语音唤醒。

  • 节点 — Canvas、相机快照/剪辑、屏幕录制、location.get、通知,以及仅限 macOS 的 system.run/system.notify

Tailscale 访问(网关控制面板)

OpenClaw 可以自动配置 Tailscale 的 Serve(仅限 Tailscale 内部网络)或 Funnel(公共网络),同时保持网关绑定到回环地址。配置 gateway.tai​​lscale.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.tai​​lscale.resetOnExit 用于在关闭时撤销 Serve/Funnel 的操作。

详情:Tailscale 指南 · Web 界面

远程网关(Linux 系统非常理想)

在小型 Linux 实例上运行网关完全没问题。客户端(macOS 应用、命令行界面、WebChat)可以通过 Tailscale Serve/FunnelSSH 隧道 连接,并且您仍然可以根据需要将设备节点(macOS/iOS/Android)配对以执行设备本地操作。

  • 网关主机 默认运行 exec 工具并建立通道连接。

  • 设备节点 通过 node.invoke 运行设备本地操作(system.run、摄像头、屏幕录制、通知)。

简而言之:exec 工具在网关所在的位置运行;设备操作在设备所在的位置运行。

详情:远程访问 · 节点 · 安全

通过 Gateway 协议获取 macOS 权限

macOS 应用可以以节点模式运行,并通过 Gateway WebSocket(node.list / node.describe)发布其功能和权限映射。客户端随后可以通过 node.invoke 执行本地操作:

  • system.run 运行本地命令并返回标准输出/标准错误/退出代码;设置 needsScreenRecording: true 以要求屏幕录制权限(否则会收到 PERMISSION_MISSING 错误)。

  • system.notify 发送用户通知,如果通知被拒绝则发送失败。

  • canvas.*camera.*screen.recordlocation.get 也通过 node.invoke 进行路由,并遵循 TCC 权限状态。

提升权限的 bash(主机权限)与 macOS TCC 无关:

  • 使用 /elevated on|off 可在启用并添加到允许列表后切换每个会话的提升权限。

  • 网关通过 sessions.patch(WS 方法)以及 thinkingLevelverboseLevelmodelsendPolicygroupActivation 来持久化每个会话的切换设置。

详情:节点 · macOS 应用 · 网关协议

代理间通信(会话工具)

  • 使用这些工具可以跨会话协调工作,无需在不同的聊天界面之间切换。

  • sessions_list — 查找活跃会话(代理)及其元数据。

  • sessions_history — 获取会话的记录日志。

  • sessions_send — 向其他会话发送消息;可选的回复-ping-pong 循环 + 通知步骤(REPLY_SKIPANNOUNCE_SKIP)。

详情:会话工具

技能注册表 (ClawHub)

ClawHub 是一个精简的技能注册表。启用 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 — 群组激活开关(仅限群组)

应用(可选)

仅使用网关即可获得绝佳体验。所有应用均为可选,并添加额外功能。

如果您计划构建/运行配套应用,请遵循以下平台运行手册。

macOS (OpenClaw.app)(可选)

  • 用于网关和健康状况的菜单栏控制。

  • 语音唤醒 + 一键通叠加功能。

  • WebChat + 调试工具。

  • 通过 SSH 远程控制网关。

注意:macOS 权限需要在重新构建后保留,因此需要使用已签名的构建版本(请参阅 docs/mac/permissions.md)。

iOS 节点(可选)

  • 通过网关 WebSocket 连接(设备配对)。

  • 支持语音触发转发和 Canvas 界面。

  • 通过 openclaw nodes … 控制。

运行手册:iOS connect

Android 节点(可选)

  • 通过设备配对(openclaw devices …)连接(作为 WebSocket 节点)。

  • 提供 Connect/Chat/Voice 选项卡以及 Canvas、Camera、Screen capture 和 Android 设备命令系列。

  • 运行手册:Android connect

代理工作区 + 技能

  • 工作区根目录:~/.openclaw/workspace(可通过 agents.defaults.workspace 配置)。

  • 已注入提示文件:AGENTS.mdSOUL.mdTOOLS.md

  • 技能:~/.openclaw/workspace/skills/<技能>/SKILL.md

配置

Minimal ~/.openclaw/openclaw.json (model + defaults):

json5 复制代码
{
  agent: {
    model: "anthropic/claude-opus-4-6",
  },
}

完整配置参考(所有密钥 + 示例)

安全模型(重要)

  • 默认设置: 工具在会话期间运行于主机上,因此当只有您一个人时,代理拥有完全访问权限。

  • 群组/频道安全: 设置 agents.defaults.sandbox.mode: "non-main" 以在每个会话的 Docker 沙箱中运行非主会话(群组/频道);然后,bash 将在这些会话的 Docker 环境中运行。

  • 沙箱默认设置: 允许 bashprocessreadwriteeditsessions_listsessions_historysessions_sendsessions_spawn;禁止 browsercanvasnodescrondiscordgateway

详情:安全指南 · Docker + 沙箱 · 沙箱配置

WhatsApp

  • 连接设备:pnpm openclaw channels login(凭据存储在 ~/.openclaw/credentials 中)。

  • 通过 channels.whatsapp.allowFrom 设置允许与助手通信的用户列表。

  • 如果设置了 channels.whatsapp.groups,则它将成为群组允许列表;包含 "*" 以允许所有群组。

Telegram

  • 设置 TELEGRAM_BOT_TOKENchannels.telegram.botToken(环境变量优先)。

  • 可选:设置 channels.telegram.groups(需配合 channels.telegram.groups."*".requireMention);设置后,它将成为一个群组允许列表(包含 "*" 表示允许所有群组)。此外,根据需要设置 channels.telegram.allowFromchannels.telegram.webhookUrl + channels.telegram.webhookSecret

json5 复制代码
{
  channels: {
    telegram: {
      botToken: "123456:ABCDEF",
    },
  },
}

Slack

  • 设置 SLACK_BOT_TOKEN + SLACK_APP_TOKEN(或 channels.slack.botToken + channels.slack.appToken)。

Discord

  • 设置 DISCORD_BOT_TOKENchannels.discord.token(环境变量优先)。

  • 可选:根据需要设置 commands.nativecommands.textcommands.useAccessGroups,以及 channels.discord.allowFromchannels.discord.guildschannels.discord.mediaMaxMb

json5 复制代码
{
  channels: {
    discord: {
      token: "1234abcd",
    },
  },
}

Signal

  • 需要 signal-clichannels.signal 配置部分。

BlueBubbles (iMessage)

  • 推荐 集成 iMessage。

  • 配置 channels.bluebubbles.serverUrl + channels.bluebubbles.password 和 webhook (channels.bluebubbles.webhookPath)。

  • BlueBubbles 服务器运行在 macOS 上;网关可以运行在 macOS 或其他系统上。

iMessage(旧版)

  • 仅支持 macOS 旧版 iMessage,通过 imsg 集成(必须登录 iMessage)。

  • 如果设置了 channels.imessage.groups,则会将其设置为群组允许列表;包含 "*" 可允许所有用户访问。

Microsoft Teams

  • 配置 Teams 应用和 Bot Framework,然后添加 msteams 配置部分。

  • 通过 msteams.allowFrom 设置允许哪些用户发言;通过 msteams.groupAllowFrommsteams.groupPolicy: "open" 设置群组访问权限。

WebChat

  • 使用 Gateway WebSocket;无需单独的 WebChat 端口/配置。

浏览器控制(可选):

json5 复制代码
{
  browser: {
    enabled: true,
    color: "#FF4500",
  },
}

关于项目

OpenClaw 是一款运行在您自己的设备上的个人 AI 助手。它可以通过您常用的渠道(WhatsApp、Telegram、Slack、Microsoft Teams、Matrix、飞书、LINE、WebChat...)回复您。它支持 macOS/iOS/Android 系统,并可渲染由您控制的实时 Canvas 界面。
MIT
Typescript
314,471
60081
1549
2025-11-24
2026-03-15

增长趋势 - stars