ClawdBot 这两天很火,本文为大家介绍一下如何在 VPS 部署一个专属云端助理,核心功能:
- VPS 状态监控: 随时查看 Vultr 服务器的 CPU、内存、磁盘使用率(防止死机)。
- 网络连通性测试: 检查某个网站是否宕机(使用合规的 HTTP 请求)。
- IP 查询: 快速获取服务器当前公网 IP。
- 安全机制: 仅允许您个人的 Telegram ID 操作,拒绝陌生人指令。
环境要求: Vultr VPS (Ubuntu 20.04/22.04/24.04)

🟢 第一阶段:环境准备
SSH 登录服务器,安装 Python 环境及必要的系统监控库。
# 1. 更新系统
sudo apt update && sudo apt upgrade -y
# 2. 安装 Python3 和 venv
sudo apt install python3 python3-pip python3-venv -y
# 3. 创建项目目录 (我们就叫它 my_assistant)
mkdir -p ~/my_assistant
cd ~/my_assistant
# 4. 创建虚拟环境
python3 -m venv venv
source venv/bin/activate
# 5. 安装依赖库
# pyTelegramBotAPI: 机器人框架
# psutil: 用于获取系统状态 (CPU/内存)
# requests: 用于安全的网络请求
pip install pyTelegramBotAPI psutil requests
🔵 第二阶段:编写助理代码
这是核心步骤。我们将编写一个全新的 bot.py,它没有任何黑客功能,全是实用的运维和助理功能。
nano bot.py
复制并粘贴以下代码(请修改配置区):
import telebot
import psutil
import requests
import time
import platform
from datetime import datetime
# ================= 配置区域 =================
# 1. 填入您的 Bot Token
TOKEN = '您的_BOT_TOKEN_粘贴在这里'
# 2. 填入您的 Telegram User ID (数字ID)
# 只有这个名单里的 ID 才能指挥机器人,其他人会被忽略
ADMIN_ID = [123456789]
# ===========================================
bot = telebot.TeleBot(TOKEN)
# 鉴权装饰器:确保只有您可以操作
def admin_only(func):
def wrapper(message):
if message.from_user.id not in ADMIN_ID:
bot.reply_to(message, "⛔️ 权限不足:您不是该机器人的管理员。")
return
return func(message)
return wrapper
# 1. /start - 欢迎菜单
@bot.message_handler(commands=['start', 'help'])
@admin_only
def send_welcome(message):
menu = (
"🤖 **您的云端私人助理已上线**\n\n"
"可用指令:\n"
"📊 /status - 查看 VPS 运行状态\n"
"🌍 /ip - 查看当前服务器 IP\n"
"🔗 /check <url> - 检查网站是否连通\n"
"🆔 /id - 获取您的 User ID"
)
bot.reply_to(message, menu, parse_mode='Markdown')
# 2. /status - 系统监控 (最实用的功能)
@bot.message_handler(commands=['status'])
@admin_only
def system_status(message):
# CPU
cpu_usage = psutil.cpu_percent(interval=1)
# 内存
mem = psutil.virtual_memory()
mem_used = round(mem.used / 1024 / 1024, 1)
mem_total = round(mem.total / 1024 / 1024, 1)
mem_percent = mem.percent
# 磁盘
disk = psutil.disk_usage('/')
disk_used = round(disk.used / 1024 / 1024 / 1024, 1)
disk_total = round(disk.total / 1024 / 1024 / 1024, 1)
# 启动时间
boot_time = datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d %H:%M:%S")
reply = (
f"📊 **Vultr VPS 状态报告**\n"
f"------------------------\n"
f"💻 **系统:** {platform.system()} {platform.release()}\n"
f"🧠 **CPU使用:** {cpu_usage}%\n"
f"📝 **内存:** {mem_used}MB / {mem_total}MB ({mem_percent}%)\n"
f"💾 **硬盘:** {disk_used}GB / {disk_total}GB ({disk.percent}%)\n"
f"⏳ **启动时间:** {boot_time}"
)
bot.reply_to(message, reply, parse_mode='Markdown')
# 3. /ip - 查看 IP
@bot.message_handler(commands=['ip'])
@admin_only
def get_ip(message):
try:
ip = requests.get('https://api.ipify.org').text
bot.reply_to(message, f"🌍 当前公网 IP: `{ip}`", parse_mode='Markdown')
except:
bot.reply_to(message, "无法获取 IP")
# 4. /check - 简单的网站连通性检查
@bot.message_handler(commands=['check'])
@admin_only
def check_web(message):
try:
url = message.text.split()[1]
if not url.startswith('http'):
url = 'http://' + url
start = time.time()
response = requests.get(url, timeout=5)
latency = round((time.time() - start) * 1000, 2)
status_icon = "✅" if response.status_code == 200 else "⚠️"
bot.reply_to(message, f"{status_icon} **状态码:** {response.status_code}\n⏱ **延迟:** {latency}ms", parse_mode='Markdown')
except IndexError:
bot.reply_to(message, "用法: `/check google.com`", parse_mode='Markdown')
except Exception as e:
bot.reply_to(message, f"❌ 访问失败: {str(e)}")
# 5. /id - 方便获取自己的 ID
@bot.message_handler(commands=['id'])
def get_id(message):
bot.reply_to(message, f"您的 User ID 是: `{message.from_user.id}`", parse_mode='Markdown')
# 启动轮询
print("助理机器人已启动...")
bot.infinity_polling()
按 Ctrl+O 保存,Ctrl+X 退出。
🟡 第三阶段:试运行
在终端中测试代码是否报错:
python3 bot.py
此时,掏出您的手机,给机器人发送 /start。
-
如果您收到了菜单回复 -> 成功!
-
如果您没有任何反应或报错 -> 请检查 Token 是否正确,或者是否安装了依赖。
测试成功后,按 Ctrl+C 停止运行。
🔴 第四阶段:配置全自动后台运行 (Systemd)
为了让这个助理像一个真正的服务一样,7×24 小时在线(即使服务器重启),我们需要配置 Systemd。
-
创建服务文件:
sudo nano /etc/systemd/system/my_assistant.service -
粘贴配置(请修改 User 和路径):
假设您的用户名是
root,路径在/root/my_assistant。[Unit] Description=My Personal Cloud Assistant After=network.target [Service] Type=simple User=root WorkingDirectory=/root/my_assistant # 使用虚拟环境中的 python ExecStart=/root/my_assistant/venv/bin/python3 bot.py Restart=always RestartSec=10 [Install] WantedBy=multi-user.target -
启动服务:
sudo systemctl daemon-reload sudo systemctl enable my_assistant sudo systemctl start my_assistant
✅ 总结
现在,您拥有了一个完全合规的个人助理:
- 它不包含任何攻击代码:没有 SQLMap,没有漏洞扫描。
- 它完全私有:代码中加入了
admin_only鉴权,只有您的 ID 能控制它。 - 它很有用:
- 场景一: 觉得网站访问慢?发送
/status看看 VPS 是不是 CPU 爆了。 -
场景二: 出门在外想确认博客挂没挂?发送
/check myblog.com。 -
场景三: 需要给服务器开白名单?发送
/ip复制当前的公网 IP。
- 场景一: 觉得网站访问慢?发送
这就把“ClawdBot”的概念成功转化为了一个安全、合规且实用的“Cloud Assistant”。祝您使用愉快!

主机百科





