1. 项目概述:在云端部署你的专属AI智能体
最近在折腾一个挺有意思的东西,叫OpenClaw。简单来说,它是一个可以让你在云端部署一个24小时在线的个人AI智能体的平台。想象一下,你有一个永不疲倦、随时待命的数字助手,不仅能和你聊天,还能帮你搜索信息、执行自动化任务,甚至通过Telegram远程控制。这听起来是不是有点像科幻电影里的场景?但得益于现在成熟的云服务和开源AI项目,我们自己动手也能搭建一个。
这个项目最吸引我的地方在于它的“生产就绪”特性。很多AI工具要么只能在本地跑,要么部署起来极其复杂。而OpenClaw结合AWS EC2,提供了一套从零到一的完整部署方案,目标是让你得到一个稳定、可远程访问、并且功能强大的自动化助手。无论是想用它来管理日常待办事项、自动进行市场调研,还是作为一个随时可问的知识库,它都能胜任。如果你对AI自动化、云端部署或者Telegram机器人开发感兴趣,那这个项目绝对值得你花一个下午的时间来尝试。
整个部署过程涉及几个核心部分:在AWS上准备一台云服务器(EC2实例)、安装和配置OpenClaw主程序、接入各类AI模型API(比如OpenRouter或本地的Ollama)、以及最关键的一步——将其与一个Telegram机器人绑定,实现随时随地通过手机发号施令。接下来,我会带你一步步拆解这个过程,并分享我在配置过程中踩过的坑和总结出的技巧。
2. 核心架构与组件选型解析
2.1 为什么选择AWS EC2作为部署平台?
在开始动手之前,我们先聊聊为什么这个方案选择AWS EC2。市面上云服务器提供商很多,比如DigitalOcean、Linode、Vultr,甚至国内的阿里云、腾讯云。选择AWS EC2,尤其是对于这个项目,有几个很实际的考量。
首先,稳定性和可靠性。AWS作为行业巨头,其基础设施的稳定性和全球网络质量是有目共睹的。对于需要7x24小时运行的AI助手来说,服务器的在线率至关重要。EC2实例的启动和运行非常标准化,出了问题也有丰富的文档和社区支持可以排查。
其次,免费套餐与成本可控。AWS为新用户提供为期12个月的免费套餐,其中包含每月750小时的t2.micro或t3.micro实例使用时间。对于OpenClaw这样一个初期可能负载不高的应用来说,完全可以在免费额度内运行,极大地降低了学习和试错成本。即使超出免费额度,按需付费的模式也让我们可以精确控制预算,随时可以关机停止计费。
再者,安全组(Security Group)配置的灵活性。EC2的安全组功能相当于一个虚拟防火墙,我们可以非常精细地控制哪些端口对哪些IP地址开放。在部署OpenClaw时,我们需要开放SSH端口(22)用于管理,以及可能用于Web界面的自定义端口(如18789)。通过安全组,我们可以设置为“仅允许我的IP地址访问”,这比在服务器内部用iptables配置要直观和方便得多。
最后是生态与扩展性。一旦你的AI助手跑起来了,你可能会想给它增加更多能力,比如挂载一个存储卷来保存聊天记录,或者设置自动快照备份。AWS庞大的服务生态让这些后续的扩展变得相对容易。当然,这并不是说其他云服务商不好,只是EC2在这个场景下,从入门门槛、社区资源到长期可玩性,都是一个非常平衡的选择。
注意:务必关注EC2实例的类型选择。原指南推荐的是
m7i-flex.large,这是一个较新且性能不错的实例。但对于个人测试或轻量使用,t3.micro(符合免费 tier)或t3.small是更经济实惠的起点。实例类型直接影响计算能力和成本,起步时不必追求高性能,够用即可。
2.2 OpenClaw 的核心功能与工作流拆解
OpenClaw不是一个单一的应用程序,而是一个智能体平台。它的核心思想是提供一个框架,让你能够连接不同的“大脑”(AI模型)和“手脚”(工具与技能),从而组装出一个能执行具体任务的智能体。
它的工作流可以这样理解:
- 输入接收:你通过Telegram发送一条消息,比如“帮我查一下今天比特币的价格”。
- 意图理解:OpenClaw接收到这条文本,将其发送给配置好的AI模型(例如通过OpenRouter接入的GPT-4)。
- 任务规划与工具调用:AI模型理解你的意图后,会判断需要调用哪个“技能”(Skill)。例如,它知道需要调用“网络搜索”技能,并生成相应的搜索查询。
- 技能执行:OpenClaw执行该技能,比如调用Brave Search API进行搜索,获取结果。
- 结果整合与回复:AI模型将搜索到的原始信息进行总结和提炼,生成一段友好的回复。
- 输出交付:OpenClaw将最终回复发送回Telegram,呈现给你。
在这个过程中,OpenClaw扮演了“调度中心”和“技能执行器”的角色。而AI模型(LLM)则是“决策大脑”。这种架构的好处是模块化。你可以随时更换“大脑”(从OpenRouter切换到本地Ollama运行的模型),也可以随时增加新的“手脚”(比如开发一个连接你日历API的技能,让AI帮你安排会议)。
原项目提到的几个关键API集成,各自扮演了不同角色:
- OpenRouter / Ollama:提供核心的AI推理能力,是智能体的“思考引擎”。
- Brave Search API:为智能体提供实时、准确的网络信息检索能力,突破了大语言模型知识截止日期的限制。
- ElevenLabs API:提供高质量的文本转语音(TTS)功能,如果想让你的助手“开口说话”,这就是它的“声带”。
- ZAI API:这是一个支付相关的API,推测可能是用于演示智能体如何处理金融类任务,例如查询账户余额或进行交易(使用时需严格遵守相关服务条款)。
3. 从零开始的详细部署实操指南
3.1 AWS EC2 实例的创建与基础安全配置
登录AWS管理控制台,在服务列表中找到“EC2”。点击“启动实例”按钮,我们就进入了配置页面。
第一步:命名与镜像选择在“名称和标签”部分,给它起个名字,比如my-openclaw-agent。在“应用程序和操作系统映像(AMI)”这里,选择“Ubuntu”。版本建议选择22.04 LTS或24.04 LTS。LTS代表长期支持版,系统更稳定,社区支持也更好。避免选择非LTS的临时版本。
第二步:实例类型选择这是决定服务器算力和成本的关键。对于测试和学习,我强烈推荐从t2.micro或t3.micro开始(确保你所在区域支持免费套餐)。如果免费套餐已过期,或者你对性能有更高要求(例如打算在本地运行大型Ollama模型),可以考虑t3.small或t3.medium。原指南推荐的m7i-flex.large性能很强,但价格也高,不适合初学者。记住,后期可以随时停止实例,更改实例类型(需要先停止),所以起步不必求大。
第三步:密钥对管理这是连接服务器的“钥匙”,至关重要!在“密钥对(登录)”部分,点击“创建新密钥对”。给它起个名字,例如openclaw-key,密钥对类型选择RSA,私钥文件格式选择.pem(适用于Mac/Linux的SSH客户端)。点击“创建密钥对”后,浏览器会自动下载一个.pem文件。务必妥善保管此文件!将它放在一个安全的目录,例如~/.ssh/,并立即设置严格的权限:
chmod 400 ~/.ssh/openclaw-key.pem这个命令将文件权限设置为仅所有者可读,这是SSH客户端的安全要求。
第四步:网络与安全组配置这是安全的重中之重。在“网络设置”部分,点击“编辑”。首先,确保“创建安全组”被选中。我们需要配置两条入站规则:
- SSH访问:类型
SSH,源类型自定义,源0.0.0.0/0。注意:这允许任何IP尝试SSH连接,风险极高!最佳实践是将其改为我的IP,AWS会自动填充你当前的外网IP。这样只有你当前的网络位置可以连接。 - OpenClaw Web UI访问:点击“添加入站规则”。类型选择
自定义 TCP,端口范围填写18789(OpenClaw默认的Web端口),源类型同样建议先设置为我的IP进行测试。后期如果需要从其他网络访问,可以再修改。
第五步:存储配置默认的8GB gp2或gp3根卷对于基础系统是够用的。但如果你计划在服务器上本地运行Ollama并下载大型模型(如Llama 3 70B),8GB会很快耗尽。建议将“卷大小”调整为30 GiB(如原指南所述),类型选择gp3即可,性价比更高。点击“启动实例”,等待几分钟,实例状态变为“运行中”即可。
3.2 服务器初始化与OpenClaw核心安装
实例运行后,在EC2控制台找到该实例,查看其“公有IPv4地址”。现在,我们通过SSH连接服务器:
ssh -i ~/.ssh/openclaw-key.pem ubuntu@<你的公有IP地址>首次连接会提示确认主机密钥,输入yes。成功登录后,你会看到类似ubuntu@ip-xxx-xxx-xxx-xxx:~$的提示符。
系统更新与基础依赖安装首先,更新软件包列表并升级现有软件,这是一个好习惯:
sudo apt update && sudo apt upgrade -y这个过程可能需要几分钟。升级完成后,安装一些后续可能需要的工具,比如用于解压的unzip和用于网络诊断的curl(通常已预装):
sudo apt install -y unzip安装Node.jsOpenClaw是基于Node.js构建的,因此我们需要安装Node.js和npm(Node包管理器)。Ubuntu默认仓库中的Node.js版本可能较旧。推荐使用NodeSource维护的仓库来安装长期支持版(LTS):
# 安装用于添加PPA仓库的依赖 sudo apt install -y ca-certificates curl gnupg # 添加NodeSource的官方仓库(以20.x LTS为例) curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - # 安装Node.js和npm sudo apt install -y nodejs安装完成后,验证版本:
node --version npm --version安装OpenClaw CLI工具根据原指南,OpenClaw提供了一个便捷的安装脚本:
curl -fsSL https://openclaw.ai/install.sh | bash这个命令会从官方地址下载安装脚本并执行。在执行任何从网络下载的脚本前,保持警惕是一个好习惯。如果条件允许,可以先查看一下脚本内容(curl -fsSL https://openclaw.ai/install.sh),大致了解它会做什么。通常,这类脚本会做以下几件事:下载OpenClaw的核心包、将其安装到全局环境、可能还会修改你的shell配置文件(如~/.bashrc)以添加可执行路径。
安装完成后,需要让终端识别新安装的命令。执行source ~/.bashrc或重新打开一个SSH会话即可。然后验证安装:
openclaw --version如果显示出版本号,说明安装成功。
3.3 关键API服务的申请与配置
OpenClaw的强大之处在于它能连接外部服务。这里我们需要准备几个API密钥。
1. OpenRouter API KeyOpenRouter是一个聚合了多种AI模型(如Claude、GPT-4、Llama等)的网关。你需要注册一个OpenRouter账户(https://openrouter.ai/)。登录后,在仪表板(Dashboard)或API Keys部分,点击“Create Key”生成一个新的API密钥。妥善保存这个密钥,我们稍后会用到。OpenRouter通常提供一些免费的初始额度供测试。
2. ElevenLabs API Key (可选,用于语音)如果你希望你的AI助手具备语音合成能力,可以注册ElevenLabs(https://elevenlabs.io/)。同样,在账户设置中找到API Keys部分,生成一个新密钥。ElevenLabs也有免费额度,但语音合成消耗额度较快,测试时请注意。
3. Brave Search API Key为了让AI能搜索实时信息,我们需要Brave Search API。前往Brave Search API页面(https://brave.com/search/api/),注册并创建一个API密钥。这个服务也有免费的月度查询额度。
4. ZAI API Key (可选,用于演示支付功能)根据项目描述,这可能用于演示金融类操作。请根据其官网(https://zai.com/)的指引注册并获取API密钥。请注意:涉及金融API,务必仔细阅读其使用条款和费率,仅在测试环境中使用虚拟数据。
实操心得:API密钥管理永远不要将API密钥硬编码在代码中或提交到版本控制系统(如Git)。在服务器上,一个简单的方法是使用环境变量。我们可以在
~/.bashrc文件末尾添加:export OPENROUTER_API_KEY='your_openrouter_key_here' export BRAVE_API_KEY='your_brave_key_here' # ... 其他密钥添加后,执行
source ~/.bashrc。这样,OpenClaw在运行时就能读取这些环境变量。更安全的方式是使用像dotenv这样的库配合配置文件,但OpenClaw的onboard向导通常会引导你安全地输入这些密钥。
3.4 初始化配置与Telegram机器人深度集成
现在,我们进入最核心的配置环节。在SSH终端中运行:
openclaw onboard这会启动一个交互式的配置向导。根据提示,你需要依次完成以下设置:
- AI Persona & Behavior:给你的助手起个名字,设定它的性格和沟通语调。例如,你可以让它“专业且简洁”,或者“热情且乐于助人”。这会影响它与你对话的风格。
- API Keys配置:向导会依次询问你之前申请的各个API密钥。将对应的密钥粘贴进去即可。如果某个服务暂时不想用(比如ElevenLabs),可以直接按回车跳过。
- 模型选择:你需要选择默认使用的AI模型。OpenClaw可能会列出通过OpenRouter可用的模型列表(如
openai/gpt-4、anthropic/claude-3-haiku等)。选择一个你拥有额度且性能合适的模型。
配置完成后,OpenClaw的核心服务应该就准备就绪了。你可以尝试在终端启动它的文本用户界面(TUI):
openclaw tui如果能看到一个交互式界面,说明基础配置成功。
创建并绑定Telegram机器人这才是实现“随时随地控制”的关键。打开Telegram,搜索@BotFather这个官方机器人。
- 向它发送命令
/start,然后发送/newbot。 - BotFather会引导你完成:1) 为你的机器人起一个显示名称;2) 设置一个唯一的用户名(必须以
bot结尾,例如my_awesome_openclaw_bot)。 - 创建成功后,BotFather会给你一个HTTP API Token,形如
1234567890:ABCdefGHIjklmNOPqrSTUvwxYZ。妥善保存这个Token,它相当于你机器人的密码。
接下来,回到你的OpenClaw服务器SSH终端。我们需要将OpenClaw与这个机器人关联。但首先,OpenClaw需要知道你想和它对话。在Telegram中找到你刚创建的机器人(通过其用户名搜索),向它发送任意一条消息,比如/start。
然后,在服务器上执行配对命令。这里的<bot-username>指的是你机器人的用户名(不带@符号):
openclaw pairing approve telegram my_awesome_openclaw_bot这个命令会告诉OpenClaw:“我批准用户名为my_awesome_openclaw_bot的机器人进行配对”。如果一切顺利,你的OpenClaw助手现在就能在Telegram上回应你了!尝试给你的机器人发条消息,比如“Hello”,看看它是否会回复。
重要注意事项:Webhook与网络可达性Telegram机器人通过Webhook与后端服务器通信。这意味着,当你在Telegram上给机器人发消息时,Telegram服务器会将该消息发送到你预先设置的一个URL(即你的OpenClaw服务器地址)。这要求你的EC2实例必须有一个公网IP,并且安全组开放了OpenClaw服务端口(默认可能是3000或另一个端口,具体看OpenClaw文档)。如果配对后收不到回复,很可能是网络连通性问题。你需要确保:
- EC2安全组的入站规则允许来自
0.0.0.0/0(或Telegram服务器IP段)对你OpenClaw服务端口的TCP访问。- 服务器内部的防火墙(如
ufw)没有阻止该端口。可以暂时禁用ufw测试:sudo ufw disable(测试后记得重新启用并配置规则:sudo ufw allow 3000)。
4. 高级功能配置与访问方式
4.1 通过SSH隧道安全访问Web管理界面
除了Telegram,OpenClaw通常还提供一个Web图形界面(UI),用于更直观的管理和监控。这个界面默认可能运行在服务器的18789端口(具体请查OpenClaw文档),并且为了安全,通常只监听本地(127.0.0.1)。
我们不想直接把这个管理端口暴露在公网上。最安全、最简单的方法是使用SSH本地端口转发。在你的本地电脑(不是服务器)的终端中,执行以下命令:
ssh -i ~/.ssh/openclaw-key.pem -N -L 18789:127.0.0.1:18789 ubuntu@<你的公有IP地址>-i:指定你的私钥文件路径。-N:表示不执行远程命令,仅建立隧道。-L 18789:127.0.0.1:18789:这是端口转发的核心参数。意思是“将本地机器的18789端口,通过SSH隧道,转发到远程服务器127.0.0.1:18789端口上”。ubuntu@<你的公有IP地址>:SSH登录信息。
执行后,这个终端会看起来“卡住”,这是正常的,它正在维持隧道连接。保持这个终端窗口打开。
然后,打开你本地电脑的浏览器,访问http://localhost:18789。你会发现,你本地浏览器localhost:18789的请求,通过加密的SSH隧道,被安全地转发到了远端服务器的18789端口。这样,你就像在本地访问一样打开了OpenClaw的Web界面,而无需在EC2安全组中为18789端口开放公网访问,极大地提升了安全性。
4.2 集成本地AI模型(Ollama)以降低成本与提升隐私
持续使用OpenRouter等在线API会产生费用。如果你有一台性能不错的EC2实例(例如t3.medium或更大),或者你在本地有强大的GPU机器,可以考虑运行本地模型,这不仅能消除API调用成本,还能更好地保护隐私。
在EC2服务器上安装OllamaOllama是一个简化本地大语言模型运行的工具。在你的OpenClaw服务器上,可以通过一行命令安装:
curl -fsSL https://ollama.ai/install.sh | sh安装完成后,启动Ollama服务(它会常驻后台):
ollama serve注意:ollama serve默认会在后台运行。你可以用systemctl来管理它:sudo systemctl enable ollama(设置开机自启),sudo systemctl start ollama(启动服务)。
拉取并运行模型Ollama安装了大量优化过的模型。我们可以先拉取一个较小的模型进行测试,例如微软的Phi-3迷你版,它体积小但能力不俗:
ollama pull phi3:mini拉取完成后,可以直接在终端交互测试:
ollama run phi3:mini在出现的提示符后输入问题,看模型是否能正常回复。按Ctrl+D退出交互。
配置OpenClaw使用Ollama模型现在,我们需要告诉OpenClaw,除了OpenRouter,还可以使用本地的Ollama模型。具体配置方法取决于OpenClaw的设定。通常,你需要修改OpenClaw的配置文件(可能在~/.openclaw/config.json或类似位置),或者在Web UI的设置中,添加一个新的模型端点。
例如,Ollama默认的API端点通常是http://localhost:11434。你需要在OpenClaw的模型配置中,添加一个自定义模型,将其基础URL指向http://localhost:11434,并指定模型名称(如phi3:mini)。这样,当你在OpenClaw中选择使用这个本地模型时,它就会将请求发送给本机的Ollama服务。
踩坑记录:内存与模型选择在EC2上运行本地模型,最大的限制是内存。一个7B参数的模型(如Llama 2 7B)量化后可能需要4-8GB内存。而一个70B的模型则需要40GB以上。请务必根据你EC2实例的内存大小来选择合适的模型。
t3.micro只有1GB内存,几乎无法运行任何有用的模型。t3.medium有4GB内存,可以尝试运行量化后的7B或更小的模型(如Phi-3 mini)。始终先在本地用ollama run测试模型加载是否成功,再集成到OpenClaw。
4.3 核心命令与日常运维管理
熟悉一些核心的OpenClaw命令,对于日常管理和调试非常有帮助。以下是对原指南命令表的补充和解释:
| 命令 | 用途与详细说明 |
|---|---|
openclaw onboard | 交互式初始化向导。任何时候配置出错想重来,都可以重新运行它。它会引导你重新设置API密钥、人格等。 |
openclaw tui | 启动终端用户界面。这是一个在服务器命令行中运行的交互式界面,适合在没有Web UI的环境下快速测试和与助手对话。 |
openclaw gateway | 启动API网关服务。这是OpenClaw的后端核心,Telegram Webhook、Web UI都需要它来运行。通常配置为系统服务(如使用systemd)在后台常驻。 |
openclaw skills | 管理技能(Skills)。可以列出、启用、禁用或安装新的技能。技能是扩展助手能力的关键,比如“计算器”、“天气查询”、“网页抓取”等。 |
openclaw model configure | 配置AI模型参数。这里可以切换不同的模型提供商(OpenRouter vs Ollama),调整模型的温度(Temperature)、最大生成长度等高级参数。 |
openclaw --help | 查看所有可用命令和简要说明。遇到问题首先查帮助。 |
将OpenClaw设置为系统服务(推荐)为了让openclaw gateway能在后台稳定运行,并在服务器重启后自动启动,我们应该将其配置为系统服务。
- 创建一个服务文件:
sudo nano /etc/systemd/system/openclaw.service - 写入以下内容(根据你的实际安装路径调整):
[Unit] Description=OpenClaw AI Agent Gateway After=network.target [Service] Type=simple User=ubuntu WorkingDirectory=/home/ubuntu Environment="PATH=/usr/bin:/usr/local/bin" # 假设openclaw命令在PATH中,直接运行gateway子命令 ExecStart=/usr/bin/openclaw gateway Restart=on-failure RestartSec=10 [Install] WantedBy=multi-user.target - 保存退出(
Ctrl+X,然后按Y,再按回车)。 - 重新加载systemd配置,启用并启动服务:
sudo systemctl daemon-reload sudo systemctl enable openclaw.service sudo systemctl start openclaw.service - 检查服务状态和日志:
sudo systemctl status openclaw.service sudo journalctl -u openclaw.service -f # 实时查看日志
5. 典型问题排查与优化技巧
5.1 部署与连接常见故障排除
即使按照步骤操作,也可能会遇到一些问题。这里整理了几个最常见的场景和解决方法。
问题1:SSH连接被拒绝(Connection refused)或超时(Timeout)。
- 可能原因A:安全组规则未正确配置。
- 排查:登录AWS EC2控制台,检查实例的安全组。确保入站规则中有一条允许来自你IP地址(或
0.0.0.0/0)的SSH (TCP 22)流量。 - 解决:编辑安全组,添加入站规则。源最好设置为
我的IP。
- 排查:登录AWS EC2控制台,检查实例的安全组。确保入站规则中有一条允许来自你IP地址(或
- 可能原因B:实例未分配公有IP或弹性IP。
- 排查:在实例详情页查看“公有IPv4地址”是否为空。
- 解决:为实例分配一个弹性IP(EIP)并关联。注意,停止再启动EC2实例,默认的动态公有IP会变化,使用EIP可以固定IP。
- 可能原因C:本地网络或密钥文件权限问题。
- 排查:确认本地防火墙未阻止SSH。确认私钥文件(.pem)权限是否为
400(chmod 400 key.pem)。
- 排查:确认本地防火墙未阻止SSH。确认私钥文件(.pem)权限是否为
问题2:openclaw命令未找到(command not found)。
- 可能原因:安装脚本未能正确将OpenClaw添加到PATH,或者未重新加载shell配置。
- 解决:
- 首先尝试显式执行安装路径下的命令(如果知道路径),例如
/usr/local/bin/openclaw --version。 - 检查你的
~/.bashrc或~/.profile文件,看是否有添加OpenClaw路径的语句。如果没有,可能需要手动添加。更直接的方法是完全退出SSH会话,然后重新连接。重新登录后,shell会自动加载配置文件。 - 如果还不行,回顾安装过程,确认安装脚本是否成功执行完毕,没有报错。
- 首先尝试显式执行安装路径下的命令(如果知道路径),例如
问题3:Telegram机器人配对成功但不回复消息。
- 可能原因A:OpenClaw网关服务未运行。
- 排查:在服务器上运行
sudo systemctl status openclaw.service或ps aux | grep openclaw,检查服务是否在运行。 - 解决:启动服务
sudo systemctl start openclaw.service。
- 排查:在服务器上运行
- 可能原因B:Webhook URL设置错误或网络不通。
- 排查:OpenClaw在配对时需要向Telegram服务器注册一个Webhook URL(你的服务器公网IP/域名+端口)。如果这个URL无法从公网访问,Telegram就无法推送消息过来。
- 解决:
- 确保EC2安全组开放了OpenClaw服务端口(默认可能是
3000或8080,请查文档)的入站流量(源0.0.0.0/0)。 - 检查服务器内部防火墙(如
ufw):sudo ufw status。如果激活了,确保有规则允许该端口:sudo ufw allow 3000。 - 在服务器上尝试
curl http://localhost:3000(替换为你的端口),看服务是否本地可访问。 - 从你的本地电脑,尝试
curl http://<你的公有IP>:3000,看端口是否在公网可访问。如果超时,就是安全组或防火墙问题。
- 确保EC2安全组开放了OpenClaw服务端口(默认可能是
- 可能原因C:Bot Token或用户名在配对时输入错误。
- 解决:尝试重新运行
openclaw pairing approve telegram <正确的bot用户名>。
- 解决:尝试重新运行
5.2 性能监控、日志查看与成本控制
监控服务器资源在AWS EC2控制台,你可以查看实例的CPU利用率和网络流量等基础监控指标。对于更细致的监控,可以在服务器安装htop:
sudo apt install -y htop htop这可以实时查看CPU、内存、Swap的使用情况,特别在运行本地大模型时非常有用。
查看OpenClaw日志日志是排查问题的金矿。如果OpenClaw作为系统服务运行,查看日志最方便的方式是:
sudo journalctl -u openclaw.service -f # -f 表示实时跟踪(follow)或者查看特定时间段的日志:
sudo journalctl -u openclaw.service --since "2024-01-01" --until "2024-01-02"如果OpenClaw是直接在前台运行的,日志会直接输出到当前终端。
控制AWS成本
- 使用成本资源管理器:在AWS控制台搜索“Cost Explorer”,设置预算提醒,监控每日/每月花费。
- 选择合适实例:测试阶段使用
t系列(可突增性能实例)的micro或small规格。t系列在CPU积分用尽后性能会下降,但对于间歇性使用的AI助手通常够用。 - 及时停止实例:如果只是白天使用,晚上可以停止EC2实例。停止(Stop)后,不再计算EC2费用,但EBS存储卷仍会收费(很低)。终止(Terminate)则会删除实例和根卷,数据会丢失。
- 使用Spot实例(高级):对于可以容忍中断的任务,Spot实例价格极低(通常为按需价格的10%-20%)。但可能随时被回收,不适合要求持续在线的服务。
5.3 安全加固建议
将个人AI助手放在公网,安全不容忽视。
- 禁用密码登录,仅使用密钥:确保EC2实例的SSH配置已禁用密码认证(默认如此)。永远保管好你的
.pem私钥。 - 限制安全组源IP:将SSH端口(22)的源IP设置为你的家庭或办公网络IP段,而不是
0.0.0.0/0。对于OpenClaw的服务端口,如果可以,也尽量限制源IP。 - 定期更新系统:定期运行
sudo apt update && sudo apt upgrade -y来安装安全补丁。 - 使用非root用户:始终使用
ubuntu等非root用户操作。避免使用sudo执行不必要的命令。 - 管理好API密钥:如前所述,使用环境变量或安全的密钥管理工具,切勿泄露。
- 考虑使用VPN或SSH隧道访问Web UI:正如我们之前做的,将管理界面端口通过SSH隧道转发到本地访问,而不是直接暴露在公网,这是最佳实践。
部署完成后,你的个人AI助手就正式上线了。你可以通过Telegram随时随地与它对话,让它执行任务。通过Web UI进行更复杂的管理和技能扩展。这个项目就像一个乐高底座,你已经搭好了核心框架,接下来可以发挥创意,为它添加各种“技能”模块,比如连接你的笔记软件、智能家居设备,或者定制专属的自动化工作流。