易君召
发布于 2026-04-29 / 0 阅读
0
0

Hermes WebUI与Hermes Agent 共享配置的操作实践

#AI

官方 Hermes WebUI 的 Setup 页面仅修改 WebUI 自身的配置,不会自动同步到 hermes-agent 的主 config.yaml,这是产品设计的特性,并不是问题bug。

官方 hermes-webui 的设计思路:

✅ WebUI 自己有独立配置

不会自动写入 agent 的 /home/hermes/.hermes/config.yaml

不会自动同步模型、provider、base_url 到后端

WebUI ↔ Agent 配置完全同步的方法

方法 1:强制 WebUI 使用 Agent 的同一个配置目录(真正共享 config.yaml)

现在的三容器配置是:

yaml

hermes-agent:
  volumes:
    - hermes-home:/home/hermes/.hermes   # Agent 配置

hermes-webui:
  volumes:
    - hermes-home:/home/hermeswebui/.hermes  # WebUI 自己的配置

两个不同路径 → 两套配置 → 永远不同步!

✅ 修复:让 WebUI 直接读取 / 写入 Agent 的配置目录

修改 docker-compose.three-container.yml 里的 hermes-webui 挂载

WebUI原来的独立挂载

yaml

- hermes-home:/home/hermeswebui/.hermes

改成正确的(强制共用 Agent 配置)

yaml

- hermes-home:/home/hermes/.hermes

同时给 WebUI 加环境变量,告诉它配置路径:

yaml

environment:
  - HERMES_HOME=/home/hermes/.hermes   # 关键!

完整修复后的 hermes-webui 配置

yaml

hermes-webui:
  image: ghcr.io/nesquena/hermes-webui:latest
  container_name: hermes-webui
  depends_on:
    - hermes-agent
  ports:
    - "127.0.0.1:8787:8787"
  volumes:
    # 👇 这一行是修复核心:和 agent 使用同一个配置目录
    - hermes-home:/home/hermes/.hermes

    - hermes-agent-src:/home/hermeswebui/.hermes/hermes-agent
    - ${HERMES_WORKSPACE:-~/workspace}:/workspace
  environment:
    - HERMES_WEBUI_HOST=0.0.0.0
    - HERMES_WEBUI_PORT=8787
    # 👇 关键环境变量:让 WebUI 知道配置在哪里
    - HERMES_HOME=/home/hermes/.hermes

    - WANTED_UID=${UID:-1000}
    - WANTED_GID=${GID:-1000}
  restart: unless-stopped
  networks:
    - hermes-net

然后重启(必须执行)

sudo docker compose -f docker-compose.three-container.yml down
sudo docker compose -f docker-compose.three-container.yml up -d

✅ 现在效果

  1. WebUI Setup 页面修改模型

  2. 直接写入 agent 的 config.yaml

  3. hermes-agent 立即读取

  4. 三容器完全同步

  5. 永久生效、不丢失

方法 2(最简单,不想改 compose 就用这个)

如果不想改 yaml,直接手动保持配置一致即可

  1. WebUI Setup 填写模型

  2. 把同样内容复制到 config.yaml

  3. 重启容器

这是目前 90% 用户的做法。

最终总结

  1. WebUI 默认不写 agent 配置,是官方设计

  2. 真正同步 = 让 WebUI 和 Agent 挂载同一个配置目录

  3. 改完 compose → 重启 → 永久解决


评论