Hermes Agent一键部署实战:Docker Compose+阿里云镜像源快速启动WebUI

Hermes Agent一键部署实战:Docker Compose+阿里云镜像源快速启动WebUI
1. 项目概述为什么 Hermes Agent 的“一键部署”值得你花 20 分钟认真读完Hermes Agent 不是又一个概念玩具它是当前少有的、真正把「多工具协同调度」和「自然语言驱动工作流」落地到工程可用级别的开源智能体框架。我从去年底开始在三个不同客户现场用它重构内部运维助手从最初手动编译 7 个服务、配置 14 个环境变量、反复调试网关路由到现在把整套环境塞进一个 387MB 的 Docker 镜像里执行一条curl -sSL https://hermes.sh | bash就能跑起带 WebUI 的完整服务——这个转变不是靠玄学而是靠一套被反复锤炼过的真实部署逻辑。标题里写的“超详细”和“不踩坑”不是营销话术是我在阿里云 ECSc7.large2核4G、本地 Mac M2 Pro、甚至一台二手 Win10 笔记本WSL2 Ubuntu 22.04上分别踩了 19 次失败后总结出的路径。它解决的核心问题很朴素你不需要成为 Kubernetes 工程师也能让 Hermes Agent 稳稳地跑起来打开浏览器就能调 API、拖拽编排任务、查看执行日志。适合三类人刚接触智能体开发的 Python 新手会 pip 就行、需要快速验证 Hermes 能力的业务方5 分钟内看到 WebUI、以及运维同事部署脚本已适配阿里云镜像源加速不用翻墙等半小时 pull 镜像。关键词里的Hermes Agent是主体一键部署是手段阿里云是国内最主流的落地场景WebUI是你和它交互的第一界面而API Key则是你打通外部服务比如 Tavily 搜索、OpenAI 模型、Ollama 本地推理的钥匙——这五个词串起来就是一条从零到可用的完整链路。2. 整体设计思路拆解为什么“一键”不是偷懒而是把复杂藏在背后2.1 “一键部署”的本质封装确定性暴露可控性很多人误以为“一键部署”就是把所有东西打包成一个黑盒脚本点一下就完事。实际恰恰相反。真正的“一键”是把那些必须做、但每次都要重复做、且极易出错的环节用代码固化下来同时把那些必须由你决策、且不能代劳的关键参数用清晰、安全的方式暴露出来。Hermes Agent 的一键部署脚本我们暂且叫它hermes-installer.sh正是这样设计的。它不碰你的系统 Python 环境不修改/etc/hosts不自动创建 root 用户更不会偷偷帮你申请 OpenAI Key。它只做三件事第一检查你的系统是否满足最低要求Docker 是否安装、端口是否被占、磁盘空间是否够第二下载并启动一个预构建的、包含所有依赖的 Docker Compose 环境第三在首次启动时引导你完成最关键的 API Key 配置。这种设计背后的逻辑非常务实Docker 解决了“在我机器上能跑在你机器上不能跑”的经典困境Compose 文件定义了服务间的网络、卷挂载和启动顺序避免了手动docker run时漏掉--network或-v参数导致 WebUI 找不到后端的尴尬而把 API Key 配置放在启动后、WebUI 第一次加载前是因为 Key 的类型OpenAI/Tavily/Ollama和值必须由你本人输入脚本无权也不该代劳。这就像你买一台新笔记本厂商不会替你设置 Wi-Fi 密码但会确保网卡驱动已装好、Wi-Fi 开关已打开、连接界面已就绪——“一键”交付的是就绪状态不是越俎代庖。2.2 为什么首选 Docker Compose 而非纯 Docker 或 Kubernetes这个问题我被问过不下二十次。答案很直接平衡。纯 Docker 命令虽然灵活但 Hermes Agent 的核心组件至少包括GatewayAPI 入口、Orchestrator任务调度、Storage向量数据库、WebUI前端界面、以及可选的 External Tools如 Tavily Search Adapter。如果全用docker run你需要记住 5 条命令、12 个参数、3 种网络模式并且每次重启都要按特定顺序执行先启 Storage再启 Gateway最后启 WebUI稍有差池WebUI 就报 “Connection refused”。Kubernetes 当然更强大但为一个单机部署的智能体框架上 K8s就像用航空母舰去钓小鱼——资源开销大ECS 上跑 K8s 至少要 4 核 8G、学习成本高YAML 写错一个缩进就起不来、维护负担重升级一个组件要改 Helm Chart。Docker Compose 是黄金分割点它用一个docker-compose.yml文件声明式地定义了所有服务、它们的依赖关系、端口映射、环境变量和数据卷。docker-compose up -d一条命令它就自动按依赖拓扑启动所有容器并在后台守护。更重要的是它的配置文件是纯文本你可以用vim直接编辑改个端口、加个环境变量保存后docker-compose restart webui就生效完全透明。我们实测过在阿里云 ECS 上docker-compose up启动全套服务平均耗时 42 秒比手动docker run快 3 倍比搭建轻量级 K8s 集群快 20 倍。这不是技术炫技是面向真实生产环境的务实选择。2.3 阿里云镜像源的深度适配不只是换 URL而是解决“卡在 99%”网络热词里反复出现“阿里云镜像源”、“清华大学镜像源”这背后是一个血泪教训Hermes Agent 的基础镜像基于 Ubuntu 22.04其默认 apt 源在国外。如果你在阿里云 ECS 上直接运行apt update大概率会卡在Reading package lists... 99%半小时不动最终超时失败。一键脚本对此做了三层加固第一层脚本启动时会自动检测你的服务器地域通过curl -s http://100.100.100.200/latest/meta-data/region-id如果是cn-shanghai、cn-beijing等阿里云地域就自动启用阿里云官方 Ubuntu 镜像源http://mirrors.cloud.aliyuncs.com/ubuntu/第二层对于 Docker Hub 的拉取脚本会在~/.docker/daemon.json中写入阿里云容器镜像服务ACR的镜像加速器地址https://your-uid.mirror.aliyuncs.com这个地址需要你提前在阿里云控制台开通 ACR 服务并获取第三层也是最关键的一层脚本内置了一个“镜像 fallback 机制”当它尝试从 Docker Hub 拉取hermes/gateway:latest失败时会自动切换到我们托管在阿里云 ACR 上的同名镜像registry.cn-shanghai.aliyuncs.com/hermes-official/gateway:latest这个镜像与上游完全一致但拉取速度稳定在 20MB/s 以上。这三层不是简单地把https://archive.ubuntu.com替换成https://mirrors.aliyun.com而是结合云厂商元数据、用户账户信息和预同步镜像构建了一条高可用的软件分发链路。你在其他教程里看到的“换源”往往只做了第一层而我们的脚本把后两层也一并解决了。3. 核心细节解析与实操要点从下载到 WebUI 登录的每一步3.1 下载与执行安装脚本别跳过那 3 秒的检查很多新手栽在第一步他们复制curl -sSL https://hermes.sh | bash就回车然后盯着屏幕等结果。这是高风险操作。正确的流程是分三步走先看脚本内容执行curl -sSL https://hermes.sh不加| bash把脚本内容打印到终端。你不需要逐行读懂 Shell 语法但至少扫一眼开头是否有#!/bin/bash中间是否有可疑的rm -rf /或curl http://xxx/malware.sh | bash结尾是否有echo Installation completed这样的明确标识这一步花不了 3 秒却能规避 90% 的供应链攻击风险。我们脚本的开头是标准的#!/usr/bin/env bash结尾是echo ✅ Hermes Agent is ready! Visit http://localhost:3000 in your browser.干净利落。检查系统基础环境脚本在执行前会自动运行check_prerequisites()函数。它会依次检查docker --version是否存在且版本 24.0旧版 Docker 对 cgroup v2 支持不佳会导致 Ollama 容器启动失败docker-compose --version是否存在新版 Docker Desktop 已集成 Compose V2但 Linux 服务器需单独安装free -m | awk NR2{print $7}是否大于 1500空闲内存WebUI 和 Gateway 启动后约占用 1.2Gdf -h / | awk NR2{print $5} | sed s/%//是否小于 85根分区使用率避免日志写满 如果任一检查失败脚本会清晰打印错误例如❌ ERROR: Docker version 20.10.23 is too old. Please upgrade to 24.0 or later.并退出。这时你不要硬着头皮继续而是按提示修复。在阿里云 ECS 上升级 Docker 的标准命令是curl -fsSL https://get.docker.com | sh然后sudo systemctl enable docker sudo systemctl start docker。执行安装确认前两步无误后再执行curl -sSL https://hermes.sh | bash。脚本会自动创建/opt/hermes目录下载docker-compose.yml、.env模板和start.sh启动脚本。整个过程约 90 秒你会看到类似这样的输出 Pulling images... latest: Pulling from hermes/gateway 6a7e5b5f3c1a: Pull complete ... Starting services... Creating network hermes_default with the default driver Creating volume hermes_storage with default driver Creating hermes_gateway_1 ... done Creating hermes_webui_1 ... done ✅ Hermes Agent is ready!提示如果你在执行curl | bash时遇到command not found: curl说明你的系统连最基本的网络工具都没装。在阿里云 ECS 的 CentOS 7/8 镜像上先运行sudo yum install -y curl在 Ubuntu/Debian 上运行sudo apt update sudo apt install -y curl。3.2.env文件那个决定你能否用上 OpenAI 的关键配置安装完成后脚本会提示你编辑/opt/hermes/.env文件。这是整个部署中唯一必须手动修改的文件也是最容易出错的地方。它不是一个简单的 Key-Value 列表而是一份经过精心设计的配置契约。我们来逐行拆解# HERMES CORE CONFIG HERMES_GATEWAY_PORT3000 HERMES_WEBUI_PORT3001 # 这两行定义了服务对外暴露的端口。默认 3000 给 GatewayAPI3001 给 WebUI。 # 如果你服务器的 3000 端口已被 Nginx 占用只需改成 3002脚本会自动更新所有相关配置。 # OPENAI CONFIG (Required for LLM calls) OPENAI_API_KEYsk-... OPENAI_BASE_URLhttps://api.openai.com/v1 # 这是 Hermes 调用大模型的入口。OPENAI_API_KEY 是你的密钥必须填。 # 注意密钥前后**绝对不能有空格或引号**写成 OPENAI_API_KEYsk-... 或 OPENAI_API_KEY sk-... 都会导致 WebUI 启动时报错 Invalid API key format。 # OPENAI_BASE_URL 可以留空此时会使用默认值如果你想用 Azure OpenAI 或其他兼容接口就在这里填入你的 endpoint。 # TAVILY SEARCH CONFIG (Optional but highly recommended) TAVILY_API_KEYtvly-... # Tavily 是一个专为 AI 设计的搜索 API比传统 Google Search API 更懂“问题意图”。 # 它的 Key 获取方式很简单访问 https://tavily.com/注册免费账号进入 Dashboard 复制 API Key。 # 填上这个 Key你的 Hermes Agent 就能自动联网搜索最新信息而不是只靠本地知识库。 # OLLAMA CONFIG (For local LLM inference) OLLAMA_HOSThttp://host.docker.internal:11434 # 这行是给想用本地模型如 Qwen3.5:9b的用户准备的。host.docker.internal 是 Docker 的特殊 DNS 名称 # 它能让容器内的 Hermes 服务无缝访问宿主机上运行的 Ollama 服务假设你已在宿主机 curl http://localhost:11434 能通。 # 如果你没装 Ollama这行可以完全忽略不影响核心功能。最关键的注意事项来了环境变量的值中严禁出现#符号。因为#在.env文件中是注释符。如果你的某个 API Key 里恰好包含#虽然概率极低但并非不可能那么#及其后面的所有字符都会被当作注释丢弃导致 Key 截断。解决方案有两个一是联系服务商重新生成一个不含#的 Key二是如果你确定必须用这个 Key就把它用单引号包裹起来即OPENAI_API_KEYsk-abc#def。单引号内的所有字符都会被原样读取包括#。这个细节是我在帮一位客户排查 WebUI 一直显示 “Model loading failed” 时花了 3 小时逐字符比对才发现的。3.3 WebUI 的首次加载与登录那个被忽略的“初始化向导”当你在浏览器中打开http://你的服务器IP:3001注意是 3001 端口不是 3000你看到的不会是一个空白的登录页。Hermes WebUI 有一个精巧的“首次加载向导”First-Time Setup Wizard它会引导你完成最后三步配置而这三步恰恰是很多教程里一笔带过的盲区选择默认模型向导会列出所有它能探测到的模型源OpenAI来自.env中的配置、Ollama如果OLLAMA_HOST配置正确且可达、以及内置的轻量级模型如 Phi-3。这里的选择直接影响你后续所有对话的质量和速度。我的建议是新手直接选gpt-3.5-turbo稳定、便宜、效果好如果追求极致隐私选qwen3.5:9b需提前在宿主机ollama run qwen3.5:9b下载好千万别选gpt-4o除非你确认自己的 Key 有足够额度否则第一次调用就会因insufficient_quota报错。配置默认工具集Hermes 的核心能力在于“调用工具”。向导会提供一个勾选列表Web Search (Tavily)、Code Interpreter (Python)、File Reader (PDF/DOCX)、Database Query (SQLite)。这里有个隐藏逻辑只有你勾选的工具才会在后续的 Agent 编排界面中出现。如果你没勾选Web Search那么即使你填了TAVILY_API_KEYAgent 也无法联网。所以请务必根据你的需求勾选。我个人的标配是全部勾选因为它们彼此独立不勾选也不会增加资源消耗。设置管理员密码这是 WebUI 的登录凭证与 API Key 完全无关。它采用 bcrypt 加密存储在本地 SQLite 数据库中。密码强度要求是至少 8 位包含大小写字母和数字。设置完成后向导会自动生成一个admin用户并跳转到主界面。此时你才算真正完成了“从零到一”的全过程。整个向导耗时约 45 秒但它省去了你手动执行hermes-cli init --admin-password xxx这类命令的麻烦把复杂度降到了最低。4. 实操过程与核心环节实现从阿里云 ECS 到本地 Mac 的完整复现4.1 阿里云 ECSUbuntu 22.04上的全流程实录这是国内最典型的生产环境。我们以一台ecs.c7.large2核4G40GB ESSD 云盘为例记录从购买服务器到 WebUI 可用的每一步精确到命令和耗时。Step 1服务器初始化耗时 2 分钟登录阿里云控制台购买 ECS镜像选择Ubuntu 22.04 64bit。创建成功后通过 SSH 连入ssh -i your-key.pem ubuntuyour-ecs-ip。更新系统并安装基础工具sudo apt update sudo apt upgrade -y sudo apt install -y curl wget gnupg2 lsb-release ca-certificatesStep 2安装 Docker耗时 1 分钟执行官方一键安装脚本curl -fsSL https://get.docker.com | sh sudo usermod -aG docker ubuntu # 将 ubuntu 用户加入 docker 组免 sudo newgrp docker # 刷新组权限立即生效 docker --version # 验证Docker version 24.0.7, build afdd53bStep 3执行 Hermes 一键部署耗时 3 分钟运行安装命令curl -sSL https://hermes.sh | bash脚本自动检测到阿里云环境启用阿里云镜像源并从 ACR 拉取镜像。全程无卡顿日志显示Pull complete后自动启动服务。Step 4配置.env并重启耗时 30 秒编辑配置文件nano /opt/hermes/.env填入你的OPENAI_API_KEY和TAVILY_API_KEY从各自官网复制。保存退出执行cd /opt/hermes docker-compose down docker-compose up -d重启服务。Step 5安全组放行端口耗时 1 分钟回到阿里云控制台找到该 ECS 实例点击“安全组” - “配置规则”。添加两条入方向规则类型HTTP(80)端口范围3001授权对象0.0.0.0/0允许所有人访问 WebUI类型Custom TCP端口范围3000授权对象0.0.0.0/0允许 API 调用保存后即可在浏览器中访问http://your-ecs-ip:3001。实测心得在阿里云上整个过程从 SSH 登录到 WebUI 显示“Welcome to Hermes”总计耗时7 分 42 秒。最大的时间节省来自于镜像拉取——使用阿里云 ACR 镜像hermes/webui镜像287MB仅用 14 秒就拉取完毕而直连 Docker Hub 则平均需要 3 分 20 秒且有 30% 的失败率。4.2 本地 Mac M2 Pro 上的部署绕过 Rosetta拥抱原生 ARM64Mac 用户常遇到的问题是Docker Desktop 默认运行在 Rosetta 2 模拟层下导致hermes/gateway容器启动缓慢甚至因架构不匹配而崩溃。我们的脚本对此做了专项优化。关键步骤确保你安装的是Docker Desktop for Mac (ARM64)而非 Intel 版本。在 Docker Desktop 设置中勾选Use the new Virtualization frameworkmacOS 13.3。在终端中执行arch确认输出为arm64。运行一键脚本前先执行export DOCKER_DEFAULT_PLATFORMlinux/arm64 curl -sSL https://hermes.sh | bash这个DOCKER_DEFAULT_PLATFORM环境变量会强制 Docker Compose 拉取 ARM64 架构的镜像。我们托管在 ACR 上的hermes/webui:latest镜像是 multi-arch 的包含了linux/amd64和linux/arm64两个平台的 manifest。脚本会自动选择arm64版本启动速度比模拟层快 3 倍CPU 占用率降低 60%。WebUI 访问技巧Mac 上http://localhost:3001可以直接访问。但如果你想从 iPhone 或 iPad 上访问用于演示需要将HERMES_WEBUI_PORT改为8080避开 macOS 的 SIP 保护端口并在 Docker Compose 的webui服务中将ports从- 3001:3001改为- 8080:3001。这样你就可以在手机浏览器中输入http://mac-ip:8080了。4.3 Windows 10 WSL2Ubuntu 22.04的避坑指南Windows 是部署难度最高的平台核心矛盾在于Docker Desktop for Windows 默认将容器网络桥接到 Windows 主机而 WSL2 的 Linux 子系统有自己的虚拟网络。这导致host.docker.internal在 WSL2 中无法解析Ollama 本地调用会失败。终极解决方案亲测有效在 Windows 上以管理员身份运行 PowerShell执行# 获取 WSL2 的 IP 地址 wsl -d Ubuntu-22.04 -u root ip addr show eth0 | grep inet | awk {print $2} | cut -d/ -f1 # 假设输出是 172.28.128.100在 WSL2 的 Ubuntu 中编辑/etc/hostsecho 172.28.128.100 host.docker.internal | sudo tee -a /etc/hosts在/opt/hermes/.env中将OLLAMA_HOST改为http://172.28.128.100:11434。确保 Windows 上的 Ollama 服务已启动ollama serve并且防火墙放行 11434 端口。这个方案绕过了 DNS 解析用最原始的 IP 映射100% 可靠。我曾用此法在一台 2017 款 i5 笔记本上成功让 Hermes Agent 调用本地 Qwen3.5:9b 模型推理速度达到 12 tokens/s完全可用。5. 常见问题与排查技巧实录那些文档里不会写的“血泪经验”5.1 WebUI 打不开浏览器显示 “This site can’t be reached”这是最高频的问题原因有三按发生概率排序现象原因排查命令解决方案curl http://localhost:3001返回Connection refusedWebUI 容器根本没启动docker-compose ps查看webui一栏状态。如果是Exit 1执行docker-compose logs webui90% 是.env文件里OPENAI_API_KEY格式错误或为空。curl http://localhost:3001返回502 Bad GatewayWebUI 启动了但连不上 Gatewaydocker-compose logs gateway检查 Gateway 日志末尾是否有Failed to connect to storage。大概率是storage容器Milvus启动失败执行docker-compose logs storage常见原因是磁盘空间不足或/opt/hermes/storage目录权限不对应为1001:1001。curl http://ecs-ip:3001超时但curl http://localhost:3001正常阿里云安全组未放行端口sudo ufw statusUbuntu或sudo firewall-cmd --list-allCentOS这是云服务器特有问题。必须在阿里云控制台的安全组里添加入方向规则开放 3001 端口。注意docker-compose ps是你的第一道排查利器。它会清晰列出每个服务的状态Up,Exit,Restarting。一个健康的 Hermes 环境所有服务状态都应该是Up后面跟着运行时间如Up 2 minutes。5.2 Agent 执行任务时报错 “Tool execution failed: Connection refused”这个错误意味着 Hermes 的 Orchestrator 服务成功启动了但在调用某个外部工具如 Tavily Search时网络连接被拒绝。根源几乎总是 API Key 配置问题。排查树状图Agent 执行失败 ├── 检查 .env 中 TAVILY_API_KEY 是否填写 → 否填入并 docker-compose restart orchestrator ├── 是检查 Key 是否在 Tavily 官网 Dashboard 中显示为 Active → 否重新生成 Key └── 是检查 Orchestrator 容器日志 docker-compose logs orchestrator \| grep -i tavily ├── 日志显示 Invalid API key → Key 复制时多了空格或换行用 echo $TAVILY_API_KEY \| hexdump -C 检查 └── 日志显示 Connection timed out → 网络问题执行 docker-compose exec orchestrator curl -v https://api.tavily.com/search ├── 返回 200 → Key 有效问题在 Hermes 代码逻辑极罕见 └── 返回 timeout → 容器内 DNS 解析失败执行 docker-compose exec orchestrator cat /etc/resolv.conf确认 nameserver 是 8.8.8.8 或 114.114.114.114我遇到过最诡异的一次是客户的阿里云 ECS 启用了“VPC 内网 DNS”导致容器内curl无法解析api.tavily.com。解决方案是在docker-compose.yml的orchestrator服务下添加dns: [114.114.114.114]配置项强制使用公共 DNS。5.3 使用 Ollama 本地模型时“Model not found” 错误当你在 WebUI 的模型选择下拉框里看不到qwen3.5:9b或者 Agent 执行时提示Model qwen3.5:9b not found on Ollama server请按以下顺序检查宿主机上 Ollama 是否真的在运行在 Windows/macOS/Linux 宿主机上执行ollama list。如果返回NAME ID SIZE MODIFIED表头说明服务正常。如果报错command not found说明 Ollama 没装如果报错Error: Get http://127.0.0.1:11434/api/tags: dial tcp 127.0.0.1:11434: connect: connection refused说明ollama serve进程没启动。Hermes 容器能否访问宿主机的 Ollama在 WSL2 或 Linux 上执行docker-compose exec gateway curl -s http://host.docker.internal:11434/api/tags \| jq .models[].name。如果返回qwen3.5:9b说明网络通畅如果返回curl: (7) Failed to connect说明host.docker.internal解析失败需按 4.3 节方案处理。Ollama 模型是否真的存在ollama list的输出中qwen3.5:9b这一行的SIZE列是否大于0B如果显示0B说明模型只是“注册”了但实际文件没下载。此时在宿主机上执行ollama pull qwen3.5:9b耐心等待 15-30 分钟取决于网速。实操心得在阿里云 ECS 上我习惯把 Ollama 也容器化用docker run -d -p 11434:11434 --name ollama -v /data/ollama:/root/.ollama -e OLLAMA_ORIGINS* ollama/ollama启动。这样/data/ollama目录就是持久化的模型仓库即使 Hermes 容器重建模型也不会丢失。-e OLLAMA_ORIGINS*是关键它允许任何来源包括 Hermes 容器跨域调用。5.4 性能瓶颈与调优当 Hermes 变慢时先看这三处Hermes Agent 的性能瓶颈95% 都集中在 I/O 和网络上而非 CPU。以下是三个最有效的调优点1. 向量数据库Milvus的存储位置默认的docker-compose.yml将 Milvus 的数据卷挂载到/opt/hermes/storage。如果这个目录所在的磁盘是普通云盘如阿里云的高效云盘随机 I/O 性能会很差导致 Agent 在检索知识库时卡顿。解决方案将挂载点改为高性能 SSD 云盘。在阿里云上创建一块 100GB 的 ESSD PL1 云盘挂载到/mnt/hermes-storage然后修改docker-compose.ymlservices: storage: volumes: - /mnt/hermes-storage:/var/lib/milvus实测效果知识库检索延迟从 2.3s 降至 0.4s。2. WebUI 的静态资源缓存Hermes WebUI 的前端资源JS/CSS每次加载都从 Gateway 后端拉取没有利用浏览器缓存。在docker-compose.yml的webui服务中添加environmentenvironment: - REACT_APP_API_BASE_URLhttp://localhost:3000 - REACT_APP_ASSET_PATH/static并在nginx.conf如果前面加了 Nginx 反向代理中为/static路径添加缓存头location /static { expires 1y; add_header Cache-Control public, immutable; }这样用户第二次访问 WebUI90% 的资源都来自浏览器缓存首屏加载时间缩短 60%。3. Gateway 的并发连接数默认的 Uvicorn 服务器Hermes Gateway 的底层最大并发连接数是 100。如果你的 Agent 需要同时处理 50 个用户的请求就会出现排队。在/opt/hermes/.env中添加GATEWAY_WORKERS4 GATEWAY_TIMEOUT_KEEP_ALIVE5 GATEWAY_LIMIT_CONCURRENCY200然后docker-compose restart gateway。这会将并发上限提升至 200足以应对中小团队的日常使用。6. 后续扩展与个性化从“能用”到“好用”的跃迁部署完成只是起点。Hermes Agent 的真正价值在于它是一个可编程的智能体平台。这里分享三个我客户用得最多、也最实用的扩展方向它们都不需要你改一行 Hermes 的源码全是通过配置和插件实现的。6.1 接入阿里云百炼Bailian用国产大模型替代 OpenAI很多企业出于合规和成本考虑希望用阿里云百炼的 Qwen 系列模型。这完全可行只需两步获取百炼 API Key登录 阿里云百炼控制台 进入“API 密钥管理”创建一个新的 AccessKey注意不是 RAM 用户的 AK/SK而是百炼专属的 API Key。修改.env文件将原来的OPENAI_*配置替换为百炼的配置# 注释掉 OpenAI 的配置 # OPENAI_API_KEYsk-... # OPENAI_BASE_URLhttps://api.openai.com/v1 # 启用百炼配置 BAIBIAN_API_KEYak-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx BAIBIAN_ENDPOINThttps://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation BAIBIAN_MODELqwen-max