在Ubuntu Server虚拟机中部署Clawdbot,打造你的AI管家

前言

最近Clawdbot在全球范围内爆火,这款开源的AI助手能够帮助你主动完成各种任务,真正实现让AI为你”主动打工”。虽然网上有很多关于在Mac mini上部署的教程,但很多用户(包括我)更习惯在虚拟机中使用。今天就来分享一下如何在Ubuntu Server虚拟机中部署Clawdbot,并通过SSH端口转发实现便捷访问。

什么是Clawdbot

Clawdbot是一个强大的AI代理框架,可以集成到各种平台(如Telegram、Discord、Signal等),具备以下核心特性:

  • 🔌 多平台支持:支持Telegram、Discord、Signal、WhatsApp等多种消息平台
  • 🧠 智能记忆:具备长期记忆能力,能够记住你的偏好和历史对话
  • 🎯 主动提醒:可以设置定时任务和提醒,主动为你推送信息
  • 🔌 插件生态:丰富的插件系统,支持各种扩展功能
  • 🌐 网页UI:提供友好的Web界面,方便管理和交互

部署环境准备

系统要求

  • Ubuntu Server 20.04/22.04/24.04
  • Node.js 18+ 和 npm
  • 至少2GB RAM
  • 10GB可用磁盘空间

虚拟机网络配置

确保你的虚拟机网络配置为桥接模式或NAT模式,并能够通过SSH访问。我的配置如下:

  • 虚拟机IP:192.168.78.19
  • 用户名:gwb
  • Clawdbot默认端口:18789

部署步骤

1. 更新系统并安装Node.js

首先更新系统并安装Node.js:

1
2
3
4
5
6
7
8
9
10
# 更新系统
sudo apt update && sudo apt upgrade -y

# 安装Node.js(使用NodeSource仓库)
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt install -y nodejs

# 验证安装
node --version
npm --version

2. 安装Clawdbot

使用npm全局安装Clawdbot:

1
2
3
4
5
# 全局安装Clawdbot
sudo npm install -g openclaw

# 验证安装
openclaw --version

3. 初始化Clawdbot

1
2
3
4
5
6
# 创建工作目录
mkdir -p ~/.openclaw
cd ~/.openclaw

# 初始化配置
openclaw init

根据提示完成初始化配置,包括:

  • 选择消息平台
  • 配置API密钥(如Telegram Bot Token)
  • 设置其他个性化选项

4. 启动Clawdbot服务

1
2
3
4
5
# 启动服务
openclaw start

# 查看状态
openclaw status

Clawdbot默认会在 18789 端口提供Web UI服务。

通过SSH端口转发访问

由于Ubuntu Server通常没有图形界面,我们可以在Mac本机上通过SSH端口转发来访问Clawdbot的Web UI。这种方式既安全又方便。

配置SSH端口转发

在Mac终端执行以下命令:

1
ssh -N -L 127.0.0.1:18888:localhost:18789 gwb@192.168.78.19

参数说明:

  • -N:不执行远程命令,仅做端口转发
  • -L:本地端口转发,格式为 本地IP:本地端口:远程IP:远程端口
  • 127.0.0.1:18888:本机监听地址和端口
  • localhost:18789:虚拟机上的Clawdbot服务地址和端口
  • gwb@192.168.78.19:虚拟机的用户名和IP地址

访问Web UI

保持SSH端口转发命令运行,然后在Mac浏览器中访问:

1
http://127.0.0.1:18888/?token=xxx

其中 xxx 是你的访问令牌(token),可以通过以下命令获取:

1
openclaw token

后台运行SSH端口转发

每次手动运行SSH命令比较麻烦,我们可以将其配置为后台运行:

方法1:使用nohup

1
nohup ssh -N -L 127.0.0.1:18888:localhost:18789 gwb@192.168.78.19 > /dev/null 2>&1 &

方法2:创建SSH配置

编辑 ~/.ssh/config 文件:

1
2
3
4
5
6
Host clawdbot
HostName 192.168.78.19
User gwb
LocalForward 127.0.0.1:18888 localhost:18789
ServerAliveInterval 60
ServerAliveCountMax 3

然后只需执行:

1
ssh -N clawdbot

方法3:使用automator(Mac推荐)

创建一个Automator应用,自动启动SSH端口转发:

  1. 打开Automator,选择”应用程序”
  2. 添加”运行Shell脚本”动作
  3. 输入以下内容:
1
osascript -e 'tell application "Terminal" to do script "ssh -N -L 127.0.0.1:18888:localhost:18789 gwb@192.168.78.19"'
  1. 保存为”Clawdbot SSH”
  2. 添加到登录项即可开机自动运行

Clawdbot常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 启动服务
openclaw start

# 停止服务
openclaw stop

# 重启服务
openclaw restart

# 查看状态
openclaw status

# 查看日志
openclaw logs

# 获取访问令牌
openclaw token

# 查看帮助
openclaw --help

进阶配置

配置定时任务

Clawdbot支持cron格式的定时任务,可以设置主动提醒:

1
2
# 创建提醒任务
openclaw cron add --schedule "0 9 * * *" --message "早上好!记得查看今天的日程"

集成更多平台

在配置文件中添加多个平台支持:

1
2
3
4
5
# 进入配置目录
cd ~/.openclaw

# 编辑配置文件
vim config.yaml

安装插件

Clawdbot拥有丰富的插件生态,可以安装各种功能插件:

1
2
3
4
5
# 查看可用插件
openclaw plugin list

# 安装插件
openclaw plugin install <plugin-name>

常见问题

Q1: 无法访问Web UI

解决方案:

  • 确认SSH端口转发命令正在运行
  • 检查Clawdbot服务是否正常启动:openclaw status
  • 确认防火墙规则允许端口访问

Q2: SSH连接断开

解决方案:

  • 在SSH配置中添加保活参数:

    1
    2
    ServerAliveInterval 60
    ServerAliveCountMax 3
  • 使用autossh工具自动重连:

    1
    2
    sudo apt install autossh
    autossh -M 0 -N -L 127.0.0.1:18888:localhost:18789 gwb@192.168.78.19

Q3: 端口被占用

解决方案:

  • 修改本地端口映射,如改为 18889

    1
    ssh -N -L 127.0.0.1:18889:localhost:18789 gwb@192.168.78.19
  • 访问时使用新端口:http://127.0.0.1:18889/?token=xxx

总结

通过以上步骤,我们成功在Ubuntu Server虚拟机中部署了Clawdbot,并通过SSH端口转发实现了在Mac本机上的便捷访问。这种部署方式的优势包括:

  1. 资源隔离:虚拟机环境独立,不影响宿主机
  2. 安全性高:SSH加密传输,不暴露服务端口到公网
  3. 灵活管理:可以随时重启或迁移虚拟机
  4. 成本低廉:无需购买额外硬件

Clawdbot作为一个强大的AI代理,能够极大提升你的工作和生活效率。赶快动手部署,体验让AI为你”主动打工”的乐趣吧!

参考资源


💡 提示: 如果在部署过程中遇到问题,欢迎查阅官方文档或在社区寻求帮助。Clawdbot的社区非常活跃,开发者们都很乐意提供帮助。