阿里云ECS部署OpenClaw与Hermes Agent配置指南
一、前言
说起AI智能体结合大模型服务的私有化部署,现在已经不是什么新鲜事了。对于个人和想快速试水的小团队来说,这几乎是实现业务提效的必经之路。说到承载环境,阿里云ECS云服务器确实是个稳妥的选择——性能稳定、配置灵活、网络可靠,而且运维自由度非常高,用来跑各种开源AI Agent框架再合适不过。OpenClaw和Hermes Agent这两款,在圈子里口碑都不错,前者更擅长多任务调度和插件扩展,后者则以低资源消耗和长任务稳定执行见长。它们背后都能对接阿里云百炼,通过通义系列模型来支撑自然语言交互、指令拆解和自动化任务执行。
不过,要真让这两个Agent顺畅地调用百炼大模型,可不仅仅是部署个框架就完了。哪里都需要动脑子:专属访问凭证得配好,还得靠Token Plan功能来做精细化的权限管控、调用频次限制和额度分配。实践中,大家常碰到服务明明启动了,却死活调不通模型、Token鉴权莫名其妙失效、调用频率超标,甚至多个框架共用凭证产生冲突,还有外部非法IP跑来乱请求。
这篇文章我们就结合2026年阿里的标准规范,从零开始,一步一步拆解在ECS上部署OpenClaw和Hermes Agent的全流程。内容会覆盖:ECS准备、远程连接、环境搭建、源码部署、参数修改、百炼凭证配置、Token Plan规则制定、进程托管、功能联调和日常运维。每一步都会附带完整可执行的命令行代码和脚本。全文不含外部链接和表格,没有营销废话,新手和运维人员都能照着操作。
二、整体架构与部署逻辑梳理
动手之前,先理清整个系统是怎么协作的。阿里云ECS是底层载体,负责提供计算、网络和存储;OpenClaw和Hermes Agent部署在ECS内部,做指令解析、任务拆分、会话管理和工具调用;阿里云百炼作为大模型服务,给这两个Agent提供推理、分析和生成能力。而百炼Token,就是访问大模型接口的“身份证”,Token Plan则是基于Token延伸出来的管控策略,用来限制调用频率、每日额度、可访问接口和IP白名单。
整件事按九个环节走:
- 创建ECS实例,选好配置并记录基础信息;
- SSH远程连接,做系统初始化和更新;
- 装好Node.js、Git这些运行环境;
- 规划目录,分别部署两个Agent源码并装依赖;
- 修改核心配置文件,留好Token字段;
- 去百炼控制台拿Token,再制定Token Plan规则;
- 把Token写进配置文件,完成模型对接;
- 用pm2做进程托管,实现后台常驻和开机自启;
- 配置安全组,分层测试服务连通性、模型调用和Token Plan管控效果。
Token和Token Plan,是打通Agent和百炼的关键。规则配好了,能避免接口滥用、资源抢占、调用超限,确保服务长期稳定。
三、阿里云ECS实例准备与远程连接
3.1 ECS实例选型与创建
登录阿里云控制台,进到ECS管理页面,创建新实例。考虑到要同时跑OpenClaw和Hermes Agent,硬件配置得看场景:个人学习、单用户测试,1核2G的基础配置就够用了;要是多用户并发、有长时间任务,建议上2核4G及以上,不然内存压力大会导致服务闪退。
操作系统选Ubuntu 22.04 LTS,它对Node.js生态和编译组件的兼容性更好。创建时记得勾选分配公网IP,设好登录账号和密码,存好公网IP、用户名和密码这三样,后面所有远程操作都靠它们。
ECS默认带了虚拟防火墙,配合安全组一起管端口。后面要根据两个Agent的服务端口,在安全组里加放行规则。
3.2 SSH远程连接ECS服务器
打开本地终端,Windows用PowerShell,macOS或Linux用系统终端,执行下面这条命令,把占位符换成你的ECS用户名和公网IP:
ssh 用户名@ECS公网IP
首次连会提示主机密钥确认,输入yes回车,再输入密码。密码输入时终端不会显示任何字符,这是正常的,输完回车就行。
3.3 系统初始化与底层组件更新
新ECS缺少些底层依赖,先更新系统:
sudo apt update && sudo apt upgrade -y
等着跑完就好,系统会自动处理。
四、基础运行环境安装配置
OpenClaw和Hermes Agent都基于Node.js,统一需要20.x及以上LTS版本,还要Git来拉源码。
4.1 安装编译依赖与Git工具
装好编译组件和Git:
sudo apt install build-essential curl wget git -y
装完检查版本:
git --version
输出版本号就对了。
4.2 安装Node.js 20.x版本
用官方源固定安装:
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/nodesource.gpg
echo "deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" | sudo tee /etc/apt/sources.list.d/node20.list
sudo apt update && sudo apt install nodejs -y
装完退出SSH再重连,让环境变量生效。然后检查版本:
node -v && npm -v
node -v输出20+就表示环境达标。
4.3 统一规划项目部署目录
在系统里创建统一目录和两个子目录:
mkdir -p /usr/local/ai_agent
cd /usr/local/ai_agent && mkdir openclaw hermes
五、OpenClaw部署与基础配置
5.1 拉取源码并安装项目依赖
进OpenClaw目录,克隆源码并配国内镜像加速:
cd /usr/local/ai_agent/openclaw
git clone openclaw_source .
npm config set registry https://registry.npmmirror.com
npm install
如果安装失败,清缓存重试:
npm cache clean --force && npm install
5.2 编辑OpenClaw核心配置文件
用vim打开主配置:
vim config/app.json
替换成下面这份适配ECS和百炼的配置:
{"server": {"listen_host": "0.0.0.0","listen_port": 31001,"allow_cors": true,"max_request": 30},"llm": {"service_provider": "aliyun_bailian","model_name": "qwen-turbo","api_timeout": 180000,"bailian_token": "BAILIAN_TOKEN_PLACEHOLDER"},"task_manager": {"max_task_queue": 25,"concurrent_task": 6},"log_config": {"log_level": "warn","sa ve_local_log": true}}
说明:listen_host设0.0.0.0允许全网访问;listen_port用31001;bailian_token是占位符,后面替换。保存后退出。
六、Hermes Agent部署与基础配置
6.1 拉取源码与安装依赖
切换目录,克隆源码并安装:
cd /usr/local/ai_agent/hermes
git clone hermes_source .
npm install
6.2 编辑Hermes Agent环境配置文件
打开环境配置文件:
vim .env.production
写入:
SERVER_HOST=0.0.0.0
SERVER_PORT=31002
RUN_ENV=production
BAILIAN_MODEL=qwen-plus
BAILIAN_ACCESS_TOKEN=BAILIAN_TOKEN_PLACEHOLDER
API_REQUEST_TIMEOUT=200000
MAX_CONCURRENT_TASK=5
端口用31002,和OpenClaw隔离开。保存退出。
七、阿里云百炼Token获取与Token Plan规则配置
7.1 获取百炼基础访问Token
到百炼控制台,创建应用生成专属Token。这是调用大模型接口的唯一凭证,请完整保存。
7.2 Token Plan设计思路
既然ECS里同时跑两个服务,合理分配资源、防止滥用、控制成本很重要。我们采用单主Token配多组规则的模式,基于同一个基础Token,分别为两个Agent设置独立的调用限额、接口范围和IP白名单。核心管控维度包括:单分钟最大调用次数、每日总额度、可访问接口和IP白名单。把ECS公网IP加进白名单,只允许本机调用;根据场景设不同额度,避免相互抢占。
7.3 替换配置文件中的Token占位符
回到ECS,用sed批量替换:
REAL_BAILIAN_TOKEN="你的百炼真实Token字符串"
sed -i "s/BAILIAN_TOKEN_PLACEHOLDER/$REAL_BAILIAN_TOKEN/g" /usr/local/ai_agent/openclaw/config/app.json
sed -i "s/BAILIAN_TOKEN_PLACEHOLDER/$REAL_BAILIAN_TOKEN/g" /usr/local/ai_agent/hermes/.env.production
替换后用cat检查:cat /usr/local/ai_agent/openclaw/config/app.json | grep bailian_token
八、进程托管与服务启动配置
ECS是线上服务器,前台运行的服务断终端就会停。我们用pm2做进程管理,实现后台运行、异常自启和开机自启。
8.1 安装pm2工具
npm install -g pm2 && pm2 --version
8.2 启动两款AI Agent服务
cd /usr/local/ai_agent/openclaw && pm2 start npm --name openclaw -- run start
cd /usr/local/ai_agent/hermes && pm2 start npm --name hermes -- run start
8.3 配置开机自启与内存守护
pm2 startup && pm2 sa ve
pm2 set openclaw max_memory_restart 512M && pm2 set hermes max_memory_restart 512M
8.4 日常运维常用命令
pm2 list 查看所有进程状态pm2 logs openclaw 看OpenClaw实时日志pm2 restart openclaw 重启指定服务
九、ECS安全组配置与全功能测试
9.1 安全组端口放行
进ECS控制台,找到安全组,添加入方向TCP规则,放行31001和31002端口。授权范围看需求设。
9.2 服务器本地连通性测试
ECS终端里,用curl测试:
curl http://127.0.0.1:31001/health
curl http://127.0.0.1:31002/health
返回正常状态就说明服务启动没问题。
9.3 公网访问与模型调用测试
切到本地终端,用公网IP测试:
curl -X POST http://ECS公网IP:31001/api/chat -H "Content-Type: application/json" -d '{"content":"测试OpenClaw对接百炼"}'
curl -X POST http://ECS公网IP:31002/api/task -H "Content-Type: application/json" -d '{"content":"测试Hermes Agent对接百炼"}'
如果都能正常返回对话内容,说明Token、模型对接和网络访问都生效了。
9.4 Token Plan管控规则验证
短时间内高频次调用接口,模拟超限场景。当调用次数或额度达到Token Plan阈值后,接口会返回超限或额度不足提示,说明管控规则在工作。
十、常见故障排查与解决方案
10.1 服务启动正常,无法调用百炼模型
现象:健康接口可用,发对话无响应,日志提示Token无效。
解决:检查配置文件的Token字符串有无拼写错误,核对百炼控制台的Token接口权限,改完后重启服务。
10.2 公网访问超时,本地访问正常
现象:ECS内部测试ok,公网连不上。
解决:去安全组检查31001、31002端口放行规则是否加了。
10.3 端口被占用,服务启动失败
现象:日志提示端口被占用。
解决:查占用进程并杀掉:netstat -tulpn | grep 31001,再用kill -9 进程ID终止它。
10.4 调用提示超出配额限制
现象:接口返回频次超限或额度用尽。
解决:到百炼控制台调整Token Plan的调用次数或每日额度,或者为两个Agent拆分独立Token。
10.5 服务频繁闪退、内存溢出
现象:进程自动退出,日志显示内存不足。
解决:调低单服务并发任务数,同时降pm2内存限制,比如改到384M。
十一、自动化运维脚本编写
为了让部署长期稳定,我们写个日志清理和服务巡检脚本。
11.1 日志自动清理脚本
创建脚本:vim /usr/local/ai_agent/log_clear.sh,写入:
#!/bin/bash
find /usr/local/ai_agent/openclaw/logs -type f -mtime +7 -delete
find /usr/local/ai_agent/hermes/logs -type f -mtime +7 -delete
echo "日志清理完成:$(date)"
添加执行权限:chmod +x /usr/local/ai_agent/log_clear.sh,再配cron:crontab -e,加规则0 1 * * * /usr/local/ai_agent/log_clear.sh,每天凌晨1点执行。
11.2 服务状态巡检脚本
创建脚本:vim /usr/local/ai_agent/service_check.sh,写入:
#!/bin/bash
if ! pm2 status openclaw | grep -q online; then
pm2 restart openclaw
fi
if ! pm2 status hermes | grep -q online; then
pm2 restart hermes
fi
加权限并配置cron,实现分钟级巡检。
十二、总结
这篇文章完整走了一遍在阿里云ECS上部署OpenClaw和Hermes Agent,并配合百炼Token与Token Plan做权限管控的全过程。从创建实例、远程连接、装环境、部署源码、改配置、接凭证、跑进程、开放口、测功能,到排查问题和自动化运维,每步都给出了可执行的代码。
ECS云服务器运维灵活,适合自己控环境的多服务场景;OpenClaw和Hermes Agent分工协作,能覆盖多种AI任务;百炼Token和Token Plan实现了精细化的调用管控,从源头规避滥用、非法访问和超限。
整套流程里,Node.js版本匹配、服务端口规划、Token填写、安全组规则和Token Plan策略,是五大关键点,也是问题高发区。严格按命令和配置一步步操作,配合排错方案,就能顺利部署。再加上日志清理、服务巡检等脚本,整套架构能7×24稳定运行,既满足个人学习,也能支撑小团队日常使用。根据业务规模,灵活调整ECS配置、任务并发和百炼额度,就能持续优化运行效率。