
1. 为什么要在阿里云上跑 OpenClaw 与 Hermes AgentOpenClaw前身 Clawdbot/Moltbot是一套开源、本地优先的 AI 助理框架能 7×24 小时在线响应、执行多任务自动化、跨平台协同Hermes Agent 则是同生态里偏任务编排与工具调用的 Agent 运行时。把这两个东西部署到阿里云 ECS 上最大的好处是不用一直开着本地电脑公网可访问团队几个人可以共用一个入口还能挂上定时任务做长期自动化。但真正动手时很多人卡在三个地方一是 ECS 上从零装依赖Node、Python、Git 版本对不上二是 Coding Plan 的配置文件不知道写在哪、字段叫什么三是模型调用链路没打通Agent 起来了却一直报鉴权错误。这篇就按“从零到跑通”的顺序把阿里云 ECS 部署 OpenClaw 与 Hermes Agent 的完整流程拆开包含可复制的部署命令、Coding Plan 配置片段以及通过 TaoToken 统一 Key/API 通道完成模型调用的验证步骤。适合谁看手里有一台阿里云 ECS2 核 2G 起步、想跑通 Agent 服务、又不想在模型接入上反复折腾的开发者。下面所有命令我都按 Alibaba Cloud Linux 3 / Ubuntu 22.04 两种系统标注你按自己的镜像选对应的那行执行即可。2. 部署前的环境准备与 TaoToken 通道配置先说清楚一件事OpenClaw 和 Hermes Agent 本身只是“壳”真正干活的是背后的大模型。所以部署分两条线一条是 Agent 服务本身一条是模型调用通道。模型通道这块我用 TaoToken 做统一入口一个 Key 就能切不同模型省得每个 Agent 都去单独配一遍。TaoToken 的定位是统一的模型 API 通道官网在 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 端点是 https://taotoken.net/api 。你需要先拿到一个 API Key然后把它写进 Agent 的配置里。2.1 ECS 基础环境初始化登录 ECS 后先做系统更新和基础依赖安装。Alibaba Cloud Linux 3 用 dnfUbuntu 22.04 用 apt# Alibaba Cloud Linux 3 sudo dnf update -y sudo dnf install -y git curl wget python3 python3-pip # Ubuntu 22.04 sudo apt update -y sudo apt install -y git curl wget python3 python3-pip接着装 Node.js 22.x。OpenClaw 2026 版对 Node 版本有硬性要求低于 22 会直接启动失败。用 NodeSource 源装最稳curl -fsSL https://rpm.nodesource.com/setup_22.x | sudo bash - # Alibaba Cloud Linux curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - # Ubuntu sudo dnf install -y nodejs # 或 sudo apt install -y nodejs node --version # 应输出 v22.x.x2.2 获取 TaoToken API Key访问 https://taotoken.net/api-keys 创建 Key复制保存。这个 Key 后面会写进 Coding Plan 的配置文件格式类似sk-xxxxxxxx。注意 Key 只显示一次丢了要重新建。2.3 安装 OpenClaw 与 Hermes AgentOpenClaw 官方提供了一键安装脚本Hermes Agent 作为同生态组件可以在 OpenClaw 装好后通过 ClawHub 拉取# 安装 OpenClaw curl -fsSL https://openclaw.ai/install.sh | bash # 验证 openclaw --version # 安装 ClawHub CLI技能与 Agent 管理 npm install -g clawhub # 拉取 Hermes Agent clawhub install hermes-agent装完后openclaw status能看到 gateway 状态。如果这一步报command not found多半是 npm 全局路径没进 PATH执行source ~/.bashrc刷新一下。3. Coding Plan 配置文件片段与模型接入这一步是整篇的核心。Coding Plan 本质上是 OpenClaw 的模型与 Agent 编排配置文件默认在~/.openclaw/openclaw.json。你要做的是把 TaoToken 的 Base URL、Key、Model ID 三件套写进去Hermes Agent 才能正常调用模型。3.1 配置文件路径与结构先确认目录存在mkdir -p ~/.openclaw ls -la ~/.openclaw/如果已有openclaw.json先备份cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.bak3.2 可复制的 JSON 配置片段下面这段直接写进~/.openclaw/openclaw.json字段名与 OpenClaw 2026 版一致。注意baseUrl用 TaoToken 的 API 端点apiKey换成你自己的{ models: { providers: { taotoken: { baseUrl: https://taotoken.net/api, apiKey: sk-你的TaoToken密钥, models: [ { id: claude-sonnet-4-20250514, name: Claude Sonnet 4, contextWindow: 200000 }, { id: gpt-4o, name: GPT-4o, contextWindow: 128000 } ] } }, default: taotoken/claude-sonnet-4-20250514 }, agents: { hermes: { enabled: true, model: taotoken/claude-sonnet-4-20250514, maxSteps: 20, tools: [file, shell, http] } }, gateway: { port: 18789, host: 0.0.0.0 } }三件套对应关系Base URL 是https://taotoken.net/apiKey 是你在 api-keys 页面拿到的Model ID 是claude-sonnet-4-20250514这类具体模型标识。Hermes Agent 的model字段必须写成provider/modelId的形式否则会回落到默认模型。3.3 用 TOML 方式配置可选如果你更习惯 TOMLOpenClaw 也支持~/.openclaw/config.toml[models.providers.taotoken] baseUrl https://taotoken.net/api apiKey sk-你的TaoToken密钥 [[models.providers.taotoken.models]] id claude-sonnet-4-20250514 name Claude Sonnet 4 contextWindow 200000 [agents.hermes] enabled true model taotoken/claude-sonnet-4-20250514 maxSteps 20两种格式二选一不要同时存在否则 OpenClaw 启动时会报配置冲突。3.4 放行端口与启动服务阿里云 ECS 需要在安全组放行 18789 端口。控制台进入实例 → 安全组 → 入方向 → 添加 18789/TCP。命令行也可以临时用 firewalld 放行sudo firewall-cmd --add-port18789/tcp --permanent sudo firewall-cmd --reload然后启动 gatewayopenclaw gateway restart openclaw status看到gateway: running就说明服务起来了。4. 验证请求链路与成功结果配置写完不代表通了必须实际发一次请求确认链路。这里分两步先验证 TaoToken 通道本身能通再验证 Hermes Agent 能通过它调用模型。4.1 直接验证 TaoToken API用 curl 打一次 chat completions确认 Key 和端点没问题curl -X POST https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer sk-你的TaoToken密钥 \ -H Content-Type: application/json \ -d { model: claude-sonnet-4-20250514, messages: [{role: user, content: 回复 OK 两个字母}] }正常返回里会有choices[0].message.content字段内容是OK。如果返回 401说明 Key 错了返回 404说明模型 ID 写错了。4.2 验证 Hermes Agent 调用通过 OpenClaw 的 CLI 直接让 Hermes 跑一个任务openclaw agent run hermes --task 列出当前目录下的文件并统计数量成功的话会输出类似[hermes] step 1: shell ls -la [hermes] step 2: 统计到 12 个文件 [hermes] task completed这一步能跑通说明 Coding Plan 配置、TaoToken 通道、Hermes Agent 三者已经串起来了。4.3 查看日志确认请求链路如果结果不对看日志最快openclaw logs --follow日志里会打印每次模型请求的 provider、model、耗时。看到providertaotoken modelclaude-sonnet-4-20250514 status200就说明链路完全正常。你也可以在 TaoToken 的 console 页面 https://taotoken.net/console 看到对应的调用记录两边对得上就放心了。5. 常见报错排查对照部署过程中最容易撞的几个错我按真实报错信息列出来对照着改就行。5.1 401 Unauthorized报错原文{error:{message:Invalid API key,type:authentication_error}}原因基本是 Key 写错或没生效。检查~/.openclaw/openclaw.json里的apiKey字段确认没有多余空格确认是 TaoToken 的 Key 而不是别的平台的。改完执行openclaw gateway restart重启。5.2 local proxy failed / connection refused报错原文Error: local proxy failed: dial tcp 127.0.0.1:18789: connect: connection refused这是 gateway 没起来。先openclaw status看状态如果是 stopped执行openclaw gateway restart。如果重启后还是 refused检查端口是否被占用sudo lsof -i:18789有占用就 kill 掉再重启。5.3 reading choices 相关报错报错原文TypeError: Cannot read properties of undefined (reading choices)这个通常是模型返回结构不对多半是 Base URL 少了/v1或者多了路径。TaoToken 的 Base URL 就写https://taotoken.net/apiOpenClaw 会自动拼/v1/chat/completions。如果你手动加了/v1反而会变成/api/v1/v1/...导致返回体里没有 choices。5.4 OAuth 相关报错报错原文OAuth token expired or invalid如果你在配置里混用了 OAuth 方式的 provider会和 API Key 方式冲突。检查openclaw.json里有没有残留的oauth字段删掉统一用apiKey方式。5.5 Codex auth.json 冲突如果你之前配过 Codex~/.codex/auth.json里可能有旧的凭证OpenClaw 启动时会去读。确认三件套Base URL、Key、Model ID在openclaw.json里写全并且~/.codex/auth.json不会覆盖它。最稳的做法是临时重命名mv ~/.codex/auth.json ~/.codex/auth.json.bak openclaw gateway restart5.6 CC Switch / Cline MCP 场景如果你用 CC Switch 或 Cline 的 MCP 模式接 OpenClaw同样要保证三件套齐全Base URL 填https://taotoken.net/apiKey 填 TaoToken 的 KeyModel ID 填具体模型。MCP 配置里字段名可能是baseUrl/apiKey/model按各工具文档对应填缺一个都会连不上。6. 长期运行与 Coding Plan 使用建议服务跑起来之后建议做两件事让它在阿里云上稳定长期运行。第一配开机自启避免 ECS 重启后 Agent 掉线sudo systemctl enable openclaw-gateway systemctl is-enabled openclaw-gateway # 输出 enabled 即成功第二如果你要长期跑编码类 Agent 任务用 Coding Plan 比按 token 计费更划算。Coding Plan 的入口在 https://taotoken.net/coding-plan 适合高频调用场景。配置方式不变还是那三件套只是计费模式不同。验证模型能力的时候可以先用模型对话页面 https://taotoken.net/chat 快速试一下模型响应确认通道没问题再写进 Agent 配置。接入文档在 https://taotoken.net/doc 里面有各语言的调用示例遇到字段不确定的时候翻一下比猜快。最后提醒一句API Key 不要提交到 Git不要贴在公开聊天里。阿里云安全组只放行必要端口18789 如果不需要公网访问可以限制来源 IP。跑通之后Hermes Agent 的maxSteps别设太大20 步左右够用设太大容易在复杂任务里绕圈烧额度。