Start

构建个人助手

使用 WhatsApp、Telegram、Discord 或 iMessage 将 Clawdbot 设置为你的个人 AI 助手。

概述

Clawdbot 作为连接消息平台和 AI 代理的网关,让你可以通过喜欢的消息应用与 AI 助手交互。

安全注意事项

Clawdbot 可以执行命令、访问文件和发送消息。重要的安全措施:

  • 设置 channels.whatsapp.allowFrom 限制访问
  • 为助手使用专用电话号码
  • 在信任之前禁用心跳("0m"
  • 在授予 shell 访问权限之前审查权限

前置要求

  • Node.js 22+
  • 全局安装的 Clawdbot
  • 助手的第二个电话号码(推荐)

推荐架构

使用两部手机是最安全的设置:

┌─────────────────┐     ┌─────────────────┐     ┌─────────────────┐
│  你的手机       │────▶│  助手           │────▶│  你的电脑       │
│  (个人)       │     │  电话号码       │     │  (Clawdbot)   │
└─────────────────┘     └─────────────────┘     └─────────────────┘

你的个人设备向第二部手机(助手)发送消息,该手机链接到你电脑上运行的 Clawdbot。

快速开始

1. 配对 WhatsApp Web

clawdbot channels login whatsapp

用你的助手手机扫描二维码。

2. 启动 Gateway

clawdbot gateway --port 18789

3. 配置白名单

编辑 ~/.clawdbot/clawdbot.json

{
  "channels": {
    "whatsapp": {
      "allowFrom": ["+1234567890"],
      "dmPolicy": "allowlist"
    }
  }
}

工作区与记忆

默认工作区

位置:~/.clawdbot/workspace

包含指令文件:

文件用途
AGENTS.md代理配置和行为
SOUL.md个性和沟通风格
TOOLS.md可用工具和能力
IDENTITY.md身份信息
USER.md关于你的信息
HEARTBEAT.md主动任务指令

版本控制

将你的工作区作为 git 仓库进行备份:

cd ~/.clawdbot/workspace
git init
git add .
git commit -m "Initial workspace"

会话

会话按发送者存储。管理会话的命令:

命令描述
/new开始新对话
/reset清除对话历史
/status检查助手状态

心跳(主动任务)

心跳是代理读取 HEARTBEAT.md 检查任务的定期检查。

配置

~/.clawdbot/clawdbot.json 中:

{
  "heartbeat": {
    "interval": "30m",
    "enabled": true
  }
}

行为

  • 默认:每 30 分钟
  • 代理读取 HEARTBEAT.md 查找待处理任务
  • 如果没有需要注意的事项,回复 HEARTBEAT_OK
  • 设置为 "0m" 禁用

HEARTBEAT.md 示例

# 心跳任务

- 检查新邮件并总结重要邮件
- 查看日历中即将到来的会议
- 监控 AAPL、GOOGL 的股票价格

媒体处理

入站附件

Clawdbot 可以接收和处理:

  • 图片
  • 文档
  • 语音消息
  • 视频

出站媒体

使用 MEDIA:<path> 语法发送媒体:

MEDIA:/path/to/image.png

操作

状态命令

# 检查健康状态
clawdbot health

# 查看状态
clawdbot status

# 查看日志
tail -f /tmp/clawdbot/gateway.log

日志

日志存储在 /tmp/clawdbot/

文件内容
gateway.logGateway 操作
agent.log代理活动
channel-*.log频道特定日志

多频道设置

clawdbot.json 中配置多个频道:

{
  "channels": {
    "whatsapp": {
      "enabled": true,
      "allowFrom": ["+1234567890"]
    },
    "telegram": {
      "enabled": true,
      "botToken": "YOUR_BOT_TOKEN"
    },
    "discord": {
      "enabled": true,
      "botToken": "YOUR_BOT_TOKEN"
    }
  }
}

下一步