2026年1月29日星期四

ClawdBot : Installing an AI Assistant on Your Server for 24/7 Remote PC Control

Summary: This open-source AI assistant framework runs locally, allowing remote PC control via Telegram/WhatsApp, automated email handling, scheduled tasks, and code debugging. The guide details setup on a VPS, covering installation, API configuration, Telegram bot creation, and securing the system with allowlists and systemd.

出门在外,随时用手机让 AI 查看服务器状态、处理邮件、甚至调试代码——这个开源项目让我实现了"数字管家"自由。

今天刷 Twitter 时,发现时间线被一个叫 ClawdBot 的项目刷屏了。

点进去一看,原来是一个开源的 AI 助手框架,功能相当强大:通过 Telegram/WhatsApp 远程控制电脑、自动处理邮件、定时执行任务,甚至有人用它和 4S 店砍价省了 4200 美元。

image-20260127155609156

我正好有台闲置的 VPS,决定尝试一下。结果这一试,踩了不少坑。官方文档比较零散,很多细节需要自己摸索。下面就把我的安装配置过程记录下来,为想尝试的朋友节省时间。


一、ClawdBot 是什么?

简单来说,ClawdBot 是一个 本地运行的 AI 助手网关

它的核心是一个 Gateway 进程,主要负责三件事:

  1. 连接聊天平台
    :支持 Telegram、WhatsApp、Discord、iMessage 等
  2. 调用 AI 模型
    :兼容 Claude、GPT 以及各类本地模型
  3. 操作系统资源
    :执行命令、读写文件、控制浏览器、管理定时任务

你可以把它理解为一个 7×24 小时在线的 AI 员工。它有记忆(记得之前的对话),有执行能力(能操作你的电脑),还会主动工作(定时任务、邮件监控)。

根据 Mashable 的报道,这个项目火到连 Mac mini 都一度缺货——不少人专门购买小型主机在家运行它。

不过我认为没必要这么"硬核"。一台普通的云服务器就足够了,月费几十元,即使玩坏了也不心疼。


二、它能做什么?

搭建完成后,我亲身体验了几个实用场景:

  • 随时随地远程操作
    :在手机上给 Bot 发送指令,秒级响应。出门在外也能轻松管理服务器。
  • 实时查看服务器状态
    :让它执行 htop 或检查 Docker 容器,并截图返回。
  • 自动化定时任务
    :每天早上 7 点自动发送服务器健康报告。
  • 辅助编程与调试
    :将报错信息发送给它,能直接获得修复方案甚至修改代码。

网上还有更多高阶玩法:

  • 邮件自动化
    :每 15 分钟检查一次收件箱,自动归档垃圾邮件,重要邮件即时推送摘要,还能模仿你的语气起草回复。
  • 智能笔记整理
    :连接 Obsidian,自动更新每日笔记,从会议记录中提取待办事项,生成每周回顾。
  • 夜间持续集成
    :睡前提交一个 Bug,它会持续调试、提交代码、运行测试,第二天早上 Pull Request 就已就绪。
  • 智能家居控制
    :在家休闲时,通过手机指令调节灯光、查询天气、设置闹钟。

当然,这些高级功能需要配置额外的 Skills 和集成。本文先介绍基础安装,目标是实现能对话、能执行命令image-20260127155715044

image-20260127155723447image-20260127155745564


三、准备工作

你需要准备以下几项:

项目
说明
一台服务器
云服务器(我用的是 Ubuntu 24.04)、Mac mini、旧电脑或树莓派均可。建议选择国外服务器,避免网络环境带来的额外配置。
Telegram 账号
用于创建 Bot
Claude/GPT API
官方 API 或支持 OpenAI 兼容格式的中转站均可(下文会详细说明)

设备选择建议

  • 云服务器(推荐新手)
    优点:成本低(最低每月几十元)、不怕玩坏、永久在线
    缺点:需要一定的 Linux 基础

  • Mac mini
    优点:性能好、功耗低、支持 macOS 专属功能(如 iMessage)
    缺点:价格高(4000+ 起步)、权限过高可能带来安全风险

