返回AI问答
Hermes Agent Docker 里为什么读不到本地文件?先查挂载、工作目录和 file 工具

Hermes Agent Docker 里为什么读不到本地文件?先查挂载、工作目录和 file 工具

AI问答 Admin 485 次浏览

Hermes Agent 跑在 Docker 里读不到本地文件,最常见原因不是模型不行,而是宿主机目录没有正确挂载进容器,或者 Hermes Agent 当前工具集里没有启用 file/terminal 能力。容器天然看不到宿主机全部文件,除非你明确把目录映射进去。

先查三件事

  1. Docker 挂载:确认 compose 或 docker run 里有 -v /host/path:/workspace 这类映射。
  2. 容器内路径:在 Hermes Agent 里访问的是 /workspace,不是宿主机的 /Users/you/project
  3. 工具是否启用:检查 hermes tools 或平台工具配置,确保 file / terminal 相关能力没有被关掉。

为什么本地能读,Docker 不行

local backend 是在你的主机上执行命令,天然能读当前用户有权限的文件;Docker backend 是在容器隔离环境里执行,只能看到镜像内文件和挂载目录。Hermes Agent 的安全设计本来就鼓励这种隔离,代价是你必须显式告诉它哪些目录可见。

推荐排查命令

先让 Hermes Agent 在容器内执行 pwdls -la /workspacewhoami,确认路径和权限。若目录存在但无法写入,看宿主机权限、SELinux/AppArmor、Docker Desktop 文件共享设置。若目录根本不存在,说明挂载没进容器。

不要为了省事把整个 home 或根目录挂进去。更好的做法是只挂当前项目目录,并用只读挂载处理不需要写入的资料。

官方开源地址:https://github.com/NousResearch/hermes-agent;官方文档入口:https://hermes-agent.nousresearch.com/

推荐工具

更多