logo
0
1
WeChat Login
be24_用图片代替openclaw贡献者

🦞 OpenClaw — 个人 AI 助手

OpenClaw

去角质!去角质!

CI 状态 GitHub 发布 Discord MIT 许可证

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 个人版、WebChat)。它可以在 macOS/iOS/Android 上语音对话,并可以渲染您可控制的实时画布。网关只是控制平面——产品本身是助手。

如果您想要一个个性化、单用户的助手,感觉本地化、快速且始终在线,这就是您需要的。

网站 · 文档 · 愿景 · DeepWiki · 入门指南 · 更新 · 展示 · 常见问题 · 向导 · Nix · Docker · Discord

推荐设置:在您的终端中运行引导向导(openclaw onboard)。 该向导会逐步引导您设置网关、工作区、渠道和技能。CLI 向导是推荐的安装路径,适用于 macOS、Linux 和 Windows(通过 WSL2;强烈推荐)。 支持 npm、pnpm 或 bun。 新安装?从这里开始:入门指南

赞助商

OpenAIVercelBlacksmithConvex
OpenAIVercelBlacksmithConvex

订阅(OAuth):

模型说明:虽然支持许多提供商/模型,但为了获得最佳体验并降低提示注入风险,请使用您可用的最强大的最新一代模型。参见入门指南

模型(选择 + 认证)

安装(推荐)

运行环境:Node ≥22

npm install -g openclaw@latest # 或:pnpm add -g openclaw@latest openclaw onboard --install-daemon

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

快速开始(TL;DR)

运行环境:Node ≥22

完整初学者指南(认证、配对、渠道):入门指南

openclaw onboard --install-daemon openclaw gateway --port 18789 --verbose # 发送消息 openclaw message send --to +1234567890 --message "来自 OpenClaw 的问候" # 与助手对话(可选择回复到任何已连接的渠道:WhatsApp/Telegram/Slack/Discord/Google Chat/Signal/iMessage/BlueBubbles/IRC/Microsoft Teams/Matrix/飞书/LINE/Mattermost/Nextcloud Talk/Nostr/Synology Chat/Tlon/Twitch/Zalo/Zalo 个人版/WebChat) openclaw agent --message "发布清单" --thinking high

升级?更新指南(并运行 openclaw doctor)。

开发渠道

  • stable:标记的发布版本(vYYYY.M.DvYYYY.M.D-<patch>),npm 分发标签 latest
  • beta:预发布标签(vYYYY.M.D-beta.N),npm 分发标签 beta(macOS 应用可能缺失)。
  • devmain 分支的最新提交,npm 分发标签 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 连接到真实的消息界面。将入站私信视为不受信任的输入

完整安全指南:安全

Telegram/WhatsApp/Signal/iMessage/Microsoft Teams/Discord/Google Chat/Slack 的默认行为:

  • 私信配对dmPolicy="pairing" / channels.discord.dmPolicy="pairing" / channels.slack.dmPolicy="pairing";旧版:channels.discord.dm.policychannels.slack.dm.policy):未知发送者会收到一个短配对码,机器人不会处理他们的消息。
  • 使用以下命令批准:openclaw pairing approve <channel> <code>(然后发送者会被添加到本地允许列表存储中)。
  • 公共入站私信需要显式选择加入:设置 dmPolicy="open" 并在频道允许列表中包含 "*"allowFrom / channels.discord.allowFrom / channels.slack.allowFrom;旧版:channels.discord.dm.allowFromchannels.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 个人版、WebChat、macOS、iOS/Android。
  • 多代理路由 —— 将入站渠道/账户/对等方路由到隔离的代理(工作区 + 每代理会话)。
  • 语音唤醒 + 对话模式 —— macOS/iOS 上的唤醒词和 Android 上的连续语音(ElevenLabs + 系统 TTS 回退)。
  • 实时画布 —— 代理驱动的可视化工作区,支持 A2UI
  • 一流工具 —— 浏览器、画布、节点、cron、会话和 Discord/Slack 操作。
  • 配套应用 —— macOS 菜单栏应用 + iOS/Android 节点
  • 引导 + 技能 —— 向导驱动的设置,包含捆绑/管理/工作区技能。

