前言
最近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. 安装Clawdbot
使用npm全局安装Clawdbot:
1 | # 全局安装Clawdbot |
3. 初始化Clawdbot
1 | # 创建工作目录 |
根据提示完成初始化配置,包括:
- 选择消息平台
- 配置API密钥(如Telegram Bot Token)
- 设置其他个性化选项
4. 启动Clawdbot服务
1 | # 启动服务 |
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 | Host clawdbot |
然后只需执行:
1 | ssh -N clawdbot |
方法3:使用automator(Mac推荐)
创建一个Automator应用,自动启动SSH端口转发:
- 打开Automator,选择”应用程序”
- 添加”运行Shell脚本”动作
- 输入以下内容:
1 | osascript -e 'tell application "Terminal" to do script "ssh -N -L 127.0.0.1:18888:localhost:18789 gwb@192.168.78.19"' |
- 保存为”Clawdbot SSH”
- 添加到登录项即可开机自动运行
Clawdbot常用命令
1 | # 启动服务 |
进阶配置
配置定时任务
Clawdbot支持cron格式的定时任务,可以设置主动提醒:
1 | # 创建提醒任务 |
集成更多平台
在配置文件中添加多个平台支持:
1 | # 进入配置目录 |
安装插件
Clawdbot拥有丰富的插件生态,可以安装各种功能插件:
1 | # 查看可用插件 |
常见问题
Q1: 无法访问Web UI
解决方案:
- 确认SSH端口转发命令正在运行
- 检查Clawdbot服务是否正常启动:
openclaw status - 确认防火墙规则允许端口访问
Q2: SSH连接断开
解决方案:
在SSH配置中添加保活参数:
1
2ServerAliveInterval 60
ServerAliveCountMax 3使用autossh工具自动重连:
1
2sudo 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本机上的便捷访问。这种部署方式的优势包括:
- 资源隔离:虚拟机环境独立,不影响宿主机
- 安全性高:SSH加密传输,不暴露服务端口到公网
- 灵活管理:可以随时重启或迁移虚拟机
- 成本低廉:无需购买额外硬件
Clawdbot作为一个强大的AI代理,能够极大提升你的工作和生活效率。赶快动手部署,体验让AI为你”主动打工”的乐趣吧!
参考资源
💡 提示: 如果在部署过程中遇到问题,欢迎查阅官方文档或在社区寻求帮助。Clawdbot的社区非常活跃,开发者们都很乐意提供帮助。