使用 Clawdbot 构建个人助手(Clawd 风格)
Clawdbot 是用于 Pi 代理的 WhatsApp + Telegram + Discord + iMessage 网关。本指南介绍"个人助手"设置:一个专用的 WhatsApp 号码作为您的常开代理。
安全第一
您正在启用一个代理来:
- 在您的机器上执行命令
- 访问和修改工作区中的文件
- 通过 WhatsApp/Telegram/Discord/Mattermost 发送消息
推荐的预防措施包括:
- 设置
channels.whatsapp.allowFrom以限制访问 - 为助手使用专用的 WhatsApp 号码
- 开始时禁用心跳(
heartbeat.every: "0m")
前置条件和安装
需要 Node 22+。安装选项:
npm install -g clawdbot@latest或者通过 git clone 和 pnpm 命令从源码安装。
双手机设置
本指南建议为助手使用单独的手机,以避免将所有个人消息路由通过代理。您的主手机向助手的专用号码发送消息,该号码在您的 Mac 上运行 Clawdbot。
快速开始
- 通过
clawdbot channels login认证 WhatsApp Web - 使用
clawdbot gateway --port 18789启动网关 - 在
~/.clawdbot/clawdbot.json中配置基本访问控制 - 从您允许列表中的手机向助手号码发送消息
代理工作区
Clawdbot 使用 ~/clawd 作为默认工作区,自动创建启动文件如 AGENTS.md、SOUL.md 和 TOOLS.md。文档建议将其视为"记忆"并维护为私有 git 仓库。
配置调优
关键设置包括 SOUL.md 中的角色指令、思考默认值和会话管理。会话通过 /new 或 /reset 命令重置,可选每日自动重置。
心跳和主动模式
心跳默认每 30 分钟运行一次,检查 HEARTBEAT.md 中的任务。当不需要操作时,代理回复 HEARTBEAT_OK 以抑制出站消息。
媒体处理
入站附件使用模板变量如 {{MediaPath}} 和 {{Transcript}}。出站媒体需要在单独的行上使用 MEDIA:<path-or-url>。
运维和监控
命令如 clawdbot status 和 clawdbot health --json 提供诊断信息。日志存储在 /tmp/clawdbot/ 中。