Star 历史

Star 历史图表

我们迄今为止构建的所有内容

核心平台

渠道

应用 + 节点

工具 + 自动化

运行时 + 安全

运维 + 打包

工作原理(简要)

WhatsApp / Telegram / Slack / Discord / Google Chat / Signal / iMessage / BlueBubbles / IRC / Microsoft Teams / Matrix / 飞书 / LINE / Mattermost / Nextcloud Talk / Nostr / Synology Chat / Tlon / Twitch / Zalo / Zalo 个人版 / WebChat │ ▼ ┌───────────────────────────────┐ │ 网关 │ │ (控制平面) │ │ ws://127.0.0.1:18789 │ └──────────────┬────────────────┘ │ ├─ Pi 代理(RPC) ├─ CLI(openclaw …) ├─ WebChat UI ├─ macOS 应用 └─ iOS / Android 节点

关键子系统

Tailscale 访问(网关仪表板)

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 要求密码。
  • 除非设置了 gateway.auth.mode: "password",否则 Funnel 拒绝启动。
  • 可选:gateway.tailscale.resetOnExit 用于在关闭时撤销 Serve/Funnel。

详情:Tailscale 指南 · Web 界面

远程网关(Linux 很棒)

在小型 Linux 实例上运行网关是完全可行的。客户端(macOS 应用、CLI、WebChat)可以通过 Tailscale Serve/FunnelSSH 隧道连接,您仍然可以配对设备节点(macOS/iOS/Android)以在需要时执行设备本地操作。

  • 网关主机默认运行 exec 工具和渠道连接。
  • 设备节点通过 node.invoke 运行设备本地操作(system.run、相机、屏幕录制、通知)。 简而言之:exec 在网关所在位置运行;设备操作在设备所在位置运行。

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

通过网关协议的 macOS 权限

macOS 应用可以在节点模式下运行,并通过网关 WebSocket(node.list / node.describe)公布其功能 + 权限映射。然后客户端可以通过 node.invoke 执行本地操作:

  • system.run 运行本地命令并返回 stdout/stderr/退出码;设置 needsScreenRecording: true 以要求屏幕录制权限(否则您会得到 PERMISSION_MISSING)。
  • system.notify 发布用户通知,如果通知被拒绝则失败。
  • canvas.*camera.*screen.recordlocation.get 也通过 node.invoke 路由,并遵循 TCC 权限状态。

提升的 bash(主机权限)与 macOS TCC 是分开的:

  • 使用 /elevated on|off 在启用 + 允许列表时切换每会话提升访问。
  • 网关通过 sessions.patch(WS 方法)持久化每会话切换, alongside thinkingLevelverboseLevelmodelsendPolicygroupActivation

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

代理到代理(sessions_* 工具)

  • 使用这些工具在不跳转聊天界面的情况下协调跨会话的工作。
  • sessions_list —— 发现活动会话(代理)及其元数据。
  • sessions_history —— 获取会话的转录日志。
  • sessions_send —— 向另一个会话发送消息;可选的回复回传乒乓 + 宣布步骤(REPLY_SKIPANNOUNCE_SKIP)。

详情:会话工具

技能注册表(ClawHub)

ClawHub 是一个极简的技能注册表。启用 ClawHub 后,代理可以自动搜索技能并根据需要拉取新技能。

ClawHub

聊天命令

在 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 —— 群组激活切换(仅限群组)

应用(可选)

仅网关就能提供出色的体验。所有应用都是可选的,并添加额外功能。

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

macOS(OpenClaw.app)(可选)

  • 网关和健康状况的菜单栏控制。
  • 语音唤醒 + 按键通话覆盖层。
  • WebChat + 调试工具。
  • 通过 SSH 远程控制网关。

注意:需要签名构建才能使 macOS 权限在重建后保持(参见 docs/mac/permissions.md)。

iOS 节点(可选)

  • 通过网关 WebSocket 作为节点配对(设备配对)。
  • 语音触发转发 + 画布界面。
  • 通过 openclaw nodes … 控制。

运行手册:iOS 连接

Android 节点(可选)

  • 通过设备配对(openclaw devices ...)作为 WS 节点配对。
  • 公开连接/聊天/语音标签页以及画布、相机、屏幕捕获和 Android 设备命令族。
  • 运行手册:Android 连接

