Hermes Agent 多租户部署需通过基础设施与运行时配置实现隔离,含三种方案:一、ECS硬隔离,租户独享实例;二、容器化软隔离,多命名空间共享服务器;三、单体多配置,动态加载租户上下文。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望在同一套 Hermes Agent 基础设施上为多个独立用户、团队或组织提供隔离服务,则需采用多租户架构部署。Hermes Agent 本身不原生内置多租户控制平面,但可通过基础设施层与运行时配置实现逻辑隔离。以下是三种经验证的多租户部署实现方式:
一、基于独立 ECS 实例的硬隔离多租户方案
该方案为每个租户分配专属 ECS 实例,完全物理/虚拟资源隔离,适用于对数据安全、性能稳定性及合规性要求极高的场景,如金融、政务类客户。租户间无共享组件,互不影响。
1、为每个租户单独开通阿里云 ECS 实例,地域与可用区可根据租户地理位置就近选择。
2、在各实例上分别执行计算巢部署流程,或使用预装 Hermes Agent 的轻量应用服务器镜像完成独立安装。
3、为每个租户单独配置百炼 API Key,并确保所选百炼地域与 API Key 所属地域严格一致,避免跨地域调用导致模型请求失败。
4、为每个租户分配独立子域名(如 tenant1.example.com、tenant2.example.com),通过阿里云 ALB 或 Nginx 反向代理将流量路由至对应 ECS 的 WebUI 安全代理端口。
5、在租户专属实例中执行 sudo su root && hermes 启动服务,每个实例必须使用独立的 MEMORY.md 和 USER.md 文件路径,禁止共享存储卷。
二、基于容器化 + 多命名空间的软隔离多租户方案
该方案利用 Docker Compose 或 Kubernetes Namespace 实现运行时环境隔离,在单台高配服务器上托管多个租户实例,降低资源冗余,适合中小型企业客户批量交付场景。
1、准备一台内存 ≥16GiB、CPU ≥8核 的阿里云 ECS,安装 Docker 与 docker-compose。
2、为每个租户创建独立目录(如 /opt/hermes-tenant-a、/opt/hermes-tenant-b),并在其中分别克隆 Hermes Agent 仓库。
3、在各租户目录下修改 .env 文件,设置唯一 HERMES_INSTANCE_ID 与独立 MEMORY_DIR 路径,确保各租户的 MEMORY.md 不发生路径冲突。
4、为每个租户生成独立的百炼 API Key,并在各自 .env 中配置 BAI_LIAN_API_KEY 与 BAI_LIAN_REGION。
5、使用 docker-compose up -d 分别启动各租户服务,对外暴露不同端口(如 8081、8082),再通过 ALB 按路径前缀(/tenant-a/*)或 Host 头进行路由分发。
三、基于反向代理 + 多配置文件的单体多租户方案
该方案复用同一套 Hermes Agent 进程,通过运行时加载不同配置文件实现租户上下文切换,资源占用最低,适用于轻量级 SaaS 试用场景,但要求租户间信任度高且无需强数据隔离。
1、在 ECS 上部署一套 Hermes Agent 主实例,保持其默认监听端口(如 8000)。
2、为每个租户准备独立配置目录(如 /etc/hermes/tenant-a/),内含专属 config.yaml、MEMORY.md、USER.md 及 skills/ 子目录。
3、编写轻量级路由网关脚本(Python/Node.js),接收 HTTP 请求中的租户标识(如请求头 X-Tenant-ID: tenant-a),动态注入对应配置路径并转发请求至本地 Hermes Agent 进程。
4、在各租户配置目录的 config.yaml 中明确指定 api_key、model_provider 与 workspace_dir,禁止在 config.yaml 中使用相对路径引用上级目录,防止越界读取。
5、启动主 Hermes Agent 进程时添加 --multi-tenant-mode=true 参数(需确认当前 v0.8.0 版本已启用该实验性标志),否则仅支持单配置启动。


















