EXFOLIATE! EXFOLIATE!
💡 协作邀请
目前我正在深入研究 MolBot(ClawBot) 的架构,致力于优化其对国产环境的支持。当前版本主要适配国际主流工具,在微信、钉钉、QQ 等国内平台的兼容性上仍有不足。
同时对使用deepseek等国内API的朋友们来说不太友好! 我的目标是打造一个全面适配国产生态的 Bot 框架,真正实现「开箱即用」! 将会持续开展研发并承诺完全开源免费,不引入商业化!🤝 诚邀伙伴加入共建!
如果你对该项目感兴趣,欢迎扫码加入我们的 QQ 群,一起交流、开发、完善 MolBot!![]()
- 1. 接入 QQ API
- 2. 完成汉化脚本:翻译 UI 和各种平台 APP 源码中硬编码的英文单词
- 3. 接入钉钉 API
- 4. 接入微信 API
- 5. 整合飞书 API
OpenClaw 是一个运行在你自己设备上的个人AI助手。 它通过你已经在使用的渠道(WhatsApp、Telegram、Slack、Discord、Google Chat、Signal、iMessage、Microsoft Teams、WebChat)回答你,还支持扩展渠道如BlueBubbles、Matrix、Zalo和Zalo Personal。它可以在macOS/iOS/Android上说话和聆听,还能渲染一个你可以控制的实时画布。网关只是控制平面——产品本身就是助手。
如果你想要一个个人的、单用户的助手,感觉本地、快速且始终在线,这就是它。
网站 · 文档 · 入门指南 · 更新 · 展示 · 常见问题 · 向导 · Nix · Docker · Discord
推荐设置:运行入职向导(openclaw onboard)。它会引导你完成网关、工作区、渠道和技能的设置。CLI向导是推荐的路径,适用于macOS、Linux和Windows(通过WSL2;强烈推荐)。
支持npm、pnpm或bun。
新安装?从这里开始:入门指南
订阅(OAuth):
模型说明:虽然支持任何模型,但我强烈推荐Anthropic Pro/Max(100/200)+ Opus 4.5,因为它具有长上下文能力和更好的提示注入抵抗力。请参阅入职。
运行时: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/Microsoft Teams/Matrix/Zalo/Zalo Personal/WebChat)
openclaw agent --message "Ship checklist" --thinking high升级?更新指南(并运行openclaw doctor)。
- stable:标记发布版本(
vYYYY.M.D或vYYYY.M.D-<patch>),npm dist-tag为latest。 - beta:预发布标签(
vYYYY.M.D-beta.N),npm dist-tag为beta(可能缺少macOS应用)。 - dev:
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
# 开发循环(TS变化时自动重载)
pnpm gateway:watch注意:pnpm openclaw ...直接运行TypeScript(通过tsx)。pnpm build生成dist/目录,用于通过Node或打包的openclaw二进制文件运行。
OpenClaw连接到真实的消息表面。将入站DM视为不可信输入。
完整安全指南:安全
Telegram/WhatsApp/Signal/iMessage/Microsoft Teams/Discord/Google Chat/Slack上的默认行为:
- DM配对(
dmPolicy="pairing"/channels.discord.dm.policy="pairing"/channels.slack.dm.policy="pairing"):未知发送者会收到一个简短的配对代码,机器人不会处理他们的消息。 - 批准:
openclaw pairing approve <channel> <code>(然后发送者会被添加到本地允许列表存储中)。 - 公共入站DM需要明确选择加入:设置
dmPolicy="open"并在渠道允许列表中包含"*"(allowFrom/channels.discord.dm.allowFrom/channels.slack.dm.allowFrom)。
运行openclaw doctor以显示有风险/配置错误的DM策略。
- 本地优先网关 — 会话、渠道、工具和事件的单一控制平面。
- 多渠道收件箱 — WhatsApp、Telegram、Slack、Discord、Google Chat、Signal、iMessage、BlueBubbles、Microsoft Teams、Matrix、Zalo、Zalo Personal、WebChat、macOS、iOS/Android。
- 多代理路由 — 将入站渠道/账户/对等方路由到隔离的代理(工作区+每个代理的会话)。
- 语音唤醒 + 通话模式 — macOS/iOS/Android上带有ElevenLabs的始终开启语音。
- 实时画布 — 带有A2UI的代理驱动视觉工作区。
- 一等工具 — 浏览器、画布、节点、cron、会话和Discord/Slack操作。
- companion应用 — macOS菜单栏应用 + iOS/Android 节点。
- 入职 + 技能 — 向导驱动的设置,带有捆绑/管理/工作区技能。
- 网关WS控制平面,带有会话、存在、配置、cron、webhook、控制UI和画布主机。
- CLI界面:网关、代理、发送、向导和医生。
- Pi代理运行时,RPC模式,带有工具流和块流。
- 会话模型:
main用于直接聊天、群组隔离、激活模式、队列模式、回复。群组规则:群组。 - 媒体管道:图像/音频/视频、转录钩子、大小限制、临时文件生命周期。音频详情:音频。
- 渠道:WhatsApp(Baileys)、Telegram(grammY)、Slack(Bolt)、Discord(discord.js)、Google Chat(Chat API)、Signal(signal-cli)、iMessage(imsg)、BlueBubbles(扩展)、Microsoft Teams(扩展)、Matrix(扩展)、Zalo(扩展)、Zalo Personal(扩展)、WebChat。
- 群组路由:提及门控、回复标签、每个渠道的分块和路由。渠道规则:渠道。
- macOS应用:菜单栏控制平面、语音唤醒/PTT、通话模式覆盖、WebChat、调试工具、远程网关控制。
- iOS节点:通过Bridge配对为节点。语音触发转发 + 画布表面。通过
openclaw nodes …控制。 - Android节点:通过与iOS相同的Bridge + 配对流程配对。公开画布、相机和屏幕捕获命令。运行手册:Android连接。
- macOS节点模式:system.run/notify + 画布/相机曝光。
- 浏览器控制:专用的openclaw Chrome/Chromium,快照,操作,上传,配置文件。
- 画布:A2UI推送/重置,评估,快照。
- 节点:相机快照/剪辑,屏幕录制,location.get,通知。
- Cron + 唤醒;webhooks;Gmail Pub/Sub。
- 技能平台:带有安装门控 + UI的捆绑、管理和工作区技能。
- 控制UI + WebChat直接从网关提供。
- Tailscale Serve/Funnel或SSH隧道,带有令牌/密码认证。
- Nix模式用于声明性配置;Docker基础安装。
- Doctor迁移、日志记录。
WhatsApp / Telegram / Slack / Discord / Google Chat / Signal / iMessage / BlueBubbles / Microsoft Teams / Matrix / 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网络 — 客户端、工具和事件的单一WS控制平面(加上运维:网关运行手册)。
- Tailscale暴露 — Serve/Funnel用于网关仪表板 + WS(远程访问:远程)。
- 浏览器控制 — openclaw管理的Chrome/Chromium,带有CDP控制。
- 画布 + A2UI — 代理驱动的视觉工作区(A2UI主机:Canvas/A2UI)。
- 语音唤醒 + 通话模式 — 始终开启的语音和连续对话。
- 节点 — 画布、相机快照/剪辑、屏幕录制、
location.get、通知,加上macOS专用的system.run/system.notify。
OpenClaw可以自动配置Tailscale Serve(仅限tailnet)或Funnel(公共),而网关保持绑定到环回。配置gateway.tailscale.mode:
off:无Tailscale自动化(默认)。serve:通过tailscale serve的tailnet专用HTTPS(默认使用Tailscale身份头)。funnel:通过tailscale funnel的公共HTTPS(需要共享密码认证)。
注意:
- 当Serve/Funnel启用时,
gateway.bind必须保持loopback(OpenClaw强制执行此操作)。 - 可以通过设置
gateway.auth.mode: "password"或gateway.auth.allowTailscale: false强制Serve要求密码。 - Funnel拒绝启动,除非设置了
gateway.auth.mode: "password"。 - 可选:
gateway.tailscale.resetOnExit在关闭时撤销Serve/Funnel。
详情:Tailscale指南 · Web表面
在小型Linux实例上运行网关完全没问题。客户端(macOS应用、CLI、WebChat)可以通过Tailscale Serve/Funnel或SSH隧道连接,你仍然可以配对设备节点(macOS/iOS/Android)在需要时执行设备本地操作。
- 网关主机默认运行执行工具和渠道连接。
- 设备节点通过
node.invoke运行设备本地操作(system.run、相机、屏幕录制、通知)。 简而言之:exec在网关所在的地方运行;设备操作在设备所在的地方运行。
macOS应用可以在节点模式下运行,并通过网关WebSocket(node.list / node.describe)宣传其功能和权限映射。客户端然后可以通过node.invoke执行本地操作:
system.run运行本地命令并返回stdout/stderr/退出代码;设置needsScreenRecording: true以要求屏幕录制权限(否则你会得到PERMISSION_MISSING)。system.notify发布用户通知,如果通知被拒绝则失败。canvas.*、camera.*、screen.record和location.get也通过node.invoke路由,并遵循TCC权限状态。
提升的bash(主机权限)与macOS TCC分开:
- 当启用并允许列出时,使用
/elevated on|off切换每个会话的提升访问权限。 - 网关通过
session.patch(WS方法)以及thinkingLevel、verboseLevel、model、sendPolicy和groupActivation持久化每个会话的切换。
- 使用这些工具在会话之间协调工作,而无需在聊天表面之间跳转。
sessions_list— 发现活动会话(代理)及其元数据。sessions_history— 获取会话的转录日志。sessions_send— 向另一个会话发送消息;可选的回复乒乓 + 公告步骤(REPLY_SKIP、ANNOUNCE_SKIP)。
详情:会话工具
ClawdHub是一个最小的技能注册表。启用ClawdHub后,代理可以自动搜索技能并根据需要引入新技能。
在WhatsApp/Telegram/Slack/Google Chat/Microsoft Teams/WebChat中发送这些命令(群组命令仅所有者可用):
/status— 紧凑的会话状态(模型 + 令牌,可用时的成本)/new或/reset— 重置会话/compact— 压缩会话上下文(摘要)/think <level>— off|minimal|low|medium|high|xhigh(仅GPT-5.2 + Codex模型)/verbose on|off/usage off|tokens|full— 每个响应的使用页脚/restart— 重启网关(群组中仅所有者可用)/activation mention|always— 群组激活切换(仅群组)
仅网关就提供了出色的体验。所有应用都是可选的,添加了额外的功能。
如果你计划构建/运行配套应用,请遵循下面的平台运行手册。
- 网关和健康的菜单栏控制。
- 语音唤醒 + 按键通话覆盖。
- WebChat + 调试工具。
- 通过SSH的远程网关控制。
注意:签名构建对于macOS权限在重建后保持不变是必需的(请参阅docs/mac/permissions.md)。
- 通过Bridge配对为节点。
- 语音触发转发 + 画布表面。
- 通过
openclaw nodes …控制。
运行手册:iOS连接。
- 通过与iOS相同的Bridge + 配对流程配对。
- 公开画布、相机和屏幕捕获命令。
- 运行手册:Android连接。
- 工作区根目录:
~/.openclaw/workspace(可通过agents.defaults.workspace配置)。 - 注入的提示文件:
AGENTS.md、SOUL.md、TOOLS.md。 - 技能:
~/.openclaw/workspace/skills/<skill>/SKILL.md。
最小~/.openclaw/openclaw.json(模型 + 默认值):
{
agent: {
model: "anthropic/claude-opus-4-5"
}
}- 默认:工具在main会话的主机上运行,因此当只有你时,代理拥有完全访问权限。
- 群组/渠道安全:设置
agents.defaults.sandbox.mode: "non-main"以在每个会话的Docker沙箱中运行非main会话(群组/渠道);然后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: {
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.dm.allowFrom、channels.discord.guilds或channels.discord.mediaMaxMb。
{
channels: {
discord: {
token: "1234abcd"
}
}
}- 需要
signal-cli和channels.signal配置部分。
- 仅限macOS;Messages必须登录。
- 如果设置了
channels.imessage.groups,它会成为群组允许列表;包含"*"以允许所有。
- 配置Teams应用 + Bot Framework,然后添加
msteams配置部分。 - 通过
msteams.allowFrom允许谁可以交谈;通过msteams.groupAllowFrom或msteams.groupPolicy: "open"进行群组访问。
- 使用网关WebSocket;无需单独的WebChat端口/配置。
浏览器控制(可选):
{
browser: {
enabled: true,
color: "#FF4500"
}
}当你完成入职流程并想要更深入的参考时,请使用这些文档。
- 从文档索引开始导航和了解"什么在哪里"。
- 阅读架构概述以了解网关 + 协议模型。
- 当你需要每个键和示例时,使用完整配置参考。
- 按照操作运行手册运行网关。
- 了解Control UI/Web表面如何工作以及如何安全地暴露它们。
- 了解通过SSH隧道或tailnet的远程访问。
- 按照入职向导流程进行引导设置。
- 通过webhook表面连接外部触发器。
- 设置Gmail Pub/Sub触发器。
- 了解macOS菜单栏 companion详情。
- 平台指南:Windows(WSL2)、Linux、macOS、iOS、Android
- 使用故障排除指南调试常见故障。
- 在暴露任何内容之前查看安全指南。
OpenClaw是为Molty(一个太空龙虾AI助手)构建的。🦞 由Peter Steinberger和社区创建。
请参阅CONTRIBUTING.md了解指南、维护者以及如何提交PR。 欢迎AI/氛围编码的PR!🤖
特别感谢Mario Zechner的支持和pi-mono。 特别感谢Adam Doppelt为lobster.bot所做的贡献。
感谢所有贡献者!