代理工作区 + 技能

  • 工作区根目录:~/.openclaw/workspace(可通过 agents.defaults.workspace 配置)。
  • 注入的提示文件:AGENTS.mdSOUL.mdTOOLS.md
  • 技能:~/.openclaw/workspace/skills/<skill>/SKILL.md

配置

最小化的 ~/.openclaw/openclaw.json(模型 + 默认值):

{ agent: { model: "anthropic/claude-opus-4-6", }, }

完整配置参考(所有键 + 示例)。

安全模型(重要)

  • **默认:**工具在主机上为 main 会话运行,因此当只有您使用时,代理拥有完全访问权限。
  • 群组/渠道安全:设置 agents.defaults.sandbox.mode: "non-main" 以在非主会话(群组/渠道)内运行每会话 Docker 沙箱;然后 bash 在这些会话中在 Docker 内运行。
  • **沙箱默认值:**允许列表 bashprocessreadwriteeditsessions_listsessions_historysessions_sendsessions_spawn;拒绝列表 browsercanvasnodescrondiscordgateway

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

  • 链接设备:pnpm openclaw channels login(将凭证存储在 ~/.openclaw/credentials 中)。
  • 通过 channels.whatsapp.allowFrom 允许列表谁可以与助手对话。
  • 如果设置了 channels.whatsapp.groups,它将成为群组允许列表;包含 "*" 以允许所有。
  • 设置 TELEGRAM_BOT_TOKENchannels.telegram.botToken(环境变量优先)。
  • 可选:设置 channels.telegram.groups(使用 channels.telegram.groups."*".requireMention);设置后,它是群组允许列表(包含 "*" 以允许所有)。还有 channels.telegram.allowFromchannels.telegram.webhookUrl + channels.telegram.webhookSecret 根据需要。
{ channels: { telegram: { botToken: "123456:ABCDEF", }, }, }
  • 设置 SLACK_BOT_TOKEN + SLACK_APP_TOKEN(或 channels.slack.botToken + channels.slack.appToken)。
  • 设置 DISCORD_BOT_TOKENchannels.discord.token(环境变量优先)。
  • 可选:设置 commands.nativecommands.textcommands.useAccessGroups,以及 channels.discord.allowFromchannels.discord.guildschannels.discord.mediaMaxMb 根据需要。
{ channels: { discord: { token: "1234abcd", }, }, }
  • 需要 signal-clichannels.signal 配置部分。
  • 推荐的 iMessage 集成。
  • 配置 channels.bluebubbles.serverUrl + channels.bluebubbles.password 和 webhook(channels.bluebubbles.webhookPath)。
  • BlueBubbles 服务器在 macOS 上运行;网关可以在 macOS 或其他地方运行。
  • 通过 imsg 的仅限 macOS 的旧版集成(必须登录 Messages)。
  • 如果设置了 channels.imessage.groups,它将成为群组允许列表;包含 "*" 以允许所有。
  • 配置 Teams 应用 + Bot Framework,然后添加 msteams 配置部分。
  • 通过 msteams.allowFrom 允许列表谁可以对话;通过 msteams.groupAllowFrommsteams.groupPolicy: "open" 进行群组访问。
  • 使用网关 WebSocket;无需单独的 WebChat 端口/配置。

浏览器控制(可选):

{ browser: { enabled: true, color: "#FF4500", }, }

文档

当您完成引导流程并需要更深入的参考时,使用这些文档。

高级文档(发现 + 控制)

运维与故障排除

深入探讨

工作区与技能

平台内部

邮件钩子(Gmail)

Molty

OpenClaw 是为 Molty 构建的,一个太空龙虾 AI 助手。🦞 由 Peter Steinberger 和社区创建。

社区

参见 CONTRIBUTING.md 了解指南、维护者和如何提交 PR。 欢迎 AI/vibe-coded PR!🤖

特别感谢 Mario Zechner 的支持和 pi-mono。 Special thanks to Adam Doppelt for lobster.bot.

感谢所有贡献者:

