Docker 部署 Hermes Agent 文件接收配置

Hermes Agent 接收 Telegram 文件的三步配置:config.yaml 加 docker_volumes,.env 删干扰行,重启容器。
Docker 部署 Hermes Agent 文件接收配置

问题

Hermes Agent 通过 Telegram 收不到文件,所有终端操作报错:expected valid JSON。

原因

文件从 Telegram 传到沙箱需要挂载缓存目录。这需要在 config.yaml 里正确配置,同时 .env 里不能有干扰项。

配置

1. 编辑 config.yaml,在 terminal 段下添加 docker_volumes:
极空间 NAS 示例:
必须手动编辑文件,不要用 hermes config set 命令。
2. 检查 .env,删除 TERMINAL_DOCKER_VOLUMES 行(如果有)。
3. 重启 Hermes 容器,删除旧沙箱容器(镜像 nikolaik/python-nodejs),让它自动重建。

验证

发文件给 Hermes,让它执行:
能看到文件列表即成功。

进阶:Hermes 生成的文件也能发给你

上面解决了收文件的问题。如果想让 Hermes 生成的文件(Excel、PDF 等)也能通过 Telegram 发给你,需要知道一个关键点:

网关和沙箱看到的路径不同

网关和沙箱是两个独立容器,虽然挂载了同一个宿主机 cache 目录,但各自看到的路径不一样:
  • 沙箱内路径:/mnt/hermes-cache/documents/ (写文件用这个)
  • 网关内路径:/opt/data/cache/documents/ (发文件用这个)
所以 Hermes 写文件时用沙箱路径,调用 send_message 发送时用网关路径。两者指向同一个宿主机目录,内容相同。
config.yaml 里只需要一行 docker_volumes,无需额外配置:

总结

  • 收文件:用户发到 Telegram → 自动存到 /mnt/hermes-cache/documents/
  • 发文件:沙箱写 /mnt/hermes-cache/documents/xxx → send_message 用 /opt/data/cache/documents/xxx
  • config.yaml 一行 docker_volumes 搞定双向,不需要多行挂载
上一篇
Hermes Agent 接入外部服务:API Key 配置 + Notion 实战
下一篇
【中英对照】美国软实力的终结
Loading...