Clawdbot — 个人人工智能助手 README
Clawdbot是一个你可以在自己设备上运行的个人 AI 助手。它会在你已经使用的频道(WhatsApp、Telegram、Slack、Discord、Google Chat、Signal、iMessage、Microsoft Teams、WebChat)以及扩展频道如 BlueBubbles、Matrix、Zalo 和 Zalo Personal 上回答你。它可以在 macOS/iOS/Android 上说话和监听,还能渲染你控制的实时画布。网关只是控制平面——产品是助手。
如果你想要一个个性化、单用户助理,感觉本地化、快速且始终在线,这就是你的选择。
网站·文档·入门·更新·展示·常见问题·巫师·尼克斯·Docker·Discord
首选配置:运行入职向导(clawdbot onboard)。它会穿过网关、工作空间、渠道和技能。CLI 向导是推荐的路径,适用于macOS、Linux 和 Windows(通过 WSL2;强烈推荐)。适用于 NPM、PNPM 或 Bun。新安装?从这里开始:开始
订阅(OAuth):
模型说明:虽然支持任何模型,但我强烈推荐Anthropic Pro/Max(100/200)+ Opus 4.5,因为它能提供长上下文强度和更好的提示注入抗性。参见入职培训。
模型(选择+认证)
安装(推荐)
运行时间:节点≥22。
npm install -g clawdbot@latest # or: pnpm add -g clawdbot@latest clawdbot onboard --install-daemon
向导安装了 Gateway daemon(launchd/systemd 用户服务),使其保持运行。
快速入门(简而言之;DR)
运行时间:节点≥22。
完整入门指南(认证、配对、频道):入门指南
clawdbot onboard --install-daemon clawdbot gateway --port 18789 --verbose # Send a message clawdbot message send --to +1234567890 --message "Hello from Clawdbot" # Talk to the assistant (optionally deliver back to any connected channel: WhatsApp/Telegram/Slack/Discord/Google Chat/Signal/iMessage/BlueBubbles/Microsoft Teams/Matrix/Zalo/Zalo Personal/WebChat) clawdbot agent --message "Ship checklist" --thinking high
升级?更新指南(并运行Clawdbot 医生 )。
开发渠道
稳定:带标签的发布(vYYYY.M.D或vYYYY.M.D-<patch>),npm dist-tag 最新 。
测试版:预发布标签(vYYYY.M.D-beta.N),npm dist-tagbeta(macOS 应用可能缺失)。
开发者:主项目负责人,NPM 负责人,发布时担任非专业负责人。
切换频道(git + npm):clawdbot update --channel stable|beta|dev。详情:开发渠道。
源代码(开发)
我更喜欢用pnpm来构建源代码。Bun 是直接运行 TypeScript 的可选选项。
git clone https://github.com/clawdbot/clawdbot.git cd clawdbot pnpm install pnpm ui:build # auto-installs UI deps on first run pnpm build pnpm clawdbot onboard --install-daemon # Dev loop (auto-reload on TS changes) pnpm gateway:watch
注:pnpm clawdbot ......直接运行 TypeScript(通过tsx)。PNPM 构建生成Dist/,通过 Node / 打包的clawdbot二进制文件运行。
安全默认设置(DM 访问)
Clawdbot 连接的是真实的消息页面。把收到的私信当作不可信的输入。
完整安全指南:安全
Telegram/WhatsApp/Signal/iMessage/Microsoft Teams/Discord/Google Chat/Slack 上的默认行为:
DM 配对(dmPolicy=“配对”/channels.discord.dm.policy="pairing"/ ):channels.slack.dm.policy="pairing"未知发件人会收到一个简短的配对码,机器人不会处理他们的消息。
批准方式:clawdbot pairing approve <channel> <code>(然后发送者会被添加到本地的允许列表商店)。
公共的入站 DM 需要明确选择加入:设置dmPolicy=“open”,并在频道允许列表中包含“*”(allowFrom/channels.discord.dm.allowFrom/channels.slack.dm.allowFrom)。
运行clawdbot 医生来显示有风险或配置错误的 DM 策略。
亮点
本地优先网关——用于会话、通道、工具和事件的单一控制平面。
多渠道收件箱— WhatsApp、Telegram、Slack、Discord、Google Chat、Signal、iMessage、BlueBubbles、Microsoft Teams、Matrix、Zalo、Zalo Personal、WebChat、macOS、iOS/Android。
多代理路由——将入站信道/账户/节点路由到隔离的代理(工作区+每个代理会话)。
Live Canvas——带A2UI的代理驱动可视化工作空间。
一流的工具——浏览器、画布、节点、cron、会话以及 Discord/Slack 动作。
Companion Apps— macOS 菜单栏应用 + iOS/Android节点。
星级历史
我们迄今为止建立的一切核心平台
Pi代理运行时在 RPC 模式下,支持工具流和块流。
频道
频道:WhatsApp(Baileys)、Telegram(grammY)、Slack(Bolt)、Discord(discord.js)、Google Chat(聊天 API)、Signal(signal-cli)、iMessage(imsg)、BlueBubbles(扩展)、Microsoft Teams(扩展)、Matrix(扩展)、Zalo(扩展)、Zalo Personal(扩展)、WebChat。
应用+节点
macOS 节点模式:System.run/notify + canvas/camera exposure。
工具 + 自动化
运行时间 + 安全
Ops + 包装
工作原理(简短)
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 (clawdbot …) ├─ WebChat UI ├─ macOS app └─ iOS / Android nodes
关键子系统
Gateway WebSocket 网络——为客户端、工具和事件(以及作:Gateway runbook)提供单一 WS 控制平面。
Tailscale exposure— Serve/Funnel for the Gateway dashboard + WS(remote access:Remote).
浏览器控制——用爪子管理的 Chrome/Chromium,并配有 CDP 控制。
Canvas + A2UI— 代理驱动的可视化工作区(A2UI 主机:Canvas/A2UI)。
节点——Canvas、相机快照/剪辑、屏幕录制、location.get、通知,以及仅限 macOS 的system.run/system.notify。
Tailscale 访问(Gateway 仪表盘)
Clawdbot 可以自动配置 TailscaleServe(仅 tailnet)或Funnel(公开),而网关则保持绑定回环。配置gateway.tailscale.mode:
关闭 :无 Tailscale 自动化(默认)。
serve:仅通过tailscale 服务的 HTTPS(默认使用 Tailscale 身份头)。
漏斗 :通过Tailscale Funnel公开 HTTPS(需要共享密码认证)。
注释:
当 Serve/Funnel 启用时,gateway.bind必须保持循环(Clawdbot 强制执行这一点)。
可以通过设置gateway.auth.mode强制要求密码:“password” 或gateway.auth.allowTailscale: false。
漏斗拒绝启动,除非设置了gateway.auth.mode: “password”。
可选:gateway.tailscale.resetOnExit,在关闭时撤销 Serve/Funnel。
远程网关(Linux 很棒)
在小型 Linux 实例上运行网关完全没问题。客户端(macOS 应用、CLI、WebChat)可以通过Tailscale Serve/Funnel或SSH 隧道连接,你也可以配对设备节点(macOS/iOS/Android)来执行设备本地作。
Gateway 主机默认运行执行工具和通道连接。
设备节点通过node.invoke执行设备本地作(system.run、摄像头、屏幕录制、通知)。简而言之:执行官在门户所在地运营;设备作运行在设备所在的位置。
macOS 通过 Gateway 协议获取权限
macOS 应用可以在节点模式下运行,并通过 Gateway WebSocket(node.list/node.describe)宣传其功能 + 权限映射。客户端随后可以通过node.invoke执行本地作:
system.run运行本地命令并返回 stdout/stderr/exit 代码;setneedsScreenRecording:true,要求屏幕录制权限(否则会PERMISSION_MISSING)。
System.notify会发布用户通知,如果通知被拒绝则会失败。
canvas.*、camera.*、screen.record和location.get也通过node.invoke路由,并遵循 TCC 权限状态。
提升 bash(主机权限)与 macOS TCC 是分开的:
使用/elevated on|off来切换每场会话的提升访问,当启用 + 允许列表时。
Gateway 通过sessions.patch(WS 方法)与thinkingLevel、verboseLevel、model、sendPolicy和groupActivate一起,维持了每会话的切换。
代理对代理(sessions_* 工具)
利用这些资源在不同会话间协调工作,避免在聊天界面间跳跃。
sessions_list— 发现活动会话(代理)及其元数据。
sessions_history— 获取会话的文字记录日志。
sessions_send— 再次发消息;可选回复-反击乒乓+宣布步骤(REPLY_SKIP,ANNOUNCE_SKIP)。
详情:会话工具
技能注册(ClawdHub)
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— 重启网关(组中仅限所有者)
/激活提及|始终 — 组激活切换(仅限组组)
应用(可选)
仅《Gateway》就带来了极佳的体验。所有应用都是可选的,并增加了额外功能。
如果你打算构建/运行配套应用,请按照下面的平台运行手册作。
macOS(Clawdbot.app)(可选)
Gateway 和生命值的菜单栏控制。
语音唤醒+按键通话叠加。
WebChat + 调试工具。
通过 SSH 远程网关控制。
注意:签名构建是 macOS 权限跨重建保持的前提条件(参见docs/mac/permissions.md)。
iOS 节点(可选)
通过桥接成对作为节点。
语音触发转发 + Canvas 表面。
通过爪机器人节点控制......
运行手册:iOS 连接。
Android 节点(可选)
配对方式和 iOS 一样,采用相同的 Bridge + 配对流程。
显示 Canvas、相机和屏幕捕获命令。
运行手册:Android 连接。
代理工作空间+技能
工作区根:~/clawd(可通过agents.defaults.workspace配置)。
注入的提示文件:AGENTS.md、SOUL.md、TOOLS.md。
技能:~/clawd/skills/<skill>/SKILL.md。
配置
最小化的 ~/.clawdbot/clawdbot.json(模型 + 默认):
{
agent: {
model: "anthropic/claude-opus-4-5"
}
}
安全模型(重要)
默认:主会话工具会在主机上运行,所以当只有你一个人时,代理可以完全访问。
组/通道安全:设置为agents.defaults.sandbox.mode: "non-main"在每个会话的 Docker 沙箱中运行非主会话(组/通道);bash 随后在 Docker 中运行这些会话。
沙盒默认值:允许列表bash、process、 读取 、 写 、 编辑 、sessions_list、sessions_history、sessions_send、sessions_spawn;否认者浏览器 、Canvas、 节点 、Cron、Discord、 网关 。
详情:安全指南·Docker + 沙箱·沙盒配置
设备链接:pnpm clawdbot 频道登录 (将信用记录存储在~/.clawdbot/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(env wins)。
可选:设置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;消息必须登录。
如果设置为channels.imessage.groups,则会变成组允许列表;包含“*”以允许所有。
配置一个 Teams 应用 + 机器人框架,然后添加msteams配置部分。
允许列表,谁可以通过msteams.allowFrom聊天;通过msteams.groupAllowFrom或msteams.groupPolicy(“open”)访问组。
使用 Gateway WebSocket;没有单独的 WebChat 端口/配置。
浏览器控制(可选):
{
browser: {
enabled: true,
color: "#FF4500"
}
}
文档
当你已经过了入职流程,想要更深入的参考时,可以使用这些。
高级文档(发现+控制)
作与故障排除
深潜
工作空间与技能
平台内部结构
电子邮件钩子(Gmail)
爪子
Clawdbot 是为Clawd 打造的,Clawd是一个太空龙虾 AI 助手。