steipete vincentkoc vignesh07 obviyus Mariano Belinky sebslight gumadeiras Takhoffman thewilloftheshadow cpojer tyler6204 joshp123 Glucksberg mcaxtr quotentiroler osolmaz Sid-Qin joshavant shakkernerd bmendonca3 mukhtharcm zerone0x mcinteerj ngutman lailoo arosstale rodrigouroz robbyczgw-cla Elonito Clawborn yinghaosang BunsDev christianklotz echoVic coygeek roshanasingh4 mneves75 joaohlisboa bohdanpodvirnyi nachx639 onutc Verite Igiraneza widingmarcus-cyber akramcodez aether-ai-agent bjesuiter MaudeBot YuriNachos chilu18 byungsker dbhurley JayMishra-source iHildy mudrii dlauer Solvely-Colin czekaj advaitpaliwal lc0rp grp06 HenryLoenwind azade-c Lukavyi vrknetha brandonwise conroywhitney Tobias Bischoff davidrudduck xinhuagu jaydenfyi petter-b heyhudson MatthieuBizien huntharo omair445 adam91holt adhitShet smartprogrammer93 radek-paclt frankekn bradleypriest rahthakor shadril238 VACInc juanpablodlc jonisjongithub magimetal stakeswky abhisekbasu1 MisterGuy420 hsrvc nabbilkhan aldoeliacim jamesgroat orlyjamie Elarwei001 rubyrunsstuff Phineas1500 meaningfool sfo2001 Marvae liuy shtse8 thebenignhacker carrotRakko ranausmanai kevinWangSheng gregmousseau rrenamed akoscz jarvis-medmatic danielz1z pandego xadenryan NicholasSpisak graysurf gupsammy nyanjou sibbl gejifeng ide-rea leszekszpunar Yida-Dev AI-Reviewer-QS SocialNerd42069 maxsumrall hougangdev Minidoracat AnonO6 sreekaransrinath YuzuruS riccardogiorato Bridgerz Mrseenz buddyh Eng. Juan Combetto peschee cash-echo-bot jalehman zknicker Harald Buerbaumer taw0002 scald openperf BUGKillerKing Oceanswave Hiren Patel kiranjd antons dan-dr jadilson12 sumleo Whoaa512 luijoc niceysam JustYannicc emanuelst TsekaLuk JustasM loiie45e davidguttman natefikru dougvk koala73 mkbehr zats Simone Macario openclaw-bot ENCHIGO mteam88 Blakeshannon gabriel-trigo neist pejmanjohn durenzidu Ryan Haines hcl XuHao benithors bitfoundry-ai HeMuling markmusson ameno- battman21 BinHPdev dguido evalexpr guirguispierre henrino3 joeykrug loganprit odysseus0 dbachelder Divanoli Mydeen Pitchai liuxiaopai-ai Sam Padilla pvtclawn seheepeak TSavo nachoiacovino misterdas LeftX badlogic Shuai-DaiDai mousberg Masataka Shinohara BillChirico Lewis solstead julianengel dantelex sahilsatralkar kkarimi mahmoudashraf93 pkrmf ryan-crabbe miloudbelarebia Mars El-Fitz McRolly NWANGWU carlulsoe Dithilli emonty fal3 mitschabaude-bot benostein LI SHANXIN magendary mahanandhi CashWilliams j2h4u bsormagec Jessy LANGE Lalit Singh hyf0-agent andranik-sahakyan unisone jeann2013 jogelin rmorse scz2011 wes-davis popomore cathrynlavery iamadig Vasanth Rao Naik Sabavat Jay Caldwell Shailesh Kirill Shchetynin ruypang mitchmcalister Paul van Oorschot Xu Gu Menglin Li artuskg jackheuberger imfing superman32432432 Syhids Marvin Taylor Asplund dakshaymehta Stefan Galescu lploc94 WalterSumbon krizpoon EnzeD Evizero Grynn hydro13 jverdi kentaro kunalk16 longmaba mjrussell optimikelabs oswalpalash RamiNoodle733 sauerdaniel SleuthCo TaKO8Ki travisp rodbland2021 fagemx BigUncle Igor Markelov zhoulc777 connorshea TIHU Tony Dehnke pablohrcarvalho bonald rhuanssauro Tanwa Arpornthip webvijayi Tom Ron ozbillwang Patrick Barletta Ian Derrington austinm911 Ayush10 boris721 damoahdominic doodlewind ikari-pl philipp-spiess shayan919293 Harrington-bot nonggia.liang Michael Lee OscarMinjarez claude Alg0rix Lucky Harry Cui Kepler h0tp-ftw Youyou972 Dominic danielwanwx 0xJonHoldsCrypto akyourowngames clawdinator[bot] erikpr1994 thesash thesomewhatyou dashed Dale Babiy Diaspar4u brianleach codexGW dirbalak Iranb Max TideFinder Chase Dorsey Joly0 adityashaw2 tumf slonce70 alexgleason theonejvo Skyler Miao Jeremiah Lowin peetzweg/ chrisrodz ghsmc ibrahimq21 irtiq7 Jonathan D. Rhyne (DJ-D) kelvinCB mitsuhiko rybnikov santiagomed suminhthanh svkozak kaizen403 sleontenko Nate CornBrother0x DukeDeSouth crimeacs Cklee Garnet Liu neverland ryan sircrumpet AdeboyeDN Neo asklee-klawd benediktjohannes 张哲芳 constansino Yuting Lin OfflynAI Rajat Joshi Daniel Zou Manik Vahsith ProspectOre Lilo 24601 awkoy dawondyifraw google-labs-jules[bot] hyojin Kansodata natedenh pi0 dddabtc AkashKobal wu-tian807 Ganghyun Kim Stephen Brian King tosh-hamburg John Rood JINNYEONG KIM Dinakar Sarbada aj47 Protocol Zero Limitless Mykyta Bozhenko Nicholas Shivam Kumar Raut andreesg Fred White Anandesh-Sharma ysqander ezhikkk andreabadesso BinaryMuse cordx56 DevSecTim edincampara fcatuhe gildo itsjaydesu ivanrvpereira loeclos MarvinCui p6l-richard thejhinvirtuoso yudshj Wangnov Jonathan Works Yassine Amjad Django Navarro Frank Harris Kenny Lee Drake Thomsen wangai-studio AytuncYildizli Charlie Niño Jeremy Mumford Yeom-JinHo Rob Axelsen junwon Pratham Dubey amitbiswal007 Slats Oren Parker Todd Brooks MattQ Milofax Steve (OpenClaw) Matthew Cassius0924 0xbrak 8BlT Abdul535 abhaymundhara aduk059 afurm aisling404 akari-musubi albertlieyingadrian Alex-Alaniz ali-aljufairi altaywtf araa47 Asleep123 avacadobanana352 barronlroth bennewton999 bguidolim bigwest60 caelum0x championswimmer dutifulbob eternauta1337 foeken gittb HeimdallStrategy junsuwhy knocte MackDing nobrainer-tech Noctivoro Raikan10 Swader Alexis Gallagher alexstyl Ethan Palm yingchunbai joshrad-dev Dan Ballance Eric Su Kimitaka Watanabe Justin Ling lutr0 Raymond Berger atalovesyou jayhickey jonasjancarik latitudeki5223 minghinmatthewlam rafaelreis-r ratulsarna timkrase efe-buken manmal easternbloc manuelhettich sktbrd larlyssa Mind-Dragon pcty-nextgen-service-account tmchow uli-will-code Marc Gratch JackyWay aaronveklabs CJWTRUST erik-agens odnxe T5-AndyML Josh Phillips mujiannan Marco Di Dionisio Randy Torres afern247 0oAstro alexanderatallah testingabc321 humanwritten aaronn Alphonse-arianee gtsifrikas hrdwdmrbl hugobarauna jiulingyun kitze loukotal MSch odrobnik reeltimeapps rhjoh ronak-guliani snopoke

About

这里是openclaw的源代码 您个人的 AI 助理 运行在各种操作系统之上 可以操作各种平台 龙虾一般的生存之道 本仓库用claude code和智谱GLM 5等为主分析openclaw与多智能体系统架构

280.71 MiB
0 forks1 stars682 branches74 TagREADMEMIT license
Language
TypeScript87.2%
Swift8.5%
Kotlin1.9%
Shell1%
Others1.4%