个人建议:新手先用 VPS 试水。熟悉后再考虑是否购入专用设备。如果真要用 Mac mini,切勿使用日常工作主力机——万一配置出错或 API Key 泄露,后果可能很严重。


四、安装方式

ClawdBot 支持多种安装方式,我按推荐顺序排列:

方式一:一键安装脚本(推荐)

官方提供的快速安装命令,会自动处理依赖和权限问题:

# Linux / macOS
curl-fsSL https://get.clawd.bot |bash

# 安装完成后运行引导向导
clawdbot onboard --install-daemon

该脚本会自动检测系统、安装 Node.js 22+、处理 npm 权限并全局安装 ClawdBot。

方式二:手动 npm 安装

如果你已具备 Node.js 22+ 环境:

npminstall-g clawdbot@latest

五、详细安装步骤

下面以手动安装方式演示。虽然一键脚本更方便,但手动安装能让你更清楚每一步的操作,出现问题也便于排查。

第一步:安装 Node.js 22+

ClawdBot 要求 Node.js 版本 22 或更高。Ubuntu 自带的版本通常较旧,需要手动安装。

# 添加 NodeSource 仓库
curl-fsSL https://deb.nodesource.com/setup_22.x |bash -

# 安装
apt-getinstall-y nodejs

# 验证
node-v# 输出 v22.x.x 即为正确

踩坑提醒:不要直接使用 apt install nodejs,这样安装的通常是老版本(v12 或 v18),后续会出现各种兼容性错误。

第二步:安装 ClawdBot

npminstall-g clawdbot@latest

安装完成后验证:

clawdbot --version

踩坑提醒:如果出现 EACCES 权限错误,说明 npm 全局目录权限有问题。解决方法如下:

mkdir-p ~/.npm-global
npm config set prefix '~/.npm-global'
echo'export PATH=~/.npm-global/bin:$PATH'>> ~/.bashrc
source ~/.bashrc

第三步:创建 Telegram Bot

  1. 打开 Telegram,搜索 @BotFather
  2. 发送 /newbot必须新建,不能使用已有 Bot)。
  3. 按提示操作:
    • 为 Bot 设置一个显示名称
    • 设置用户名(必须以 bot 结尾,例如 my_clawd_bot
  4. 创建成功后,BotFather 会提供一串 Token:
    1234567890:ABCdefGHIjklMNOpqrSTUvwxYZ1234567890

务必保存好这串 Token,后续步骤需要用到。

第四步:准备 API

这是最容易踩坑的环节。

  • 使用官方 API
    前往 console.anthropic.com 注册,创建 API Key(以 sk-ant- 开头),并充值少量余额。

  • 使用中转站 API
    如果使用中转站,请注意以下三点:

    1. 必须支持 OpenAI 兼容格式
    2. 必须支持 工具调用(function calling)
    3. 确认 没有分组限制

踩坑分享:这里我直接使用了 CLI Proxy API 这个开源项目进行 API 中转,选择了 gemini-3-flash 模型,体验非常流畅!

第五步:编写配置文件

创建配置目录并编辑配置文件:

mkdir-p ~/.clawdbot
nano ~/.clawdbot/clawdbot.json

根据你的 API 类型选择配置模板:

模板 A:Anthropic 官方 API

{
"gateway":{
"mode":"local",
"bind":"loopback",
"port":18789
},
"env":{
"ANTHROPIC_API_KEY":"sk-ant-你的密钥"
},
"agents":{
"defaults":{
"model":{
"primary":"anthropic/claude-sonnet-4-5-20261022"
}
}
},
"channels":{
"telegram":{
"enabled":true,
"botToken":"你的 Bot Token",
"dmPolicy":"pairing"
}
}
}

模板 B:OpenAI 兼容的中转站

{
"gateway":{
"mode":"local",
"bind":"loopback",
"port":18789
},
"agents":{
"defaults":{
"model":{
"primary":"gemini/gemini-3-flash"
},
"elevatedDefault":"full",
"workspace":"/wangwang",
"compaction":{
"mode":"safeguard"
},
"maxConcurrent":4,
"subagents":{
"maxConcurrent":8
}
}
},
"models":{
"mode":"merge",
"providers":{
"gemini":{
"baseUrl":"https://你的中转站 API/v1",
"apiKey":"test",
"api":"openai-completions",
"models":[
{
"id":"gemini-3-flash",
"name":"gemini-3-flash"
}
]
}
}
},
"channels":{
"telegram":{
"botToken":"你的 TG Token"
}
},
"plugins":{
"entries":{
"telegram":{
"enabled":true
}
}
}
}

配置注意事项

  • api
     字段必须填写 openai-completions。我曾误填为 openai-chat,导致服务无法启动。
  • models
     数组不能省略,否则会报错提示缺少必填项。
  • 注意 agents 部分也配置了模型名称,记得修改!

第六步:启动测试

clawdbot gateway --verbose

看到以下输出表示启动成功:

[gateway] listening on ws://127.0.0.1:18789
[telegram] [default] starting provider (@你的 Bot 名字)

第七步:配对

首次向 Bot 发送消息,它会回复配对码:

Pairing code: X9MKTQ2P
Your Telegram user id: 123456789

在服务器上执行配对命令:

clawdbot pairing approve telegram X9MKTQ2P

配对完成后,只有你的账号可以与 Bot 对话,其他人发送的消息它不会响应。

记下你的 Telegram User ID,后续设置权限白名单时需要用到。

至此,基础功能已配置完成!之后有任何需求,可以直接在 Telegram 中对话,让 AI 自行配置。例如,我让它帮我集成了 exa 的搜索功能。


六、设置开机自启

如果仅使用 nohup 运行,SSH 断开后进程就会停止。建议使用 systemd 管理:

cat> /etc/systemd/system/clawdbot.service <<'EOF'
[Unit]
Description=ClawdBot Gateway
After=network.target

[Service]
Type=simple
User=root
ExecStart=/usr/bin/clawdbot gateway --verbose
Restart=always
RestartSec=5
Environment=HOME=/root

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl enable clawdbot
systemctl start clawdbot

这样配置后,服务会在开机时自动启动,并在异常退出 5 秒后自动重启。


七、日常维护

常用管理命令如下:

# 查看运行状态
systemctl status clawdbot

# 查看实时日志
journalctl -u clawdbot -f

# 重启服务
systemctl restart clawdbot

# 健康检查
clawdbot doctor

# 查看全面状态
clawdbot status --all

八、进阶配置

1. 命令白名单

如果希望某些命令可以自动执行,无需每次手动批准:

# 允许 docker 相关命令
clawdbot approvals allowlist add--agent"*""docker *"

# 允许 systemctl 相关命令
clawdbot approvals allowlist add--agent"*""systemctl *"

# 允许 /usr/bin 目录下的程序
clawdbot approvals allowlist add--agent"*""/usr/bin/*"

# 查看当前白名单
clawdbot approvals allowlist list

2. 定时任务

ClawdBot 内置了 Cron 功能。例如,设置每天早上 7 点发送服务器状态报告:

clawdbot cronadd--schedule"0 7 * * *"\
--timezone"Asia/Shanghai"\
--message"检查服务器状态,给我发个简报"\
--deliver telegram \
--to"你的 TG 用户 ID"

也可以写入配置文件:

{
"cron":{
"jobs":[
{
"id":"daily-report",
"schedule":{
"cron":"0 7 * * *",
"timezone":"Asia/Shanghai"
},
"sessionTarget":"isolated",
"payload":{
"agentTurn":{
"message":"检查服务器状态,生成简报"
}
},
"deliver":{
"channel":"telegram",
"to":"你的 TG 用户 ID"
}
}
]
}
}

九、常见问题

1. clawdbot: command not found

这是 npm PATH 问题。确认全局目录是否在 PATH 中:

npm config get prefix
echo'export PATH=$(npm config get prefix)/bin:$PATH'>> ~/.bashrc
source ~/.bashrc

2. 端口被占用

默认端口 18789 可能被其他程序占用:

lsof-i :18789  # 查看占用进程
clawdbot gateway --port18790--verbose# 更换端口启动

3. Bot 收到消息但不回复

按顺序检查:

  1. Gateway 是否在运行:clawdbot status
  2. 是否已完成配对:clawdbot pairing list telegram
  3. API 额度是否充足
  4. 查看日志:journalctl -u clawdbot -f

4. all models failed

API 配置问题,检查:

  • Key 是否正确
  • baseUrl 格式是否正确(结尾是否有 /v1
  • model id 是否填写正确
  • 运行 clawdbot doctor 进行诊断

5. 工具调用失败

你的 API 可能不支持 function calling。这种情况下 Bot 可以聊天,但无法执行命令。需要更换支持工具调用的 API。


十、完整配置示例

以下是一个功能完整的配置,开箱即用:

{
"gateway":{
"mode":"local",
"bind":"loopback",
"port":18789
},
"agents":{
"defaults":{
"model":{
"primary":"openai-compat/claude-sonnet-4-5-20261022",
"fallback":["openai-compat/claude-haiku-3-5-20241022"]
},
"elevatedDefault":"full",
"thinking":"medium"
}
},
"models":{
"mode":"merge",
"providers":{
"openai-compat":{
"baseUrl":"https://你的 API 地址/v1",
"apiKey":"你的密钥",
"api":"openai-completions",
"models":[
{
"id":"claude-sonnet-4-5-20261022",
"name":"Claude Sonnet 4.5"
},
{
"id":"claude-haiku-3-5-20241022",
"name":"Claude Haiku 3.5"
}
]
}
}
},
"tools":{
"exec":{
"backgroundMs":10000,
"timeoutSec":1800,
"cleanupMs":1800000,
"notifyOnExit":true
},
"elevated":{
"enabled":true,
"allowFrom":{
"telegram":["你的 TG 用户 ID"]
}
},
"allow":["exec","process","read","write","edit","web_search","web_fetch","cron"]
},
"channels":{
"telegram":{
"enabled":true,
"botToken":"你的 Bot Token",
"dmPolicy":"pairing",
"allowFrom":["你的 TG 用户 ID"],
"groupPolicy":"disabled"
}
},
"cron":{
"jobs":[]
}
}

配置亮点

  • fallback
    :主模型不可用时自动切换备用模型
  • thinking: medium
    :启用中等深度思考模式
  • groupPolicy: disabled
    :仅响应私聊,不参与群组
  • 双重白名单:elevated 和 channels 均设置了 allowFrom,增强安全性

总结

整个搭建过程我用了大半天时间,大部分精力花在排查配置格式上。

几个关键点再次强调:

  1. Node.js 版本
    :必须为 22 以上
  2. API 通用性
    :避免使用有分组限制的 Key
  3. 配置格式严格
    :注意 api 字段、models 数组等易错项
  4. 使用 systemd 管理
    :替代不稳定的 nohup 方式
  5. 安全第一
    :务必设置白名单,定期检查日志

搭建完成后确实非常方便。出门在外随时能与服务器交互,定时任务也无需手动编写脚本。

不过说实话,这个项目更适合有一定技术基础的用户。如果只是想与 AI 聊天,直接使用 Claude 官网即可。折腾 ClawdBot,图的是 可控性 和 自动化能力——它让 AI 真正成为了你的数字助手,而不仅仅是一个对话对象。


本文已尽量涵盖安装过程中的常见问题,如果你在搭建时遇到其他困难,欢迎在评论区交流讨论。

没有评论:

发表评论

Forum Auto-Sign Script : Server Setup and Code Guide

Script for automated daily sign-in on forums. Includes server purchase links (Aliyun, Tencent, Huawei), deployment tutorial for Qinglong Pan...